@Override protected JWEDecrypter buildDecrypter() { try { if (DirectDecrypter.SUPPORTED_ALGORITHMS.contains(algorithm)) { return new DirectDecrypter(this.secret); } else { return new AESDecrypter(this.secret); } } catch (final KeyLengthException e) { throw new TechnicalException(e); } }
@Override public Optional<DecryptedData> decryptData(byte[] data, String password) { try { SecretKey key = getSecretKey(password); JWEObject jweObject = JWEObject.parse(new String(data)); JWEDecrypter decrypter = new AESDecrypter(key.getEncoded()); jweObject.decrypt(decrypter); return Optional.of(new DecryptedData(jweObject.getPayload().toBytes())); } catch (Exception e) { log.error("Error encryption data. Data can't be parsed : {}", e); } return Optional.empty(); }
@Override public Optional<DecryptedData> decryptData(byte[] data, String password) { try { SecretKey key = getSecretKey(password); JWEObject jweObject = JWEObject.parse(new String(data)); JWEDecrypter decrypter = new AESDecrypter(key.getEncoded()); jweObject.decrypt(decrypter); return Optional.of(new DecryptedData(jweObject.getPayload().toBytes())); } catch (Exception e) { log.error("Error encryption data. Data can't be parsed : {}", e); } return Optional.empty(); }
AESDecrypter aesDecrypter = new AESDecrypter(aesKey);