@Override public Iterable<Key> query(String projectId) { return keyRepository.findByProjectId(projectId); }
@Override public void delete(String projectId, String id) throws NotFoundException { Key keyToDelete = keyRepository.findFirstByIdAndProjectId(id, projectId); if (keyToDelete == null) { throw new NotFoundException("Not found key with id " + id); } keyRepository.delete(id); }
@Override public Key queryByName(String projectId, String name) { return keyRepository.findKey(projectId, name); }
@Override public String generateKey(String projectId, String name) throws IOException, NoSuchAlgorithmException, AlreadyExistingException { log.debug("Generating keypair"); if (keyRepository.findKey(projectId, name) != null) throw new AlreadyExistingException("A key with the name " + name + " exists already."); KeyPair keyPair = KeyHelper.generateRSAKey(); RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate(); RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic(); String publicKeyString = KeyHelper.encodePublicKey(publicKey, name); Key key = new Key(); key.setName(name); key.setProjectId(projectId); key.setFingerprint(KeyHelper.calculateFingerprint(publicKey.getEncoded())); key.setPublicKey(publicKeyString); log.debug(publicKeyString); keyRepository.save(key); log.info("Added new key: " + key); return KeyHelper.parsePrivateKey(privateKey.getEncoded()); }
@Override public Key queryById(String projectId, String id) { return keyRepository.findFirstByIdAndProjectId(id, projectId); }
@Override public Key addKey(String projectId, String name, String key) throws NoSuchAlgorithmException, BadFormatException, AlreadyExistingException { if (keyRepository.findKey(projectId, name) != null) throw new AlreadyExistingException("A key with the name " + name + " exists already."); Key keyToAdd = new Key(); keyToAdd.setName(name); keyToAdd.setProjectId(projectId); keyToAdd.setPublicKey(key); keyToAdd.setFingerprint(KeyHelper.calculateFingerprint(KeyHelper.parsePublicKey(key))); keyRepository.save(keyToAdd); return keyToAdd; } }
@Override public Key findKey(String projectId, String name) { Iterable<Key> keys = keyRepository.findByProjectId(projectId); for (Key key : keys) { if (key.getName().equals(name)) return key; } return null; } }
private DeployNSRBody getDeployNSRBody( List keys, Map vduVimInstances, Map configurations, String projectId) { DeployNSRBody body = new DeployNSRBody(); if (vduVimInstances == null) { body.setVduVimInstances(new HashMap<>()); } else { body.setVduVimInstances(vduVimInstances); } if (configurations == null) { body.setConfigurations(new HashMap()); } else { body.setConfigurations(configurations); } if (keys == null) { body.setKeys(null); } else { Set<Key> keys1 = new LinkedHashSet<>(); for (Object k : keys) { log.debug("Looking for keyname: " + k); keys1.add(keyRepository.findKey(projectId, (String) k)); } body.setKeys(keys1); log.debug("Found keys: " + body.getKeys()); } return body; }
for (String keyName : nsrRepository.findFirstById(virtualNetworkFunctionRecord.getParent_ns_id()).getKeyNames()) { keys.add(keyRepository.findKey(virtualNetworkFunctionRecord.getProjectId(), keyName));
for (Object k : keys) { log.debug("Looking for keyname: " + k); Key key = keyRepository.findKey(projectID, (String) k); if (key == null) { throw new NotFoundException("No key found with name: " + k);