ECDiffieHellman Класс

Определение

Предоставляет абстрактный базовый класс, от производных от реализации алгоритмов Elliptic Curve Diffie-Hellman (ECDH). Этот класс предоставляет базовый набор операций, которые должны поддерживать все реализации ECDH.

public ref class ECDiffieHellman abstract : System::Security::Cryptography::AsymmetricAlgorithm
public abstract class ECDiffieHellman : System.Security.Cryptography.AsymmetricAlgorithm
type ECDiffieHellman = class
    inherit AsymmetricAlgorithm
Public MustInherit Class ECDiffieHellman
Inherits AsymmetricAlgorithm
Наследование
ECDiffieHellman
Производный

Комментарии

Этот класс служит абстрактным базовым классом для реализаций ECDH.

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

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

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

Поля

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

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

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

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

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

Свойства

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

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

KeySize

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

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

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

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

Возвращает открытый ключ, используемый текущим экземпляром Diffie-Hellman эллиптических кривых (ECDH).

SignatureAlgorithm

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

Методы

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

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

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

Создает новый экземпляр реализации по умолчанию алгоритма elliptic Curve Diffie-Hellman (ECDH).

Create(ECCurve)

Создает новый экземпляр реализации по умолчанию алгоритма elliptic Curve Diffie-Hellman (ECDH) с новой парой открытого и закрытого ключа, созданной по заданной кривой.

Create(ECParameters)

Создает новый экземпляр реализации по умолчанию алгоритма elliptic Curve Diffie-Hellman (ECDH) с ключом, описанным указанным ECParameters объектом.

Create(String)

Создает новый экземпляр указанной реализации алгоритма elliptic Curve Diffie-Hellman (ECDH).

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

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

DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

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

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

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

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

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

DeriveKeyMaterial(ECDiffieHellmanPublicKey)

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

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

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

Dispose()

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

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

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

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

Определяет, равен ли указанный объект текущему объекту.

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

Экспортирует текущий ключ в формате ECPrivateKey.

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

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

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

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

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

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

ExportParameters(Boolean)

При переопределении в производном классе экспортирует данные открытого или закрытого ключа из рабочего ECDiffieHellman ключа ECParameters в структуру, чтобы его можно было передать методу ImportParameters(ECParameters) .

ExportPkcs8PrivateKey()

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

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

Экспортирует часть открытого ключа текущего ключа в формате X.509 SubjectPublicKeyInfo.

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

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

FromXmlString(String)

При переопределении в производном классе восстанавливает AsymmetricAlgorithm объект из XML-строки. В противном случае вызывает NotImplementedExceptionисключение .

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

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

GetHashCode()

Служит хэш-функцией по умолчанию.

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

Возвращает Type текущего экземпляра.

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

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

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

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

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

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

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

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

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

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

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

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

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

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

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

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

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

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

ToXmlString(Boolean)

При переопределении в производном классе создает и возвращает xml-строковое представление текущего AsymmetricAlgorithm объекта. В противном случае вызывает NotImplementedExceptionисключение .

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

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

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

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

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

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

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

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

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

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

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

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

Имя Описание
IDisposable.Dispose()

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

Описание этого элемента см. в разделе Dispose().

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

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