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 String
Default digest method.private final org.slf4j.Logger
Logger. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected SecretKey
deriveSecretKey
(byte[] secret, String keyAlgorithm, KeyAgreementParameters parameters) Derive aSecretKey
from 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.The key agreement algorithm URI.protected Credential
obtainPrivateCredential
(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
private final org.slf4j.Logger logLogger.
-
-
Constructor Details
-
DHWithLegacyKDFKeyAgreementProcessor
public DHWithLegacyKDFKeyAgreementProcessor()
-
-
Method Details
-
getAlgorithm
The key agreement algorithm URI.- Returns:
- the algorithm
-
obtainPrivateCredential
protected Credential obtainPrivateCredential(@Nonnull Credential publicCredential, @Nonnull KeyAgreementParameters parameters) throws KeyAgreementException Obtain the private credential which is compatible with the given public credential.- Overrides:
obtainPrivateCredential
in 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
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:
generateAgreementSecret
in 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
protected SecretKey deriveSecretKey(byte[] secret, @Nonnull String keyAlgorithm, @Nonnull KeyAgreementParameters parameters) throws KeyAgreementException Derive aSecretKey
from a given secret.- Specified by:
deriveSecretKey
in 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
-