Class ECDHKeyAgreementProcessor
java.lang.Object
org.opensaml.xmlsec.agreement.impl.AbstractKeyAgreementProcessor
org.opensaml.xmlsec.agreement.impl.AbstractDerivationKeyAgreementProcessor
org.opensaml.xmlsec.agreement.impl.ECDHKeyAgreementProcessor
- All Implemented Interfaces:
KeyAgreementProcessor
Implementation of
KeyAgreementProcessor
which performs Elliptic Curve Diffie-Hellman (ECDH)
Ephemeral-Static Mode key agreement 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.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.AbstractDerivationKeyAgreementProcessor
deriveSecretKey
Methods inherited from class org.opensaml.xmlsec.agreement.impl.AbstractKeyAgreementProcessor
buildKeyAgreementCredential, execute
-
Field Details
-
log
private final org.slf4j.Logger logLogger.
-
-
Constructor Details
-
ECDHKeyAgreementProcessor
public ECDHKeyAgreementProcessor()
-
-
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
-