Class DHWithLegacyKDFKeyAgreementProcessor
java.lang.Object
org.opensaml.xmlsec.agreement.impl.AbstractKeyAgreementProcessor
org.opensaml.xmlsec.agreement.impl.DHWithLegacyKDFKeyAgreementProcessor
- All Implemented Interfaces:
KeyAgreementProcessor
Implementation of
KeyAgreementProcessor which performs Diffie-Hellman
Ephemeral-Static Mode key agreement with Legacy Key Derivation Function as defined in XML Encryption 1.1.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringDefault digest method.private final org.slf4j.LoggerLogger. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected SecretKeyderiveSecretKey(byte[] secret, String keyAlgorithm, KeyAgreementParameters parameters) Derive aSecretKeyfrom a given secret.protected byte[]generateAgreementSecret(Credential publicCredential, Credential privateCredential, KeyAgreementParameters parameters) Generate the agreement secret according to the key algorithm and using the supplied public and private credentials.protected CredentialobtainPrivateCredential(Credential publicCredential, KeyAgreementParameters parameters) Obtain the private credential which is compatible with the given public credential.Methods inherited from class org.opensaml.xmlsec.agreement.impl.AbstractKeyAgreementProcessor
buildKeyAgreementCredential, execute
-
Field Details
-
DEFAULT_DIGEST_METHOD
Default digest method.- See Also:
-
log
@Nonnull private final org.slf4j.Logger logLogger.
-
-
Constructor Details
-
DHWithLegacyKDFKeyAgreementProcessor
public DHWithLegacyKDFKeyAgreementProcessor()
-
-
Method Details
-
getAlgorithm
-
obtainPrivateCredential
@Nullable protected Credential obtainPrivateCredential(@Nonnull Credential publicCredential, @Nonnull KeyAgreementParameters parameters) throws KeyAgreementException Obtain the private credential which is compatible with the given public credential.- Overrides:
obtainPrivateCredentialin classAbstractKeyAgreementProcessor- Parameters:
publicCredential- the public credentialparameters- the key agreement parameters- Returns:
- the obtained private credential
- Throws:
KeyAgreementException- if private credential can not be obtained
-
generateAgreementSecret
@Nonnull protected byte[] generateAgreementSecret(@Nonnull Credential publicCredential, @Nonnull Credential privateCredential, @Nonnull KeyAgreementParameters parameters) throws KeyAgreementException Generate the agreement secret according to the key algorithm and using the supplied public and private credentials.- Specified by:
generateAgreementSecretin classAbstractKeyAgreementProcessor- Parameters:
publicCredential- the public credentialprivateCredential- the private credentialparameters- the key agreement parameters- Returns:
- the secret produced by the key agreement operation
- Throws:
KeyAgreementException- if secret generation fails
-
deriveSecretKey
@Nonnull protected SecretKey deriveSecretKey(@Nonnull byte[] secret, @Nonnull String keyAlgorithm, @Nonnull KeyAgreementParameters parameters) throws KeyAgreementException Derive aSecretKeyfrom a given secret.- Specified by:
deriveSecretKeyin classAbstractKeyAgreementProcessor- Parameters:
secret- the input secretkeyAlgorithm- the JCA key algorithm for the derived keyparameters- the key agreement parameters- Returns:
- the derived secret key
- Throws:
KeyAgreementException- if key derivation operation does not complete successfully
-