ECDiffieHellmanOpenSsl Класс

Определение

Предоставляет реализацию алгоритма elliptic curve Diffie-Hellman (ECDH), поддерживаемого 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

Комментарии

Этот класс следует использовать только непосредственно при выполнении взаимодействия платформы с системной библиотекой OpenSSL. Если взаимодействие платформы не требуется, вместо конкретной производной реализации следует использовать ECDiffieHellman.Create методы фабрики.

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

Имя Описание
ECDiffieHellmanOpenSsl()

Инициализирует новый экземпляр ECDiffieHellmanOpenSsl класса с кривой по умолчанию NIST P-521/secp521r1.

ECDiffieHellmanOpenSsl(ECCurve)

Инициализирует новый экземпляр ECDiffieHellmanOpenSsl класса и создает новый ключ для указанной кривой.

ECDiffieHellmanOpenSsl(Int32)

Инициализирует новый экземпляр класса по умолчанию для первичной кривой ECDiffieHellmanOpenSsl NIST указанного размера.

ECDiffieHellmanOpenSsl(IntPtr)

Инициализирует новый экземпляр класса из существующего ECDiffieHellmanOpenSsl ключа OpenSSL, представленного как .EC_KEY*

ECDiffieHellmanOpenSsl(SafeEvpPKeyHandle)

Инициализирует новый экземпляр класса из существующего ECDiffieHellmanOpenSsl ключа OpenSSL, представленного как .EVP_PKEY*

Поля

Имя Описание
KeySizeValue

Представляет размер в битах модуля ключа, используемого асимметричным алгоритмом.

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

Указывает размеры ключей, поддерживаемые асимметричным алгоритмом.

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

Свойства

Имя Описание
KeyExchangeAlgorithm

Возвращает имя алгоритма обмена ключами.

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

Возвращает или задает размер в битах модуля ключа, используемого асимметричным алгоритмом.

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

Возвращает размеры ключей, поддерживаемые асимметричным алгоритмом.

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

Получает открытый ключ, который может использоваться другим ECDiffieHellman объектом для создания соглашения общего секрета.

SignatureAlgorithm

Возвращает имя алгоритма подписи.

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

Методы

Имя Описание
Clear()

Освобождает все ресурсы, используемые классом AsymmetricAlgorithm .

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

Выполняет производный ключ с помощью заданного хэш-алгоритма с необязательными предварительно заданными или добавленными данными.

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

При реализации в производном классе выполняет производные ключи с помощью заданного хэш-алгоритма с необязательными предварительно заданными или добавленными данными.

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

Выполняет производный ключ с помощью указанного хэш-алгоритма.

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

Выполняет производный ключ с помощью указанного алгоритма HMAC (код проверки подлинности на основе хэша) с необязательными предварительно заданными или добавленными данными.

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

При реализации в производном классе выполняет производные ключи с помощью указанного алгоритма HMAC (хэш-код проверки подлинности сообщений) с необязательными предварительно заданными или добавленными данными.

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

Выполняет производный ключ с помощью заданного алгоритма HMAC (код проверки подлинности на основе хэша).

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

Выполняет производный ключ от общего секрета.

DeriveKeyMaterial(ECDiffieHellmanPublicKey)

При реализации в производном классе выполняет производный ключ от общего секрета.

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

Выполняет производный ключ с помощью ПРОТОКОЛА TLS (транспортная безопасность) 1.1 PRF (функцияPseudo-Random).

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

При реализации в производном классе выполняет производный ключ с помощью протокола TLS (transport Layer Security) 1.1 PRF (функцияPseudo-Random).

(Унаследовано от 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)

Экспортирует текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo с паролем на основе байтов, закодированным PEM.

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

Экспортирует текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo с паролем на основе символов, закодированным PEM.

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

Экспортирует данные открытого или открытого и закрытого ключа с помощью явной формы кривой из текущего ключа в ECParameters структуру, чтобы она была передана методу ImportParameters(ECParameters) .

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)

Создает новую эфемерную пару открытого и закрытого ключа для указанной кривой.

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>)

Импортирует ключ в кодировке PEM RFC 7468, заменив ключи для этого объекта.

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

Импортирует указанные параметры объекта ECCurve в качестве ключа в текущий экземпляр.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Импортирует открытый или закрытый ключ из структуры PKCS#8 PrivateKeyInfo после расшифровки, заменив ключи для этого объекта.

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

Импортирует открытый ключ из структуры SubjectPublicKeyInfo X.509 после расшифровки, заменив ключи для этого объекта.

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

Создает неглубокую копию текущей Object.

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

Возвращает строку, представляющую текущий объект.

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

Этот метод вызывается во всех случаях.

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

Пытается экспортировать текущий ключ в ECPrivateKey формате в предоставленный буфер.

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

Пытается экспортировать текущий ключ в формате ECPrivateKey с кодировкой PEM в предоставленный буфер.

(Унаследовано от 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)

Пытается экспортировать текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo с паролем на основе байтов, закодированным PEM.

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

Экспортирует текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo с паролем на основе символов, закодированным PEM.

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

Пытается экспортировать текущий ключ в формате PKCS#8 PrivateKeyInfo в предоставленный буфер.

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

Пытается экспортировать текущий ключ в формате PKCS#8 PrivateKeyInfo в предоставленный буфер.

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

Пытается экспортировать текущий ключ в формате SubjectPublicKeyInfo X.509 в предоставленный буфер.

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

Пытается экспортировать текущий ключ в формате X.509 SubjectPublicKeyInfo в предоставленный буфер.

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

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