Class SAMLDecryptionKeysLocator

java.lang.Object
org.keycloak.protocol.saml.SAMLDecryptionKeysLocator
All Implemented Interfaces:
XMLEncryptionUtil.DecryptionKeyLocator

public class SAMLDecryptionKeysLocator extends Object implements 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>