Table of Contents

Class BcTlsDHDomain

Namespace
Org.BouncyCastle.Tls.Crypto.Impl.BC
Assembly
BouncyCastle.Cryptography.dll

BC light-weight support class for Diffie-Hellman key pair generation and key agreement over a specified Diffie-Hellman configuration.

public class BcTlsDHDomain : TlsDHDomain
Inheritance
BcTlsDHDomain
Implements
Inherited Members

Constructors

BcTlsDHDomain(BcTlsCrypto, TlsDHConfig)

public BcTlsDHDomain(BcTlsCrypto crypto, TlsDHConfig dhConfig)

Parameters

crypto BcTlsCrypto
dhConfig TlsDHConfig

Fields

m_config

protected readonly TlsDHConfig m_config

Field Value

TlsDHConfig

m_crypto

protected readonly BcTlsCrypto m_crypto

Field Value

BcTlsCrypto

m_domainParameters

protected readonly DHParameters m_domainParameters

Field Value

DHParameters

Methods

CalculateDHAgreement(DHPrivateKeyParameters, DHPublicKeyParameters)

public virtual BcTlsSecret CalculateDHAgreement(DHPrivateKeyParameters privateKey, DHPublicKeyParameters publicKey)

Parameters

privateKey DHPrivateKeyParameters
publicKey DHPublicKeyParameters

Returns

BcTlsSecret

CalculateDHAgreement(BcTlsCrypto, DHPrivateKeyParameters, DHPublicKeyParameters, bool)

public static BcTlsSecret CalculateDHAgreement(BcTlsCrypto crypto, DHPrivateKeyParameters privateKey, DHPublicKeyParameters publicKey, bool padded)

Parameters

crypto BcTlsCrypto
privateKey DHPrivateKeyParameters
publicKey DHPublicKeyParameters
padded bool

Returns

BcTlsSecret

CreateDH()

Return an agreement operator suitable for ephemeral Diffie-Hellman.

public virtual TlsAgreement CreateDH()

Returns

TlsAgreement

a key agreement operator.

DecodeParameter(byte[])

public virtual BigInteger DecodeParameter(byte[] encoding)

Parameters

encoding byte[]

Returns

BigInteger

Exceptions

IOException

DecodePublicKey(byte[])

public virtual DHPublicKeyParameters DecodePublicKey(byte[] encoding)

Parameters

encoding byte[]

Returns

DHPublicKeyParameters

Exceptions

IOException

EncodeParameter(BigInteger)

public virtual byte[] EncodeParameter(BigInteger x)

Parameters

x BigInteger

Returns

byte[]

EncodePublicKey(DHPublicKeyParameters)

public virtual byte[] EncodePublicKey(DHPublicKeyParameters publicKey)

Parameters

publicKey DHPublicKeyParameters

Returns

byte[]

GenerateKeyPair()

public virtual AsymmetricCipherKeyPair GenerateKeyPair()

Returns

AsymmetricCipherKeyPair

GetDomainParameters(TlsDHConfig)

public static DHParameters GetDomainParameters(TlsDHConfig dhConfig)

Parameters

dhConfig TlsDHConfig

Returns

DHParameters