ECDiffieHellmanOpenSsl Класс

Определение

Предоставляет реализацию алгоритма эллиптических кривых Диффи-Хелмана (ECDH) на основе OpenSSL.Provides an implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm backed by OpenSSL.

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

Комментарии

Этот класс следует использовать непосредственно при взаимодействии платформ с библиотекой System OpenSSL.This class should only be used directly when doing platform interop with the system OpenSSL library. Если взаимодействие с платформой не требуется, следует использовать ECDiffieHellman.Create фабричные методы вместо определенной производной реализации.When platform interop is not needed, you should use the ECDiffieHellman.Create factory methods instead of a specific derived implementation.

Конструкторы

ECDiffieHellmanOpenSsl()

Инициализирует новый экземпляр класса ECDiffieHellmanOpenSsl с кривой по умолчанию NIST P-521/secp521r1.Initializes a new instance of the ECDiffieHellmanOpenSsl class with a default curve of NIST P-521/secp521r1.

ECDiffieHellmanOpenSsl(ECCurve)

Инициализирует новый экземпляр класса ECDiffieHellmanOpenSsl и создает ключ на основе указанной кривой.Initializes a new instance of the ECDiffieHellmanOpenSsl class and generates a new key on the specified curve.

ECDiffieHellmanOpenSsl(Int32)

Инициализирует новый экземпляр класса ECDiffieHellmanOpenSsl, по умолчанию содержащий простую кривую NIST указанного размера.Initializes a new instance of the ECDiffieHellmanOpenSsl class defaulting to the NIST prime curve of the specified size.

ECDiffieHellmanOpenSsl(IntPtr)

Инициализирует новый экземпляр класса ECDiffieHellmanOpenSsl из существующего ключа OpenSSL, представленного в виде EC_KEY*.Initializes a new instance of the ECDiffieHellmanOpenSsl class from an existing OpenSSL key represented as an EC_KEY*.

ECDiffieHellmanOpenSsl(SafeEvpPKeyHandle)

Инициализирует новый экземпляр класса ECDiffieHellmanOpenSsl из существующего ключа OpenSSL, представленного в виде EVP_PKEY*.Initializes a new instance of the ECDiffieHellmanOpenSsl class from an existing OpenSSL key represented as an EVP_PKEY*.

Поля

KeySizeValue

Представляет размер модуля ключа (в битах), используемого алгоритмом асимметричного шифрования.Represents the size, in bits, of the key modulus used by the asymmetric algorithm.

(Унаследовано от AsymmetricAlgorithm)
LegalKeySizesValue

Задает размеры ключа, которые поддерживаются алгоритмом асимметричного шифрования.Specifies the key sizes that are supported by the asymmetric algorithm.

(Унаследовано от AsymmetricAlgorithm)

Свойства

KeyExchangeAlgorithm

Получает имя алгоритма обмена ключами.Gets the name of the key exchange algorithm.

(Унаследовано от ECDiffieHellman)
KeySize

Получает или задает размер модуля ключа (в битах), используемого алгоритмом асимметричного шифрования.Gets or sets the size, in bits, of the key modulus used by the asymmetric algorithm.

(Унаследовано от AsymmetricAlgorithm)
LegalKeySizes

Возвращает размеры ключа, которые поддерживаются алгоритмом асимметричного шифрования.Gets the key sizes that are supported by the asymmetric algorithm.

(Унаследовано от AsymmetricAlgorithm)
PublicKey

Получает открытый ключ, который может использоваться другим объектом ECDiffieHellman для генерации секретного соглашения.Gets the public key that can be used by another ECDiffieHellman object to generate a shared secret agreement.

SignatureAlgorithm

Получает имя алгоритма подписи.Gets the name of the signature algorithm.

(Унаследовано от ECDiffieHellman)

Методы

Clear()

Освобождает все ресурсы, используемые классом AsymmetricAlgorithm.Releases all resources used by the AsymmetricAlgorithm class.

(Унаследовано от AsymmetricAlgorithm)
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

Выполняет формирование ключа с использованием указанного хэш-алгоритма.Performs key derivation using a specified hash algorithm.

(Унаследовано от ECDiffieHellman)
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[])

Выполняет формирование ключа с использованием указанного хэш-алгоритма с дополнительными данными, добавленными в начале или конце.Performs key derivation using a specified hash algorithm with optional prepended or appended data.

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

Выполняет формирование ключа с использованием указанного алгоритма HMAC.Performs key derivation using a specified HMAC (Hash-based Message Authentication Code) algorithm.

(Унаследовано от ECDiffieHellman)
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[])

Выполняет формирование ключа с использованием указанного алгоритма HMAC с дополнительными данными, добавленными в начале или конце.Performs key derivation using a specified HMAC (Hash-based Message Authentication Code) algorithm with optional prepended or appended data.

DeriveKeyMaterial(ECDiffieHellmanPublicKey)

Выполняет формирование ключа для общего секрета.Performs a key derivation on the shared secret.

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

Выполняет формирование ключа с использованием псевдослучайной функции (PRF) протокола TLS 1.1.Performs key derivation using the TLS (Transport Layer Security) 1.1 PRF (Pseudo-Random Function).

Dispose()

Освобождает все ресурсы, используемые текущим экземпляром класса AsymmetricAlgorithm.Releases all resources used by the current instance of the AsymmetricAlgorithm class.

(Унаследовано от AsymmetricAlgorithm)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые классом AsymmetricAlgorithm (при необходимости освобождает и управляемые ресурсы).Releases the unmanaged resources used by the AsymmetricAlgorithm class and optionally releases the managed resources.

(Унаследовано от AsymmetricAlgorithm)
DuplicateKeyHandle()

Возвращает представление SafeEvpPKeyHandle криптографического ключа.Gets a SafeEvpPKeyHandle representation of the cryptographic key.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
ExportECPrivateKey()

Экспортирует текущий ключ в формате ECPrivateKey.Exports the current key in the ECPrivateKey format.

(Унаследовано от ECDiffieHellman)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Экспортирует текущий ключ в формате PKCS #8 EncryptedPrivateKeyInfo с паролем, основанным на байтах.Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a byte-based password.

(Унаследовано от AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Экспортирует текущий ключ в формате PKCS #8 EncryptedPrivateKeyInfo с паролем, основанным на символах.Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a char-based password.

(Унаследовано от AsymmetricAlgorithm)
ExportExplicitParameters(Boolean)

Экспортирует сведения об открытом или открытом и закрытом ключах, используя формат явной кривой, из текущего ключа в структуру ECParameters таким образом, чтобы их можно было передать в метод ImportParameters(ECParameters).Exports either the public or the public and private key information using the explicit curve form from the current key to an ECParameters structure so that it can be passed to the ImportParameters(ECParameters) method.

ExportParameters(Boolean)

Экспортирует ключ, используемый объектом ECCurve, в объект ECParameters.Exports the key used by the ECCurve object into an ECParameters object.

ExportPkcs8PrivateKey()

Экспортирует текущий ключ в формате PKCS#8 PrivateKeyInfo.Exports the current key in the PKCS#8 PrivateKeyInfo format.

(Унаследовано от AsymmetricAlgorithm)
ExportSubjectPublicKeyInfo()

Экспортирует открытую часть текущего ключа в формате X.509 SubjectPublicKeyInfo.Exports the public-key portion of the current key in the X.509 SubjectPublicKeyInfo format.

(Унаследовано от AsymmetricAlgorithm)
FromXmlString(String)

Этот метод выдает исключение во всех случаях.This method throws in all cases.

(Унаследовано от ECDiffieHellman)
GenerateKey(ECCurve)

Создает новую пару открытого и закрытого эфемерных ключей для указанной кривой.Generates a new ephemeral public/private key pair for the specified curve.

GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
ImportECPrivateKey(ReadOnlySpan<Byte>, Int32)

Импортирует пару открытого и закрытого ключей из структуры ECPrivateKey и заменяет ключи для этого объекта.Imports the public/private keypair from an ECPrivateKey structure, replacing the keys for this object.

(Унаследовано от ECDiffieHellman)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Импортирует пару из открытого и закрытого ключей из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки с помощью пароля на основе байтов, заменяя ключи для этого объекта.Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a byte-based password, replacing the keys for this object.

(Унаследовано от ECDiffieHellman)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Импортирует пару из открытого и закрытого ключей из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки с помощью пароля на основе символов, заменяя ключи для этого объекта.Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a char-based password, replacing the keys for this object.

(Унаследовано от ECDiffieHellman)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

Импортирует зашифрованный закрытый ключ в формате RFC 7468 в кодировке PEM, заменяя ключи для этого объекта.Imports an encrypted RFC 7468 PEM-encoded private key, replacing the keys for this object.

(Унаследовано от ECDiffieHellman)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Импортирует зашифрованный закрытый ключ в формате RFC 7468 в кодировке PEM, заменяя ключи для этого объекта.Imports an encrypted RFC 7468 PEM-encoded private key, replacing the keys for this object.

(Унаследовано от ECDiffieHellman)
ImportFromPem(ReadOnlySpan<Char>)

Импортирует зашифрованный ключ в формате RFC 7468 в кодировке PEM, заменив ключи для этого объекта.Imports an RFC 7468 PEM-encoded key, replacing the keys for this object.

(Унаследовано от ECDiffieHellman)
ImportParameters(ECParameters)

Импортирует заданные параметры для объекта ECCurve как ключ в текущий экземпляр.Imports the specified parameters for an ECCurve object as a key into the current instance.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Импортирует пару из открытого и закрытого ключей из структуры PKCS#8 PrivateKeyInfo после расшифровки, заменяя ключи для этого объекта.Imports the public/private keypair from a PKCS#8 PrivateKeyInfo structure after decryption, replacing the keys for this object.

(Унаследовано от ECDiffieHellman)
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Импортирует открытый ключ из структуры X.509 SubjectPublicKeyInfo после расшифровки, заменяя ключи для этого объекта.Imports the public key from an X.509 SubjectPublicKeyInfo structure after decryption, replacing the keys for this object.

(Унаследовано от ECDiffieHellman)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)
ToXmlString(Boolean)

Этот метод выдает исключение во всех случаях.This method throws in all cases.

(Унаследовано от ECDiffieHellman)
TryExportECPrivateKey(Span<Byte>, Int32)

Пытается экспортировать текущий ключ в формате ECPrivateKey в предоставленный буфер.Attempts to export the current key in the ECPrivateKey format into a provided buffer.

(Унаследовано от ECDiffieHellman)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

Пытается экспортировать текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo в предоставленный буфер с использованием пароля на основе байтов.Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a byte-based password.

(Унаследовано от ECDiffieHellman)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

Пытается экспортировать текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo в предоставленный буфер с использованием пароля на основе символов.Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a char-based password.

(Унаследовано от ECDiffieHellman)
TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Пытается экспортировать текущий ключ в формате PKCS#8 PrivateKeyInfo в предоставленный буфер.Attempts to export the current key in the PKCS#8 PrivateKeyInfo format into a provided buffer.

(Унаследовано от ECDiffieHellman)
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Пытается экспортировать текущий ключ в формате X.509 SubjectPublicKeyInfo в предоставленный буфер.Attempts to export the current key in the X.509 SubjectPublicKeyInfo format into a provided buffer.

(Унаследовано от ECDiffieHellman)

Явные реализации интерфейса

IDisposable.Dispose()

Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода.

Описание этого члена см. в разделе Dispose().For a description of this member, see Dispose().

(Унаследовано от AsymmetricAlgorithm)

Применяется к