Class KeyAgreementSpi
- java.lang.Object
-
- javax.crypto.KeyAgreementSpi
-
- org.bouncycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi
-
- org.bouncycastle.jcajce.provider.asymmetric.ec.KeyAgreementSpi
-
- Direct Known Subclasses:
KeyAgreementSpi.CDHwithSHA1KDFAndSharedInfo,KeyAgreementSpi.CDHwithSHA224KDFAndSharedInfo,KeyAgreementSpi.CDHwithSHA256KDFAndSharedInfo,KeyAgreementSpi.CDHwithSHA384KDFAndSharedInfo,KeyAgreementSpi.CDHwithSHA512KDFAndSharedInfo,KeyAgreementSpi.DH,KeyAgreementSpi.DHC,KeyAgreementSpi.DHUC,KeyAgreementSpi.DHUwithSHA1CKDF,KeyAgreementSpi.DHUwithSHA224CKDF,KeyAgreementSpi.DHUwithSHA256CKDF,KeyAgreementSpi.DHUwithSHA384CKDF,KeyAgreementSpi.DHUwithSHA512CKDF,KeyAgreementSpi.DHwithSHA1CKDF,KeyAgreementSpi.DHwithSHA1KDF,KeyAgreementSpi.DHwithSHA1KDFAndSharedInfo,KeyAgreementSpi.DHwithSHA224KDFAndSharedInfo,KeyAgreementSpi.DHwithSHA256CKDF,KeyAgreementSpi.DHwithSHA256KDFAndSharedInfo,KeyAgreementSpi.DHwithSHA384CKDF,KeyAgreementSpi.DHwithSHA384KDFAndSharedInfo,KeyAgreementSpi.DHwithSHA512CKDF,KeyAgreementSpi.DHwithSHA512KDFAndSharedInfo,KeyAgreementSpi.MQV,KeyAgreementSpi.MQVwithSHA1CKDF,KeyAgreementSpi.MQVwithSHA1KDFAndSharedInfo,KeyAgreementSpi.MQVwithSHA224CKDF,KeyAgreementSpi.MQVwithSHA224KDFAndSharedInfo,KeyAgreementSpi.MQVwithSHA256CKDF,KeyAgreementSpi.MQVwithSHA256KDFAndSharedInfo,KeyAgreementSpi.MQVwithSHA384CKDF,KeyAgreementSpi.MQVwithSHA384KDFAndSharedInfo,KeyAgreementSpi.MQVwithSHA512CKDF,KeyAgreementSpi.MQVwithSHA512KDFAndSharedInfo
public class KeyAgreementSpi extends BaseAgreementSpi
Diffie-Hellman key agreement using elliptic curve keys, ala IEEE P1363 both the simple one, and the simple one with cofactors are supported.Also, MQV key agreement per SEC-1
-
-
Nested Class Summary
-
Field Summary
-
Fields inherited from class org.bouncycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi
ukmParameters
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedKeyAgreementSpi(java.lang.String kaAlgorithm, ECDHCUnifiedAgreement agreement, DerivationFunction kdf)protectedKeyAgreementSpi(java.lang.String kaAlgorithm, BasicAgreement agreement, DerivationFunction kdf)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected byte[]bigIntToBytes(java.math.BigInteger r)protected byte[]calcSecret()protected java.security.KeyengineDoPhase(java.security.Key key, boolean lastPhase)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)-
Methods inherited from class org.bouncycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi
engineGenerateSecret, engineGenerateSecret, engineGenerateSecret, getAlgorithm, getKeySize, trimZeroes
-
-
-
-
Constructor Detail
-
KeyAgreementSpi
protected KeyAgreementSpi(java.lang.String kaAlgorithm, BasicAgreement agreement, DerivationFunction kdf)
-
KeyAgreementSpi
protected KeyAgreementSpi(java.lang.String kaAlgorithm, ECDHCUnifiedAgreement agreement, DerivationFunction kdf)
-
-
Method Detail
-
bigIntToBytes
protected byte[] bigIntToBytes(java.math.BigInteger r)
-
engineDoPhase
protected java.security.Key engineDoPhase(java.security.Key key, boolean lastPhase) throws java.security.InvalidKeyException, java.lang.IllegalStateException- Specified by:
engineDoPhasein classjavax.crypto.KeyAgreementSpi- Throws:
java.security.InvalidKeyExceptionjava.lang.IllegalStateException
-
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
-
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
-
calcSecret
protected byte[] calcSecret()
- Specified by:
calcSecretin classBaseAgreementSpi
-
-