spMetadata.getKeyPair().getPrivate()); StaticKeyInfoCredentialResolver keyInfoResolver = new StaticKeyInfoCredentialResolver(credential); EncryptedKeyResolver keyResolver = new InlineEncryptedKeyResolver(); Decrypter decrypter = new Decrypter(null, keyInfoResolver, keyResolver); decrypter.setRootInNewDocument(true);
/** {@inheritDoc} */ public Iterable<EncryptedKey> resolve(EncryptedData encryptedData) { List<EncryptedKey> resolvedEncKeys = new ArrayList<EncryptedKey>(); if (encryptedData.getKeyInfo() == null) { return resolvedEncKeys; } for (EncryptedKey encKey : encryptedData.getKeyInfo().getEncryptedKeys()) { if (matchRecipient(encKey.getRecipient())) { resolvedEncKeys.add(encKey); } } return resolvedEncKeys; }
/** {@inheritDoc} */ public Iterable<EncryptedKey> resolve(EncryptedData encryptedData) { List<EncryptedKey> resolvedEncKeys = new ArrayList<EncryptedKey>(); if (encryptedData.getKeyInfo() == null) { return resolvedEncKeys; } for (EncryptedKey encKey : encryptedData.getKeyInfo().getEncryptedKeys()) { if (matchRecipient(encKey.getRecipient())) { resolvedEncKeys.add(encKey); } } return resolvedEncKeys; }
/** * Decrypt an assertion using the privkey stored in SPConfig. */ private Assertion decrypt(EncryptedAssertion encrypted) throws DecryptionException { if (spConfig.getPrivateKey() == null) throw new DecryptionException("Encrypted assertion found but no SP key available"); BasicCredential cred = new BasicCredential(); cred.setPrivateKey(spConfig.getPrivateKey()); StaticKeyInfoCredentialResolver resolver = new StaticKeyInfoCredentialResolver(cred); Decrypter decrypter = new Decrypter(null, resolver, new InlineEncryptedKeyResolver()); decrypter.setRootInNewDocument(true); return decrypter.decrypt(encrypted); }