Поделиться через


ECDiffieHellman Класс

Определение

Предоставляет абстрактный базовый класс, из которого создаются реализации алгоритма Диффи-Хеллмана на эллиптических кривых (ECDH). Этот класс предоставляет базовый набор операций, которые должны поддерживать все реализации алгоритма ECDH.

public ref class ECDiffieHellman abstract : System::Security::Cryptography::AsymmetricAlgorithm
public ref class ECDiffieHellman abstract : System::Security::Cryptography::ECAlgorithm
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public abstract class ECDiffieHellman : System.Security.Cryptography.AsymmetricAlgorithm
public abstract class ECDiffieHellman : System.Security.Cryptography.ECAlgorithm
public abstract class ECDiffieHellman : System.Security.Cryptography.AsymmetricAlgorithm
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type ECDiffieHellman = class
    inherit AsymmetricAlgorithm
type ECDiffieHellman = class
    inherit ECAlgorithm
type ECDiffieHellman = class
    inherit AsymmetricAlgorithm
Public MustInherit Class ECDiffieHellman
Inherits AsymmetricAlgorithm
Public MustInherit Class ECDiffieHellman
Inherits ECAlgorithm
Наследование
ECDiffieHellman
Наследование
Производный
Атрибуты

Комментарии

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

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

ECDiffieHellman()

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

Поля

KeySizeValue

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

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

Задает размеры ключа, которые поддерживаются алгоритмом асимметричного шифрования.

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

Свойства

KeyExchangeAlgorithm

Получает имя алгоритма обмена ключами.

KeySize

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

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

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

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

Получает открытый ключ, используемый текущим экземпляром ECDH.

SignatureAlgorithm

Получает имя алгоритма подписи.

Методы

Clear()

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

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

Создает новый экземпляр реализации по умолчанию алгоритма Диффи-Хеллмана на эллиптических кривых (ECDH).

Create(ECCurve)

Создает новый экземпляр реализации по умолчанию алгоритма эллиптической кривой Диффи-Хелмана (ECDH) с новой парой открытого и закрытого ключей, созданных на основе указанной кривой.

Create(ECParameters)

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

Create(String)
Устаревшие..

Создает новый экземпляр заданной реализации по умолчанию алгоритма Диффи-Хеллмана на эллиптических кривых (ECDH).

DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

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

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

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

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

Выполняет формирование ключа с использованием указанного алгоритма HMAC.

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

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

DeriveKeyMaterial(ECDiffieHellmanPublicKey)

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

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

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

DeriveRawSecretAgreement(ECDiffieHellmanPublicKey)

Получение исходного материала ключа.

Dispose()

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

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

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

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

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

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

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

ExportECPrivateKey()

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

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

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

ExportExplicitParameters(Boolean)

При переопределении в производном классе экспортирует явный ECParameters объект для ECCurve.

(Унаследовано от ECAlgorithm)
ExportParameters(Boolean)

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

ExportParameters(Boolean)

При переопределении в производном классе экспортирует именованный или явный ECParameters для ECCurve. Если кривая имеет имя, свойство Curve будет содержать именованные параметры кривой, в противном случае оно будет содержать явные параметры.

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

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

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

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

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

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

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

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

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

Этот метод выдает исключение во всех случаях.

FromXmlString(String)

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

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

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

GenerateKey(ECCurve)

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

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

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

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

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

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

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

ImportECPrivateKey(ReadOnlySpan<Byte>, Int32)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

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

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

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

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

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

ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

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

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

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

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

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

ImportFromPem(ReadOnlySpan<Char>)

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

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

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

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

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

ImportParameters(ECParameters)

Если переопределено в производном классе, импортирует заданный объект ECParameters.

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

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

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

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

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

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

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

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

ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

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

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

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

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

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

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

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

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

Этот метод выдает исключение во всех случаях.

ToXmlString(Boolean)

Если переопределено в производном классе, создает и возвращает представление текущего объекта AsymmetricAlgorithm в виде XML-строки. В противном случае создается исключение NotImplementedException.

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

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

TryExportECPrivateKey(Span<Byte>, Int32)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(Унаследовано от ECAlgorithm)
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 в предоставленный буфер.

TryExportPkcs8PrivateKey(Span<Byte>, Int32)

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

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

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

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

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

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

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

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

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

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

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

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

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

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

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

IDisposable.Dispose()

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

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

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

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