Class KeyAgreementSpi
java.lang.Object
javax.crypto.KeyAgreementSpi
org.bouncycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi
org.bouncycastle.jcajce.provider.asymmetric.dh.KeyAgreementSpi
- Direct Known Subclasses:
KeyAgreementSpi.DHUwithSHA1CKDF,KeyAgreementSpi.DHUwithSHA1KDF,KeyAgreementSpi.DHUwithSHA224CKDF,KeyAgreementSpi.DHUwithSHA224KDF,KeyAgreementSpi.DHUwithSHA256CKDF,KeyAgreementSpi.DHUwithSHA256KDF,KeyAgreementSpi.DHUwithSHA384CKDF,KeyAgreementSpi.DHUwithSHA384KDF,KeyAgreementSpi.DHUwithSHA512CKDF,KeyAgreementSpi.DHUwithSHA512KDF,KeyAgreementSpi.DHwithRFC2631KDF,KeyAgreementSpi.DHwithSHA1CKDF,KeyAgreementSpi.DHwithSHA1KDF,KeyAgreementSpi.DHwithSHA224CKDF,KeyAgreementSpi.DHwithSHA224KDF,KeyAgreementSpi.DHwithSHA256CKDF,KeyAgreementSpi.DHwithSHA256KDF,KeyAgreementSpi.DHwithSHA384CKDF,KeyAgreementSpi.DHwithSHA384KDF,KeyAgreementSpi.DHwithSHA512CKDF,KeyAgreementSpi.DHwithSHA512KDF,KeyAgreementSpi.MQVwithSHA1CKDF,KeyAgreementSpi.MQVwithSHA1KDF,KeyAgreementSpi.MQVwithSHA224CKDF,KeyAgreementSpi.MQVwithSHA224KDF,KeyAgreementSpi.MQVwithSHA256CKDF,KeyAgreementSpi.MQVwithSHA256KDF,KeyAgreementSpi.MQVwithSHA384CKDF,KeyAgreementSpi.MQVwithSHA384KDF,KeyAgreementSpi.MQVwithSHA512CKDF,KeyAgreementSpi.MQVwithSHA512KDF
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.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic class -
Field Summary
Fields inherited from class org.bouncycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi
kaAlgorithm, kdf, ukmParameters, ukmParametersSalt -
Constructor Summary
ConstructorsConstructorDescriptionKeyAgreementSpi(String kaAlgorithm, DHUnifiedAgreement unifiedAgreement, DerivationFunction kdf) KeyAgreementSpi(String kaAlgorithm, BasicAgreement mqvAgreement, DerivationFunction kdf) KeyAgreementSpi(String kaAlgorithm, DerivationFunction kdf) -
Method Summary
Modifier and TypeMethodDescriptionprotected byte[]protected byte[]protected voiddoInitFromKey(Key key, AlgorithmParameterSpec params, SecureRandom random) protected KeyengineDoPhase(Key key, boolean lastPhase) protected byte[]protected intengineGenerateSecret(byte[] sharedSecret, int offset) protected SecretKeyengineGenerateSecret(String algorithm) protected voidengineInit(Key key, SecureRandom random) Methods inherited from class org.bouncycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi
engineInit, getAlgorithm, getKeySize, trimZeroes
-
Constructor Details
-
KeyAgreementSpi
public KeyAgreementSpi() -
KeyAgreementSpi
-
KeyAgreementSpi
public KeyAgreementSpi(String kaAlgorithm, DHUnifiedAgreement unifiedAgreement, DerivationFunction kdf) -
KeyAgreementSpi
-
-
Method Details
-
bigIntToBytes
-
engineDoPhase
protected Key engineDoPhase(Key key, boolean lastPhase) throws InvalidKeyException, IllegalStateException - Specified by:
engineDoPhasein classKeyAgreementSpi- Throws:
InvalidKeyExceptionIllegalStateException
-
engineGenerateSecret
- Overrides:
engineGenerateSecretin classBaseAgreementSpi- Throws:
IllegalStateException
-
engineGenerateSecret
protected int engineGenerateSecret(byte[] sharedSecret, int offset) throws IllegalStateException, ShortBufferException - Overrides:
engineGenerateSecretin classBaseAgreementSpi- Throws:
IllegalStateExceptionShortBufferException
-
engineGenerateSecret
- Overrides:
engineGenerateSecretin classBaseAgreementSpi- Throws:
NoSuchAlgorithmException
-
doInitFromKey
protected void doInitFromKey(Key key, AlgorithmParameterSpec params, SecureRandom random) throws InvalidKeyException, InvalidAlgorithmParameterException - Specified by:
doInitFromKeyin classBaseAgreementSpi- Throws:
InvalidKeyExceptionInvalidAlgorithmParameterException
-
engineInit
- Overrides:
engineInitin classBaseAgreementSpi- Throws:
InvalidKeyException
-
doCalcSecret
protected byte[] doCalcSecret()- Specified by:
doCalcSecretin classBaseAgreementSpi
-