Bouncy Castle Cryptography Library 1.37

org.bouncycastle.jce.provider
Class JCEDHKeyAgreement

java.lang.Object
  extended by javax.crypto.KeyAgreementSpi
      extended by org.bouncycastle.jce.provider.JCEDHKeyAgreement

public class JCEDHKeyAgreement
extends javax.crypto.KeyAgreementSpi

Diffie-Hellman key agreement. There's actually a better way of doing this if you are using long term public keys, see the light-weight version for details.


Constructor Summary
JCEDHKeyAgreement()
           
 
Method Summary
protected  java.security.Key engineDoPhase(java.security.Key key, boolean lastPhase)
           
protected  byte[] engineGenerateSecret()
           
protected  int engineGenerateSecret(byte[] sharedSecret, int offset)
           
protected  javax.crypto.SecretKey engineGenerateSecret(java.lang.String algorithm)
           
protected  void engineInit(java.security.Key key, java.security.spec.AlgorithmParameterSpec params, java.security.SecureRandom random)
           
protected  void engineInit(java.security.Key key, java.security.SecureRandom random)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JCEDHKeyAgreement

public JCEDHKeyAgreement()
Method Detail

engineDoPhase

protected java.security.Key engineDoPhase(java.security.Key key,
                                          boolean lastPhase)
                                   throws java.security.InvalidKeyException,
                                          java.lang.IllegalStateException
Specified by:
engineDoPhase in class javax.crypto.KeyAgreementSpi
Throws:
java.security.InvalidKeyException
java.lang.IllegalStateException

engineGenerateSecret

protected byte[] engineGenerateSecret()
                               throws java.lang.IllegalStateException
Specified by:
engineGenerateSecret in class javax.crypto.KeyAgreementSpi
Throws:
java.lang.IllegalStateException

engineGenerateSecret

protected int engineGenerateSecret(byte[] sharedSecret,
                                   int offset)
                            throws java.lang.IllegalStateException,
                                   javax.crypto.ShortBufferException
Specified by:
engineGenerateSecret in class javax.crypto.KeyAgreementSpi
Throws:
java.lang.IllegalStateException
javax.crypto.ShortBufferException

engineGenerateSecret

protected javax.crypto.SecretKey engineGenerateSecret(java.lang.String algorithm)
Specified by:
engineGenerateSecret in class javax.crypto.KeyAgreementSpi

engineInit

protected void engineInit(java.security.Key key,
                          java.security.spec.AlgorithmParameterSpec params,
                          java.security.SecureRandom random)
                   throws java.security.InvalidKeyException,
                          java.security.InvalidAlgorithmParameterException
Specified by:
engineInit in class javax.crypto.KeyAgreementSpi
Throws:
java.security.InvalidKeyException
java.security.InvalidAlgorithmParameterException

engineInit

protected void engineInit(java.security.Key key,
                          java.security.SecureRandom random)
                   throws java.security.InvalidKeyException
Specified by:
engineInit in class javax.crypto.KeyAgreementSpi
Throws:
java.security.InvalidKeyException

Bouncy Castle Cryptography Library 1.37