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.DHUwithSHA1KDF,KeyAgreementSpi.DHUwithSHA224CKDF,KeyAgreementSpi.DHUwithSHA224KDF,KeyAgreementSpi.DHUwithSHA256CKDF,KeyAgreementSpi.DHUwithSHA256KDF,KeyAgreementSpi.DHUwithSHA384CKDF,KeyAgreementSpi.DHUwithSHA384KDF,KeyAgreementSpi.DHUwithSHA512CKDF,KeyAgreementSpi.DHUwithSHA512KDF,KeyAgreementSpi.DHwithSHA1CKDF,KeyAgreementSpi.DHwithSHA1KDF,KeyAgreementSpi.DHwithSHA1KDFAndSharedInfo,KeyAgreementSpi.DHwithSHA224KDFAndSharedInfo,KeyAgreementSpi.DHwithSHA256CKDF,KeyAgreementSpi.DHwithSHA256KDFAndSharedInfo,KeyAgreementSpi.DHwithSHA384CKDF,KeyAgreementSpi.DHwithSHA384KDFAndSharedInfo,KeyAgreementSpi.DHwithSHA512CKDF,KeyAgreementSpi.DHwithSHA512KDFAndSharedInfo,KeyAgreementSpi.ECKAEGwithRIPEMD160KDF,KeyAgreementSpi.ECKAEGwithSHA1KDF,KeyAgreementSpi.ECKAEGwithSHA224KDF,KeyAgreementSpi.ECKAEGwithSHA256KDF,KeyAgreementSpi.ECKAEGwithSHA384KDF,KeyAgreementSpi.ECKAEGwithSHA512KDF,KeyAgreementSpi.MQV,KeyAgreementSpi.MQVwithSHA1CKDF,KeyAgreementSpi.MQVwithSHA1KDF,KeyAgreementSpi.MQVwithSHA1KDFAndSharedInfo,KeyAgreementSpi.MQVwithSHA224CKDF,KeyAgreementSpi.MQVwithSHA224KDF,KeyAgreementSpi.MQVwithSHA224KDFAndSharedInfo,KeyAgreementSpi.MQVwithSHA256CKDF,KeyAgreementSpi.MQVwithSHA256KDF,KeyAgreementSpi.MQVwithSHA256KDFAndSharedInfo,KeyAgreementSpi.MQVwithSHA384CKDF,KeyAgreementSpi.MQVwithSHA384KDF,KeyAgreementSpi.MQVwithSHA384KDFAndSharedInfo,KeyAgreementSpi.MQVwithSHA512CKDF,KeyAgreementSpi.MQVwithSHA512KDF,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
kdf, 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
-
-