This abstract class defines the
service-provider interface for KeyAgreement. A
cryptographic provider must implement a concrete subclass of this
class for each encryption algorithm it supports. Applications never
need to use or subclass this class.
public abstract class KeyAgreementSpi {
// Public Constructors
public KeyAgreementSpi( );
// Protected Instance Methods
protected abstract java.security.Key engineDoPhase(java.security.Key key,
boolean lastPhase) throws java.security.InvalidKeyException,
IllegalStateException;
protected abstract byte[ ] engineGenerateSecret( ) throws IllegalStateException;
protected abstract SecretKey engineGenerateSecret(String algorithm)
throws IllegalStateException,
java.security.NoSuchAlgorithmException,
java.security.InvalidKeyException;
protected abstract int engineGenerateSecret(byte[ ] sharedSecret, int offset)
throws IllegalStateException, ShortBufferException;
protected abstract void engineInit(java.security.Key key,
java.security.SecureRandom random)
throws java.security.InvalidKeyException;
protected abstract void engineInit(java.security.Key key,
java.security.spec.AlgorithmParameterSpec params,
java.security.SecureRandom random)
throws java.security.InvalidKeyException,
java.security.InvalidAlgorithmParameterException;
}