Builds all the encrypters and decrypters for this service based on the key map.
223 for (Map.Entry<String, JWK> jwkEntry :
keys.entrySet()) {
225 String
id = jwkEntry.getKey();
226 JWK jwk = jwkEntry.getValue();
228 if (jwk instanceof RSAKey) {
231 RSAEncrypter encrypter =
new RSAEncrypter((RSAKey) jwk);
232 encrypter.getJCAContext().setProvider(BouncyCastleProviderSingleton.getInstance());
235 if (jwk.isPrivate()) {
236 RSADecrypter decrypter =
new RSADecrypter((RSAKey) jwk);
237 decrypter.getJCAContext().setProvider(BouncyCastleProviderSingleton.getInstance());
240 logger.warn(
"No private key for key #" + jwk.getKeyID());
242 }
else if (jwk instanceof ECKey) {
246 ECDHEncrypter encrypter =
new ECDHEncrypter((ECKey) jwk);
247 encrypter.getJCAContext().setProvider(BouncyCastleProviderSingleton.getInstance());
250 if (jwk.isPrivate()) {
251 ECDHDecrypter decrypter =
new ECDHDecrypter((ECKey) jwk);
252 decrypter.getJCAContext().setProvider(BouncyCastleProviderSingleton.getInstance());
255 logger.warn(
"No private key for key # " + jwk.getKeyID());
258 }
else if (jwk instanceof OctetSequenceKey) {
261 DirectEncrypter encrypter =
new DirectEncrypter((OctetSequenceKey) jwk);
262 encrypter.getJCAContext().setProvider(BouncyCastleProviderSingleton.getInstance());
263 DirectDecrypter decrypter =
new DirectDecrypter((OctetSequenceKey) jwk);
264 decrypter.getJCAContext().setProvider(BouncyCastleProviderSingleton.getInstance());
270 logger.warn(
"Unknown key type: " + jwk);
Map< String, JWEDecrypter > decrypters
Definition: DefaultJWTEncryptionAndDecryptionService.java:69
Map< String, JWK > keys
Definition: DefaultJWTEncryptionAndDecryptionService.java:78
static final Logger logger
Definition: DefaultJWTEncryptionAndDecryptionService.java:63
Map< String, JWEEncrypter > encrypters
Definition: DefaultJWTEncryptionAndDecryptionService.java:66