Package org.conscrypt
Class OpenSSLECDHKeyAgreement
- java.lang.Object
-
- javax.crypto.KeyAgreementSpi
-
- org.conscrypt.OpenSSLECDHKeyAgreement
-
public final class OpenSSLECDHKeyAgreement extends KeyAgreementSpi
Elliptic Curve Diffie-Hellman key agreement backed by the OpenSSL engine.
-
-
Constructor Summary
Constructors Constructor Description OpenSSLECDHKeyAgreement()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description KeyengineDoPhase(Key key, boolean lastPhase)Does the next (or the last) phase of the key agreement, using the specified key.protected byte[]engineGenerateSecret()Generates the shared secret.protected intengineGenerateSecret(byte[] sharedSecret, int offset)Generates the shared secret and stores it into the buffersharedSecredatoffset.protected SecretKeyengineGenerateSecret(String algorithm)Generates the shared secret.protected voidengineInit(Key key, SecureRandom random)Initializes thisKeyAgreementSpiwith the specified key and the specified randomness source.protected voidengineInit(Key key, AlgorithmParameterSpec params, SecureRandom random)Initializes thisKeyAgreementSpiwith the specified key, algorithm parameters and randomness source.
-
-
-
Method Detail
-
engineDoPhase
public Key engineDoPhase(Key key, boolean lastPhase) throws InvalidKeyException
Description copied from class:KeyAgreementSpiDoes the next (or the last) phase of the key agreement, using the specified key.- Specified by:
engineDoPhasein classKeyAgreementSpi- Parameters:
key- the key received from the other party for this phase.lastPhase- set totrueif this is the last phase of this key agreement.- Returns:
- the intermediate key from this phase or null if there is no intermediate key for this phase.
- Throws:
InvalidKeyException- if the specified key cannot be used in this key agreement or this phase,
-
engineGenerateSecret
protected int engineGenerateSecret(byte[] sharedSecret, int offset) throws ShortBufferExceptionDescription copied from class:KeyAgreementSpiGenerates the shared secret and stores it into the buffersharedSecredatoffset.- Specified by:
engineGenerateSecretin classKeyAgreementSpi- Parameters:
sharedSecret- the buffer to store the shared secret.offset- the offset in the buffer.- Returns:
- the number of bytes stored in the buffer.
- Throws:
ShortBufferException- if the specified buffer is too small for the shared secret.
-
engineGenerateSecret
protected byte[] engineGenerateSecret()
Description copied from class:KeyAgreementSpiGenerates the shared secret.- Specified by:
engineGenerateSecretin classKeyAgreementSpi- Returns:
- the generated shared secret.
-
engineGenerateSecret
protected SecretKey engineGenerateSecret(String algorithm)
Description copied from class:KeyAgreementSpiGenerates the shared secret.- Specified by:
engineGenerateSecretin classKeyAgreementSpi- Parameters:
algorithm- the algorithm to for theSecretKey- Returns:
- the shared secret as a
SecretKeyof the specified algorithm.
-
engineInit
protected void engineInit(Key key, SecureRandom random) throws InvalidKeyException
Description copied from class:KeyAgreementSpiInitializes thisKeyAgreementSpiwith the specified key and the specified randomness source.- Specified by:
engineInitin classKeyAgreementSpi- Parameters:
key- the key to initialize this key agreement.random- the source for any randomness needed.- Throws:
InvalidKeyException- if the specified key cannot be used to initialize this key agreement.
-
engineInit
protected void engineInit(Key key, AlgorithmParameterSpec params, SecureRandom random) throws InvalidKeyException, InvalidAlgorithmParameterException
Description copied from class:KeyAgreementSpiInitializes thisKeyAgreementSpiwith the specified key, algorithm parameters and randomness source.- Specified by:
engineInitin classKeyAgreementSpi- Parameters:
key- the key to initialize this key agreement.params- the parameters for this key agreement algorithm.random- the source for any randomness needed.- Throws:
InvalidKeyException- if the specified key cannot be used to initialize this key agreement.InvalidAlgorithmParameterException- if the specified parameters are invalid for this key agreement algorithm.
-
-