ECDiffieHellmanOpenSsl 类

定义

提供由 OpenSSL 支持的椭圆曲线 Diffie-Hellman (ECDH) 算法的实现。

public ref class ECDiffieHellmanOpenSsl sealed : System::Security::Cryptography::ECDiffieHellman
public sealed class ECDiffieHellmanOpenSsl : System.Security.Cryptography.ECDiffieHellman
type ECDiffieHellmanOpenSsl = class
    inherit ECDiffieHellman
Public NotInheritable Class ECDiffieHellmanOpenSsl
Inherits ECDiffieHellman
继承
ECDiffieHellmanOpenSsl
继承

注解

仅当与系统 OpenSSL 库执行平台互操作时,才应直接使用此类。 当不需要平台互操作时,应使用 ECDiffieHellman.Create 工厂方法,而不是特定的派生实现。

构造函数

ECDiffieHellmanOpenSsl()

使用 NIST P-521/secp521r1 的默认曲线初始化 ECDiffieHellmanOpenSsl 类的新实例。

ECDiffieHellmanOpenSsl(ECCurve)

初始化 ECDiffieHellmanOpenSsl 类的新实例,并在指定的曲线上生成新的密钥。

ECDiffieHellmanOpenSsl(Int32)

初始化 ECDiffieHellmanOpenSsl 类的新实例,该类默认为指定大小的 NIST 主曲线。

ECDiffieHellmanOpenSsl(IntPtr)

从表示为 EC_KEY*的现有 ECDiffieHellmanOpenSsl OpenSSL 键初始化 类的新实例。

ECDiffieHellmanOpenSsl(SafeEvpPKeyHandle)

从表示为 EVP_PKEY*的现有 ECDiffieHellmanOpenSsl OpenSSL 键初始化 类的新实例。

字段

KeySizeValue

表示非对称算法所用密钥模块的大小(以位为单位)。

(继承自 AsymmetricAlgorithm)
LegalKeySizesValue

指定非对称算法支持的密钥大小。

(继承自 AsymmetricAlgorithm)

属性

KeyExchangeAlgorithm

获取密钥交换算法的名称。

(继承自 ECDiffieHellman)
KeySize

获取或设置非对称算法所用密钥模块的大小(以位为单位)。

(继承自 AsymmetricAlgorithm)
LegalKeySizes

获取非对称算法支持的密钥大小。

(继承自 AsymmetricAlgorithm)
PublicKey

获取另一个 ECDiffieHellman 对象可用来生成共享机密协议的公钥。

SignatureAlgorithm

获取签名算法的名称。

(继承自 ECDiffieHellman)

方法

Clear()

释放 AsymmetricAlgorithm 类使用的所有资源。

(继承自 AsymmetricAlgorithm)
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

使用指定的哈希算法执行密钥派生。

(继承自 ECDiffieHellman)
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[])

使用指定的哈希算法对可选的添加数据或追加数据执行密钥派生。

DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[])

在派生类中实现时,使用指定的哈希算法对可选的添加数据或追加数据执行密钥派生。

(继承自 ECDiffieHellman)
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

使用指定的 HMAC(基于哈希的消息验证代码)算法执行密钥派生。

(继承自 ECDiffieHellman)
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[])

使用指定的 HMAC(基于哈希的消息验证代码)算法对可选的添加数据或追加数据执行密钥派生。

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[])

在派生类中实现时,使用指定的 HMAC(基于哈希的消息验证代码)算法对可选的添加数据或追加数据执行密钥派生。

(继承自 ECDiffieHellman)
DeriveKeyMaterial(ECDiffieHellmanPublicKey)

对共享机密执行密钥派生。

DeriveKeyMaterial(ECDiffieHellmanPublicKey)

在派生类中实现时,对共享机密执行密钥派生。

(继承自 ECDiffieHellman)
DeriveKeyTls(ECDiffieHellmanPublicKey, Byte[], Byte[])

使用 TLS(传输层安全性)1.1 PRF(伪随机函数)执行密钥派生。

DeriveKeyTls(ECDiffieHellmanPublicKey, Byte[], Byte[])

在派生类中实现时,使用 TLS(传输层安全性)1.1 PRF(伪随机函数)执行密钥派生。

(继承自 ECDiffieHellman)
DeriveRawSecretAgreement(ECDiffieHellmanPublicKey)

派生原始密钥材料。

(继承自 ECDiffieHellman)
Dispose()

释放 AsymmetricAlgorithm 类的当前实例所使用的所有资源。

(继承自 AsymmetricAlgorithm)
Dispose(Boolean)

释放 AsymmetricAlgorithm 类使用的非托管资源,并可以选择释放托管资源。

(继承自 AsymmetricAlgorithm)
DuplicateKeyHandle()

获取加密密钥的 SafeEvpPKeyHandle 表示形式。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
ExportECPrivateKey()

以 ECPrivateKey 格式导出当前密钥。

(继承自 ECDiffieHellman)
ExportECPrivateKeyPem()

以 ECPrivateKey 格式导出当前密钥(PEM 编码)。

(继承自 ECAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

使用基于字节的密码以 PKCS#8 EncryptedPrivateKeyInfo 格式导出当前密钥。

(继承自 AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

使用基于字符的密码以 PKCS#8 EncryptedPrivateKeyInfo 格式导出当前密钥。

(继承自 AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters)

使用基于字节的密码(PEM 编码)导出 PKCS#8 EncryptedPrivateKeyInfo 格式的当前密钥。

(继承自 AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters)

使用基于字符的密码(PEM 编码)导出 PKCS#8 EncryptedPrivateKeyInfo 格式的当前密钥。

(继承自 AsymmetricAlgorithm)
ExportExplicitParameters(Boolean)

使用显式曲线形式将公钥或公钥和私钥信息从当前密钥导出到 ECParameters 结构,以便可以将其传递给 ImportParameters(ECParameters) 方法。

ExportExplicitParameters(Boolean)

在派生类中替换时,使用显式曲线形式,从正常运行的 ECDiffieHellman 密钥将公钥或公钥和私钥信息导出到 ECParameters 结构,使其可传递到 ImportParameters(ECParameters) 方法。

(继承自 ECDiffieHellman)
ExportParameters(Boolean)

ECCurve 对象使用的密钥导出到 ECParameters 对象。

ExportPkcs8PrivateKey()

以 PKCS#8 PrivateKeyInfo 格式导出当前密钥。

(继承自 AsymmetricAlgorithm)
ExportPkcs8PrivateKeyPem()

导出 PKCS#8 PrivateKeyInfo 格式(PEM 编码)的当前密钥。

(继承自 AsymmetricAlgorithm)
ExportSubjectPublicKeyInfo()

以 X.509 SubjectPublicKeyInfo 格式导出当前密钥的公钥部分。

(继承自 AsymmetricAlgorithm)
ExportSubjectPublicKeyInfoPem()

以 X.509 SubjectPublicKeyInfo 格式(PEM 编码)导出当前密钥的公钥部分。

(继承自 AsymmetricAlgorithm)
FromXmlString(String)

在所有情况下均引发此方法。

(继承自 ECDiffieHellman)
GenerateKey(ECCurve)

为指定曲线生成新的临时公钥/私钥对。

GenerateKey(ECCurve)

在派生类中替换时,为指定曲线生成新的临时公钥/私钥对。

(继承自 ECDiffieHellman)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
ImportECPrivateKey(ReadOnlySpan<Byte>, Int32)

从 ECPrivateKey 结构中导入公共/私有密钥对,替换此对象的密钥。

(继承自 ECDiffieHellman)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

使用基于字节的密码解密之后,从 PKCS#8 EncryptedPrivateKeyInfo 结构中导入公/私钥对,以替换此对象的密钥。

(继承自 ECDiffieHellman)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

使用基于字符的密码解密之后,从 PKCS#8 EncryptedPrivateKeyInfo 结构中导入公/私钥对,以替换此对象的密钥。

(继承自 ECDiffieHellman)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

导入已加密的 RFC 7468 PEM 编码的私钥,替换此对象的密钥。

(继承自 ECDiffieHellman)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

导入已加密的 RFC 7468 PEM 编码的私钥,替换此对象的密钥。

(继承自 ECDiffieHellman)
ImportFromPem(ReadOnlySpan<Char>)

导入 RFC 7468 PEM 编码的密钥,替换此对象的密钥。

(继承自 ECDiffieHellman)
ImportParameters(ECParameters)

ECCurve 对象的指定参数作为密钥导入当前实例。

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

解密后,从 PKCS#8 PrivateKeyInfo 结构中导入公/私钥对,以替换此对象的密钥。

(继承自 ECDiffieHellman)
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

解密后,从 X.509 SubjectPublicKeyInfo 结构中导入公钥,以替换此对象的密钥。

(继承自 ECDiffieHellman)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)
ToXmlString(Boolean)

在所有情况下均引发此方法。

(继承自 ECDiffieHellman)
TryExportECPrivateKey(Span<Byte>, Int32)

尝试以 ECPrivateKey 格式将当前密钥导入所提供的缓冲区。

(继承自 ECDiffieHellman)
TryExportECPrivateKeyPem(Span<Char>, Int32)

尝试将 PEM 编码的 ECPrivateKey 格式的当前密钥导出到提供的缓冲区中。

(继承自 ECAlgorithm)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

尝试使用基于字节的密码以 PKCS#8 EncryptedPrivateKeyInfo 格式将当前密钥导出到所提供的缓冲区。

(继承自 ECDiffieHellman)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

尝试使用基于字符的密码以 PKCS#8 EncryptedPrivateKeyInfo 格式将当前密钥导入所提供的缓冲区。

(继承自 ECDiffieHellman)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters, Span<Char>, Int32)

尝试使用基于字节的密码(PEM 编码)导出 PKCS#8 EncryptedPrivateKeyInfo 格式的当前密钥。

(继承自 AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters, Span<Char>, Int32)

使用基于字符的密码(PEM 编码)导出 PKCS#8 EncryptedPrivateKeyInfo 格式的当前密钥。

(继承自 AsymmetricAlgorithm)
TryExportPkcs8PrivateKey(Span<Byte>, Int32)

尝试以 PKCS#8 PrivateKeyInfo 格式将当前密钥导出到所提供的缓冲区。

(继承自 ECDiffieHellman)
TryExportPkcs8PrivateKeyPem(Span<Char>, Int32)

尝试将 PEM 编码 PKCS#8 PrivateKeyInfo 格式的当前密钥导出到提供的缓冲区中。

(继承自 AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

尝试以 X.509 SubjectPublicKeyInfo 格式将当前密钥导出到所提供的缓冲区。

(继承自 ECDiffieHellman)
TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32)

尝试将 PEM 编码的 X.509 SubjectPublicKeyInfo 格式的当前密钥导出到提供的缓冲区中。

(继承自 AsymmetricAlgorithm)

适用于