# Uses of Interface
org.opensaml.xmlsec.algorithm.AlgorithmDescriptor

Packages that use AlgorithmDescriptor
Package
Description
org.opensaml.xmlsec.algorithm
Configuration and support classes for security algorithms.
org.opensaml.xmlsec.algorithm.descriptors
Algorithm descriptor classes.

## Uses of AlgorithmDescriptor in org.opensaml.xmlsec.algorithm

Subinterfaces of AlgorithmDescriptor in org.opensaml.xmlsec.algorithm
Modifier and Type
Interface
Description
`interface`
`BlockEncryptionAlgorithm`
Interface for block encryption algorithm descriptors.
`interface`
`DigestAlgorithm`
Interface for digest algorithm descriptors.
`interface`
`KeyAgreementAlgorithm`
Interface for key agreement algorithm descriptors.
`interface`
`KeyLengthSpecifiedAlgorithm`
Interface for algorithm descriptors which specify a key length.
`interface`
`KeySpecifiedAlgorithm`
Interface for algorithm descriptors which specify a key type.
`interface`
`KeyTransportAlgorithm`
Interface for key transport algorithm descriptors.
`interface`
`MACAlgorithm`
Interface for message authentication code (MAC) algorithm descriptors.
`interface`
`SignatureAlgorithm`
Interface for signature algorithm descriptors.
`interface`
`SymmetricKeyWrapAlgorithm`
Interface for symmetric key wrap algorithm descriptors.
Fields in org.opensaml.xmlsec.algorithm with type parameters of type AlgorithmDescriptor
Modifier and Type
Field
Description
`private Map<String,AlgorithmDescriptor>`
AlgorithmRegistry.`descriptors`
Map of registered algorithm descriptors.
Methods in org.opensaml.xmlsec.algorithm that return AlgorithmDescriptor
Modifier and Type
Method
Description
`AlgorithmDescriptor`
AlgorithmRegistry.`get(String algorithmURI)`
Get the algorithm descriptor instance associated with the specified algorithm URI.
Methods in org.opensaml.xmlsec.algorithm that return types with arguments of type AlgorithmDescriptor
Modifier and Type
Method
Description
`Set<AlgorithmDescriptor>`
AlgorithmRegistry.`getRegisteredByType(AlgorithmDescriptor.AlgorithmType type)`
Get the set of `AlgorithmDescriptor` registered for the given type.
Methods in org.opensaml.xmlsec.algorithm with parameters of type AlgorithmDescriptor
Modifier and Type
Method
Description
`private boolean`
AlgorithmRegistry.`checkCipherSupportedKeyLength(AlgorithmDescriptor descriptor)`
Check if the key length of the specified `Cipher`-based algorithm, if known, is supported by the current runtime.
`static boolean`
AlgorithmSupport.`checkKeyAlgorithmAndLength(Key key, AlgorithmDescriptor algorithm)`
Check that the supplied key is consistent with the supplied algorithm's specified key algorithm and key length, where applicable.
`private boolean`
AlgorithmRegistry.`checkRuntimeSupports(AlgorithmDescriptor descriptor)`
Evaluate whether the algorithm is supported by the current runtime environment.
`private boolean`
AlgorithmRegistry.`checkSpecialCasesRuntimeSupport(AlgorithmDescriptor descriptor)`
Check for special cases of runtime support which failed the initial simple service class load check.
`static boolean`
AlgorithmSupport.`credentialSupportsAlgorithmForEncryption(Credential credential, AlgorithmDescriptor algorithm)`
Check whether the supplied credential may be used with the supplied algorithm for the purpose of encryption.
`static boolean`
AlgorithmSupport.`credentialSupportsAlgorithmForSigning(Credential credential, AlgorithmDescriptor algorithm)`
Check whether the supplied credential may be used with the supplied algorithm for the purpose of signing.
`private void`
AlgorithmRegistry.`deindex(AlgorithmDescriptor descriptor)`
Remove the algorithm descriptor from the indexes which support the various lookup methods available via the registry's API.
`void`
AlgorithmRegistry.`deregister(AlgorithmDescriptor descriptor)`
Deregister an algorithm.
`private void`
AlgorithmRegistry.`index(AlgorithmDescriptor descriptor)`
Add the algorithm descriptor to the indexes which support the various lookup methods available via the registry's API.
`static boolean`
AlgorithmSupport.`isDataEncryptionAlgorithm(AlgorithmDescriptor algorithm)`
Check whether the supplied descriptor represents an algorithm that my be used for data encryption, i.e.
`static boolean`
AlgorithmSupport.`isKeyEncryptionAlgorithm(AlgorithmDescriptor algorithm)`
Check whether the supplied descriptor represents an algorithm that my be used for key encryption, i.e.
`void`
AlgorithmRegistry.`register(AlgorithmDescriptor descriptor)`
Register an algorithm.

## Uses of AlgorithmDescriptor in org.opensaml.xmlsec.algorithm.descriptors

Classes in org.opensaml.xmlsec.algorithm.descriptors that implement AlgorithmDescriptor
Modifier and Type
Class
Description
`final class`
`BlockEncryptionAES128CBC`
Algorithm descriptor for block encryption algorithm: AES-128-CBC.
`final class`
`BlockEncryptionAES128GCM`
Algorithm descriptor for block encryption algorithm: AES-128-GCM.
`final class`
`BlockEncryptionAES192CBC`
Algorithm descriptor for block encryption algorithm: AES-192-CBC.
`final class`
`BlockEncryptionAES192GCM`
Algorithm descriptor for block encryption algorithm: AES-192-GCM.
`final class`
`BlockEncryptionAES256CBC`
Algorithm descriptor for block encryption algorithm: AES-256-CBC.
`final class`
`BlockEncryptionAES256GCM`
Algorithm descriptor for block encryption algorithm: AES-256-GCM.
`final class`
`BlockEncryptionDESede`
Algorithm descriptor for block encryption algorithm: DESede-CBC.
`final class`
`DigestMD5`
Algorithm descriptor for digest algorithm: MD5.
`final class`
`DigestRIPEMD160`
Algorithm descriptor for digest algorithm: RIPEMD160.
`final class`
`DigestSHA1`
Algorithm descriptor for digest algorithm: SHA-1.
`final class`
`DigestSHA224`
Algorithm descriptor for digest algorithm: SHA-256.
`final class`
`DigestSHA256`
Algorithm descriptor for digest algorithm: SHA-256.
`final class`
`DigestSHA3_224`
Algorithm descriptor for digest algorithm: SHA3-224.
`final class`
`DigestSHA3_256`
Algorithm descriptor for digest algorithm: SHA3-256.
`final class`
`DigestSHA3_384`
Algorithm descriptor for digest algorithm: SHA3-384.
`final class`
`DigestSHA3_512`
Algorithm descriptor for digest algorithm: SHA3-512.
`final class`
`DigestSHA384`
Algorithm descriptor for digest algorithm: SHA-384.
`final class`
`DigestSHA512`
Algorithm descriptor for digest algorithm: SHA-512.
`final class`
`HMACMD5`
Algorithm descriptor for MAC algorithm: HMAC MD5.
`final class`
`HMACRIPEMD160`
Algorithm descriptor for MAC algorithm: HMAC RIPEMD160.
`final class`
`HMACSHA1`
Algorithm descriptor for MAC algorithm: HMAC SHA-1.
`final class`
`HMACSHA224`
Algorithm descriptor for MAC algorithm: HMAC SHA-256.
`final class`
`HMACSHA256`
Algorithm descriptor for MAC algorithm: HMAC SHA-256.
`final class`
`HMACSHA384`
Algorithm descriptor for MAC algorithm: HMAC SHA-384.
`final class`
`HMACSHA512`
Algorithm descriptor for MAC algorithm: HMAC SHA-512.
`final class`
`KeyAgreementDHExplicitKDF`
Algorithm descriptor for key agreement: Diffie-Hellman with Explicit KDF.
`final class`
`KeyAgreementDHLegacyKDF`
Algorithm descriptor for key agreement: Diffie-Hellman with Legacy KDF.
`final class`
`KeyAgreementECDH`
Algorithm descriptor for key agreement: Elliptic Curve Diffie-Hellman Ephemeral-Static Mode.
`final class`
`KeyTransportRSA15`
Algorithm descriptor for key transport algorithm: RSA v1.5.
`final class`
`KeyTransportRSAOAEP`
Algorithm descriptor for key transport algorithm: RSA OAEP.
`final class`
`KeyTransportRSAOAEPMGF1P`
Algorithm descriptor for key transport algorithm: RSA OAEP MGF1P.
`final class`
`SignatureDSASHA1`
Algorithm descriptor for signature algorithm: DSA SHA-1.
`final class`
`SignatureDSASHA256`
Algorithm descriptor for signature algorithm: DSA SHA-1.
`final class`
`SignatureECDSASHA1`
Algorithm descriptor for signature algorithm: ECDSA SHA-1.
`final class`
`SignatureECDSASHA224`
Algorithm descriptor for signature algorithm: ECDSA SHA-256.
`final class`
`SignatureECDSASHA256`
Algorithm descriptor for signature algorithm: ECDSA SHA-256.
`final class`
`SignatureECDSASHA384`
Algorithm descriptor for signature algorithm: ECDSA SHA-384.
`final class`
`SignatureECDSASHA512`
Algorithm descriptor for signature algorithm: ECDSA SHA-512.
`final class`
`SignatureRSAMD5`
Algorithm descriptor for signature algorithm: RSA MD5.
`final class`
`SignatureRSARIPEMD160`
Algorithm descriptor for signature algorithm: RSA RIPEMD160.
`final class`
`SignatureRSASHA1`
Algorithm descriptor for signature algorithm: RSA SHA-1.
`final class`
`SignatureRSASHA224`
Algorithm descriptor for signature algorithm: RSA SHA-256.
`final class`
`SignatureRSASHA256`
Algorithm descriptor for signature algorithm: RSA SHA-256.
`final class`
`SignatureRSASHA384`
Algorithm descriptor for signature algorithm: RSA SHA-384.
`final class`
`SignatureRSASHA512`
Algorithm descriptor for signature algorithm: RSA SHA-512.
`final class`
`SignatureRSASSA_PSS_SHA1_MGF1`
Algorithm descriptor for signature algorithm: RSASSA-PSS SHA-1 with MGF1.
`final class`
`SignatureRSASSA_PSS_SHA224_MGF1`
Algorithm descriptor for signature algorithm: RSASSA-PSS SHA-224 with MGF1.
`final class`
`SignatureRSASSA_PSS_SHA256_MGF1`
Algorithm descriptor for signature algorithm: RSASSA-PSS SHA-256 with MGF1.
`final class`
`SignatureRSASSA_PSS_SHA3_224_MGF1`
Algorithm descriptor for signature algorithm: RSASSA-PSS SHA3-224 with MGF1.
`final class`
`SignatureRSASSA_PSS_SHA3_256_MGF1`
Algorithm descriptor for signature algorithm: RSASSA-PSS SHA3-256 with MGF1.
`final class`
`SignatureRSASSA_PSS_SHA3_384_MGF1`
Algorithm descriptor for signature algorithm: RSASSA-PSS SHA3-384 with MGF1.
`final class`
`SignatureRSASSA_PSS_SHA3_512_MGF1`
Algorithm descriptor for signature algorithm: RSASSA-PSS SHA3-512 with MGF1.
`final class`
`SignatureRSASSA_PSS_SHA384_MGF1`
Algorithm descriptor for signature algorithm: RSASSA-PSS SHA-384 with MGF1.
`final class`
`SignatureRSASSA_PSS_SHA512_MGF1`
Algorithm descriptor for signature algorithm: RSASSA-PSS SHA-512 with MGF1.
`final class`
`SymmetricKeyWrapAES128`
Algorithm descriptor for symmetric key wrap algorithm: AES-128.
`final class`
`SymmetricKeyWrapAES192`
Algorithm descriptor for symmetric key wrap algorithm: AES-192.
`final class`
`SymmetricKeyWrapAES256`
Algorithm descriptor for symmetric key wrap algorithm: AES-256.
`final class`
`SymmetricKeyWrapDESede`
Algorithm descriptor for symmetric key wrap algorithm: DESede.