to top
Android APIs
public abstract class

KeyAgreementSpi

extends Object
java.lang.Object
   ↳ javax.crypto.KeyAgreementSpi

Class Overview

The Service Provider Interface (SPI) definition for the KeyAgreement class.

Summary

Public Constructors
KeyAgreementSpi()
Creates a new KeyAgreementSpi instance.
Protected Methods
abstract Key engineDoPhase(Key key, boolean lastPhase)
Does the next (or the last) phase of the key agreement, using the specified key.
abstract int engineGenerateSecret(byte[] sharedSecret, int offset)
Generates the shared secret and stores it into the buffer sharedSecred at offset.
abstract byte[] engineGenerateSecret()
Generates the shared secret.
abstract SecretKey engineGenerateSecret(String algorithm)
Generates the shared secret.
abstract void engineInit(Key key, SecureRandom random)
Initializes this KeyAgreementSpi with the specified key and the specified randomness source.
abstract void engineInit(Key key, AlgorithmParameterSpec params, SecureRandom random)
Initializes this KeyAgreementSpi with the specified key, algorithm parameters and randomness source.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public KeyAgreementSpi ()

Since: API Level 1

Creates a new KeyAgreementSpi instance.

Protected Methods

protected abstract Key engineDoPhase (Key key, boolean lastPhase)

Since: API Level 1

Does the next (or the last) phase of the key agreement, using the specified key.

Parameters
key the key received from the other party for this phase.
lastPhase set to true if 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,
IllegalStateException if this instance has not been initialized.

protected abstract int engineGenerateSecret (byte[] sharedSecret, int offset)

Since: API Level 1

Generates the shared secret and stores it into the buffer sharedSecred at offset.

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
IllegalStateException if this key agreement is not complete.
ShortBufferException if the specified buffer is too small for the shared secret.

protected abstract byte[] engineGenerateSecret ()

Since: API Level 1

Generates the shared secret.

Returns
  • the generated shared secret.
Throws
IllegalStateException if this key agreement is not complete.

protected abstract SecretKey engineGenerateSecret (String algorithm)

Since: API Level 1

Generates the shared secret.

Parameters
algorithm the algorithm to for the SecretKey
Returns
  • the shared secret as a SecretKey of the specified algorithm.
Throws
IllegalStateException if this key agreement is not complete.
NoSuchAlgorithmException if the specified algorithm for the secret key does not exists.
InvalidKeyException if a SecretKey with the specified algorithm cannot be created using the generated shared secret.

protected abstract void engineInit (Key key, SecureRandom random)

Since: API Level 1

Initializes this KeyAgreementSpi with the specified key and the specified randomness source.

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.

protected abstract void engineInit (Key key, AlgorithmParameterSpec params, SecureRandom random)

Since: API Level 1

Initializes this KeyAgreementSpi with the specified key, algorithm parameters and randomness source.

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.