DirectDecrypter decrypter = new DirectDecrypter((OctetSequenceKey) jwk); decrypter.getJCAContext().setProvider(BouncyCastleProviderSingleton.getInstance());
@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); } }
private JWEDecrypter getDecrypter() throws JOSEException, KrbException { if (decryptionKey instanceof RSAPrivateKey) { return new RSADecrypter((RSAPrivateKey) decryptionKey); } else if (decryptionKey instanceof byte[]) { return new DirectDecrypter((byte[]) decryptionKey); } throw new KrbException("An unknown decryption key was specified"); }
private JWEDecrypter getDecrypter() throws JOSEException, KrbException { if (decryptionKey instanceof RSAPrivateKey) { return new RSADecrypter((RSAPrivateKey) decryptionKey); } else if (decryptionKey instanceof byte[]) { return new DirectDecrypter((byte[]) decryptionKey); } throw new KrbException("An unknown decryption key was specified"); }
private String decrypt(String encrypted, byte[] key) { try { JWEObject jweObject = JWEObject.parse(encrypted); jweObject.decrypt(new DirectDecrypter(key)); return jweObject.getPayload().toString(); } catch (JOSEException | ParseException e) { throw new IllegalStateException(e); } }
public static JWTClaimsSet deserialize(String serializedToken, byte[] key) { try { JWEObject jweObject = JWEObject.parse(serializedToken); jweObject.decrypt(new DirectDecrypter(key)); SignedJWT signedJWT = jweObject.getPayload().toSignedJWT(); signedJWT.verify(new MACVerifier(key)); JWTClaimsSet jwtClaimsSet = signedJWT.getJWTClaimsSet(); return jwtClaimsSet; } catch (ParseException e) { throw new IllegalStateException(e); } catch (JOSEException e) { throw new IllegalStateException(e); } } }
public IdentityReference deserialize(String token) throws Exception { String sToken = new String(Base64.getDecoder().decode(token)); // Parse the JWE string JWEObject jweObject = JWEObject.parse(sToken); // Decrypt with shared key jweObject.decrypt(new DirectDecrypter(secretKey.getEncoded())); // Extract payload SignedJWT signedJWT = jweObject.getPayload().toSignedJWT(); // Check the HMAC signedJWT.verify(new MACVerifier(secretKey.getEncoded())); // Retrieve the JWT claims return new IdentityReference(signedJWT.getJWTClaimsSet().getIssuer(), signedJWT.getJWTClaimsSet().getSubject()); } }
public IdentityReference deserialize(String token) throws Exception { String sToken = new String(Base64.getDecoder().decode(token)); // Parse the JWE string JWEObject jweObject = JWEObject.parse(sToken); // Decrypt with shared key jweObject.decrypt(new DirectDecrypter(secretKey.getEncoded())); // Extract payload SignedJWT signedJWT = jweObject.getPayload().toSignedJWT(); // Check the HMAC signedJWT.verify(new MACVerifier(secretKey.getEncoded())); // Retrieve the JWT claims return new IdentityReference(signedJWT.getJWTClaimsSet().getIssuer(), signedJWT.getJWTClaimsSet().getSubject()); } }
DirectDecrypter directDecrypter = new DirectDecrypter(aesKey);