Class Decrypter


  • public class Decrypter
    extends Decrypter
    Class which implements SAML2-specific options for EncryptedElementType objects.

    For information on other parameters and options, and general XML Encryption issues, see Decrypter.

    • Field Detail

      • log

        private final org.slf4j.Logger log
        Class logger.
    • Constructor Detail

      • Decrypter

        public Decrypter​(DecryptionParameters params)
        Constructor.
        Parameters:
        params - decryption parameters to use
      • Decrypter

        public Decrypter​(@Nullable
                         KeyInfoCredentialResolver newResolver,
                         @Nullable
                         KeyInfoCredentialResolver newKEKResolver,
                         @Nullable
                         EncryptedKeyResolver newEncKeyResolver)
        Constructor.
        Parameters:
        newResolver - resolver for data encryption keys.
        newKEKResolver - resolver for key encryption keys.
        newEncKeyResolver - resolver for EncryptedKey elements
      • Decrypter

        public Decrypter​(@Nullable
                         KeyInfoCredentialResolver newResolver,
                         @Nullable
                         KeyInfoCredentialResolver newKEKResolver,
                         @Nullable
                         EncryptedKeyResolver newEncKeyResolver,
                         @Nullable
                         Collection<String> includeAlgos,
                         @Nullable
                         Collection<String> excludeAlgos)
        Constructor.
        Parameters:
        newResolver - resolver for data encryption keys.
        newKEKResolver - resolver for key encryption keys.
        newEncKeyResolver - resolver for EncryptedKey elements
        includeAlgos - collection of included algorithm URIs
        excludeAlgos - collection of excluded algorithm URIs
    • Method Detail

      • decrypt

        public SAMLObject decrypt​(@Nonnull
                                  EncryptedID encryptedID)
                           throws DecryptionException
        Decrypt the specified EncryptedID.

        Note that an EncryptedID can contain a NameID, an Assertion or a BaseID. It is up to the caller to determine the type of the resulting SAMLObject.

        Parameters:
        encryptedID - the EncryptedID to decrypt
        Returns:
        an XMLObject
        Throws:
        DecryptionException - thrown when decryption generates an error
      • decrypt

        public NewID decrypt​(@Nonnull
                             NewEncryptedID newEncryptedID)
                      throws DecryptionException
        Decrypt the specified NewEncryptedID.
        Parameters:
        newEncryptedID - the NewEncryptedID to decrypt
        Returns:
        a NewID
        Throws:
        DecryptionException - thrown when decryption generates an error
      • decryptData

        private SAMLObject decryptData​(@Nonnull
                                       EncryptedElementType encElement)
                                throws DecryptionException
        Decrypt the specified instance of EncryptedElementType, and return it as an instance of the specified QName.
        Parameters:
        encElement - the EncryptedElementType to decrypt
        Returns:
        the decrypted SAMLObject
        Throws:
        DecryptionException - thrown when decryption generates an error
      • logPostDecryption

        private void logPostDecryption​(XMLObject xmlObject)
        Log the target object after decryption.
        Parameters:
        xmlObject - the decrypted XMLObject