Class BaseAgreementSpi
- java.lang.Object
-
- javax.crypto.KeyAgreementSpi
-
- org.bouncycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi
-
- Direct Known Subclasses:
KeyAgreementSpi,KeyAgreementSpi,KeyAgreementSpi,KeyAgreementSpi,KeyAgreementSpi
public abstract class BaseAgreementSpi extends javax.crypto.KeyAgreementSpi
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringkaAlgorithmprotected DerivationFunctionkdfprotected byte[]ukmParameters
-
Constructor Summary
Constructors Constructor Description BaseAgreementSpi(java.lang.String kaAlgorithm, DerivationFunction kdf)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract byte[]doCalcSecret()protected abstract voiddoInitFromKey(java.security.Key key, java.security.spec.AlgorithmParameterSpec parameterSpec, java.security.SecureRandom random)protected byte[]engineGenerateSecret()protected intengineGenerateSecret(byte[] sharedSecret, int offset)protected javax.crypto.SecretKeyengineGenerateSecret(java.lang.String algorithm)protected voidengineInit(java.security.Key key, java.security.SecureRandom random)protected voidengineInit(java.security.Key key, java.security.spec.AlgorithmParameterSpec params, java.security.SecureRandom random)protected static java.lang.StringgetAlgorithm(java.lang.String algDetails)protected static intgetKeySize(java.lang.String algDetails)protected static byte[]trimZeroes(byte[] secret)
-
-
-
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- Specified by:
engineInitin classjavax.crypto.KeyAgreementSpi- Throws:
java.security.InvalidKeyException
-
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:
engineInitin classjavax.crypto.KeyAgreementSpi- Throws:
java.security.InvalidKeyExceptionjava.security.InvalidAlgorithmParameterException
-
engineGenerateSecret
protected byte[] engineGenerateSecret() throws java.lang.IllegalStateException- Specified by:
engineGenerateSecretin classjavax.crypto.KeyAgreementSpi- Throws:
java.lang.IllegalStateException
-
engineGenerateSecret
protected int engineGenerateSecret(byte[] sharedSecret, int offset) throws java.lang.IllegalStateException, javax.crypto.ShortBufferException- Specified by:
engineGenerateSecretin classjavax.crypto.KeyAgreementSpi- Throws:
java.lang.IllegalStateExceptionjavax.crypto.ShortBufferException
-
engineGenerateSecret
protected javax.crypto.SecretKey engineGenerateSecret(java.lang.String algorithm) throws java.security.NoSuchAlgorithmException- Specified by:
engineGenerateSecretin classjavax.crypto.KeyAgreementSpi- Throws:
java.security.NoSuchAlgorithmException
-
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- Throws:
java.security.InvalidKeyExceptionjava.security.InvalidAlgorithmParameterException
-
-