Bouncy Castle Cryptography Library 1.77.0

org.bouncycastle.jcajce.provider.asymmetric.util
Class BaseAgreementSpi

java.lang.Object
  |
  +--javax.crypto.KeyAgreementSpi
        |
        +--org.bouncycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi
Direct Known Subclasses:
KeyAgreementSpi, KeyAgreementSpi, KeyAgreementSpi, KeyAgreementSpi

public abstract class BaseAgreementSpi
extends javax.crypto.KeyAgreementSpi


Field Summary
protected  java.lang.String kaAlgorithm
           
protected  DerivationFunction kdf
           
protected  byte[] ukmParameters
           
 
Constructor Summary
BaseAgreementSpi(java.lang.String kaAlgorithm, DerivationFunction kdf)
           
 
Method Summary
protected abstract  byte[] doCalcSecret()
           
protected abstract  void doInitFromKey(java.security.Key key, java.security.spec.AlgorithmParameterSpec parameterSpec, java.security.SecureRandom random)
           
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)
           
protected static java.lang.String getAlgorithm(java.lang.String algDetails)
           
protected static int getKeySize(java.lang.String algDetails)
           
protected static byte[] trimZeroes(byte[] secret)
           
 
Methods inherited from class javax.crypto.KeyAgreementSpi
engineDoPhase
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

kaAlgorithm

protected final java.lang.String kaAlgorithm

kdf

protected final DerivationFunction kdf

ukmParameters

protected byte[] ukmParameters
Constructor Detail

BaseAgreementSpi

public BaseAgreementSpi(java.lang.String kaAlgorithm,
                        DerivationFunction kdf)
Method Detail

getAlgorithm

protected static java.lang.String getAlgorithm(java.lang.String algDetails)

getKeySize

protected static int getKeySize(java.lang.String algDetails)

trimZeroes

protected static byte[] trimZeroes(byte[] secret)

engineInit

protected void engineInit(java.security.Key key,
                          java.security.SecureRandom random)
                   throws java.security.InvalidKeyException
Overrides:
engineInit 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
Overrides:
engineInit in class javax.crypto.KeyAgreementSpi

engineGenerateSecret

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

engineGenerateSecret

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

engineGenerateSecret

protected javax.crypto.SecretKey engineGenerateSecret(java.lang.String algorithm)
                                               throws java.security.NoSuchAlgorithmException
Overrides:
engineGenerateSecret in class javax.crypto.KeyAgreementSpi

doCalcSecret

protected abstract byte[] doCalcSecret()

doInitFromKey

protected abstract void doInitFromKey(java.security.Key key,
                                      java.security.spec.AlgorithmParameterSpec parameterSpec,
                                      java.security.SecureRandom random)
                               throws java.security.InvalidKeyException,
                                      java.security.InvalidAlgorithmParameterException

Bouncy Castle Cryptography Library 1.77.0