Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

javax.crypto
Class KeyAgreementSpi  view KeyAgreementSpi download KeyAgreementSpi.java

java.lang.Object
  extended byjavax.crypto.KeyAgreementSpi

public abstract class KeyAgreementSpi
extends java.lang.Object

This is the Service Provider Interface (SPI) for the KeyAgreement class.

Providers wishing to implement a key agreement algorithm must subclass this and provide an appropriate implementation for all the abstract methods below, and provide an appropriate entry in the master java.security.Provider class (the service name for key agreement algorithms is "KeyAgreement").

Since:
1.4

Constructor Summary
KeyAgreementSpi()
          Create a new KeyAgreementSpi instance.
 
Method Summary
protected abstract  java.security.Key engineDoPhase(java.security.Key key, boolean lastPhase)
          Do a phase in the key agreement.
protected abstract  byte[] engineGenerateSecret()
          Generate the shared secret in a new byte array.
protected abstract  int engineGenerateSecret(byte[] sharedSecret, int offset)
          Generate the shared secret, storing it into the specified array.
protected abstract  SecretKey engineGenerateSecret(java.lang.String algorithm)
          Generate the shared secret and return it as a SecretKey.
protected abstract  void engineInit(java.security.Key key, java.security.spec.AlgorithmParameterSpec params, java.security.SecureRandom random)
          Initialize this key agreement with a key, parameters, and source of randomness.
protected abstract  void engineInit(java.security.Key key, java.security.SecureRandom random)
          Initialize this key agreement with a key and source of randomness.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

KeyAgreementSpi

public KeyAgreementSpi()
Create a new KeyAgreementSpi instance.

Method Detail

engineDoPhase

protected abstract java.security.Key engineDoPhase(java.security.Key key,
                                                   boolean lastPhase)
                                            throws java.lang.IllegalStateException,
                                                   java.security.InvalidKeyException
Do a phase in the key agreement.


engineGenerateSecret

protected abstract byte[] engineGenerateSecret()
                                        throws java.lang.IllegalStateException
Generate the shared secret in a new byte array.


engineGenerateSecret

protected abstract int engineGenerateSecret(byte[] sharedSecret,
                                            int offset)
                                     throws java.lang.IllegalStateException,
                                            ShortBufferException
Generate the shared secret, storing it into the specified array.


engineGenerateSecret

protected abstract SecretKey engineGenerateSecret(java.lang.String algorithm)
                                           throws java.lang.IllegalStateException,
                                                  java.security.InvalidKeyException,
                                                  java.security.NoSuchAlgorithmException
Generate the shared secret and return it as a SecretKey.


engineInit

protected abstract void engineInit(java.security.Key key,
                                   java.security.spec.AlgorithmParameterSpec params,
                                   java.security.SecureRandom random)
                            throws java.security.InvalidAlgorithmParameterException,
                                   java.security.InvalidKeyException
Initialize this key agreement with a key, parameters, and source of randomness.


engineInit

protected abstract void engineInit(java.security.Key key,
                                   java.security.SecureRandom random)
                            throws java.security.InvalidKeyException
Initialize this key agreement with a key and source of randomness.