Package org.keycloak.protocol.saml
Class SAMLDecryptionKeysLocator
java.lang.Object
org.keycloak.protocol.saml.SAMLDecryptionKeysLocator
- All Implemented Interfaces:
org.keycloak.saml.processing.core.util.XMLEncryptionUtil.DecryptionKeyLocator
public class SAMLDecryptionKeysLocator
extends Object
implements org.keycloak.saml.processing.core.util.XMLEncryptionUtil.DecryptionKeyLocator
This implementation locates the decryption keys within realm keys.
It filters realm keys based on algorithm provided within
EncryptedData
Example of encrypted data:
<xenc:EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
<ds:KeyInfo>
<xenc:EncryptedKey>
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"/>
<xenc:CipherData>
<xenc:CipherValue>
.....
</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedKey>
</ds:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>
...
</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
-
Constructor Summary
ConstructorsConstructorDescriptionSAMLDecryptionKeysLocator(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, String requestedAlgorithm) -
Method Summary
Modifier and TypeMethodDescriptiongetKeys(org.apache.xml.security.encryption.EncryptedData encryptedData)
-
Constructor Details
-
SAMLDecryptionKeysLocator
public SAMLDecryptionKeysLocator(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, String requestedAlgorithm)
-
-
Method Details
-
getKeys
- Specified by:
getKeysin interfaceorg.keycloak.saml.processing.core.util.XMLEncryptionUtil.DecryptionKeyLocator
-