Class DHWithExplicitKDFKeyAgreementProcessor
java.lang.Object
org.opensaml.xmlsec.agreement.impl.AbstractKeyAgreementProcessor
org.opensaml.xmlsec.agreement.impl.AbstractDerivationKeyAgreementProcessor
org.opensaml.xmlsec.agreement.impl.DHWithExplicitKDFKeyAgreementProcessor
- All Implemented Interfaces:
KeyAgreementProcessor
Implementation of
KeyAgreementProcessor which performs Diffie-Hellman
Ephemeral-Static Mode key agreement with Explicit Key Derivation Function as defined in XML Encryption 1.1.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected 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.AbstractDerivationKeyAgreementProcessor
deriveSecretKeyMethods inherited from class org.opensaml.xmlsec.agreement.impl.AbstractKeyAgreementProcessor
buildKeyAgreementCredential, execute
-
Field Details
-
log
@Nonnull private final org.slf4j.Logger logLogger.
-
-
Constructor Details
-
DHWithExplicitKDFKeyAgreementProcessor
public DHWithExplicitKDFKeyAgreementProcessor()
-
-
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
-