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
public class KeyAgreementSpi extends BaseAgreementSpi
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
-
Field Summary
-
Fields inherited from class org.bouncycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi
kaAlgorithm, kdf, ukmParameters
-
-
Constructor Summary
Constructors Constructor Description KeyAgreementSpi()
KeyAgreementSpi(String kaAlgorithm, DHUnifiedAgreement unifiedAgreement, DerivationFunction kdf)
KeyAgreementSpi(String kaAlgorithm, BasicAgreement mqvAgreement, DerivationFunction kdf)
KeyAgreementSpi(String kaAlgorithm, DerivationFunction kdf)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected byte[]
bigIntToBytes(BigInteger r)
protected byte[]
calcSecret()
protected Key
engineDoPhase(Key key, boolean lastPhase)
protected byte[]
engineGenerateSecret()
protected int
engineGenerateSecret(byte[] sharedSecret, int offset)
protected SecretKey
engineGenerateSecret(String algorithm)
protected void
engineInit(Key key, SecureRandom random)
protected void
engineInit(Key key, AlgorithmParameterSpec params, SecureRandom random)
-
Methods inherited from class org.bouncycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi
getAlgorithm, getKeySize, trimZeroes
-
-
-
-
Constructor Detail
-
KeyAgreementSpi
public KeyAgreementSpi()
-
KeyAgreementSpi
public KeyAgreementSpi(String kaAlgorithm, DerivationFunction kdf)
-
KeyAgreementSpi
public KeyAgreementSpi(String kaAlgorithm, DHUnifiedAgreement unifiedAgreement, DerivationFunction kdf)
-
KeyAgreementSpi
public KeyAgreementSpi(String kaAlgorithm, BasicAgreement mqvAgreement, DerivationFunction kdf)
-
-
Method Detail
-
bigIntToBytes
protected byte[] bigIntToBytes(BigInteger r)
-
engineDoPhase
protected Key engineDoPhase(Key key, boolean lastPhase) throws InvalidKeyException, IllegalStateException
- Specified by:
engineDoPhase
in classKeyAgreementSpi
- Throws:
InvalidKeyException
IllegalStateException
-
engineGenerateSecret
protected byte[] engineGenerateSecret() throws IllegalStateException
- Overrides:
engineGenerateSecret
in classBaseAgreementSpi
- Throws:
IllegalStateException
-
engineGenerateSecret
protected int engineGenerateSecret(byte[] sharedSecret, int offset) throws IllegalStateException, ShortBufferException
- Overrides:
engineGenerateSecret
in classBaseAgreementSpi
- Throws:
IllegalStateException
ShortBufferException
-
engineGenerateSecret
protected SecretKey engineGenerateSecret(String algorithm) throws NoSuchAlgorithmException
- Overrides:
engineGenerateSecret
in classBaseAgreementSpi
- Throws:
NoSuchAlgorithmException
-
engineInit
protected void engineInit(Key key, AlgorithmParameterSpec params, SecureRandom random) throws InvalidKeyException, InvalidAlgorithmParameterException
- Specified by:
engineInit
in classKeyAgreementSpi
- Throws:
InvalidKeyException
InvalidAlgorithmParameterException
-
engineInit
protected void engineInit(Key key, SecureRandom random) throws InvalidKeyException
- Specified by:
engineInit
in classKeyAgreementSpi
- Throws:
InvalidKeyException
-
calcSecret
protected byte[] calcSecret()
- Specified by:
calcSecret
in classBaseAgreementSpi
-
-