ECDiffieHellman Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет абстрактный базовый класс, от производных от реализации алгоритмов Elliptic Curve Diffie-Hellman (ECDH). Этот класс предоставляет базовый набор операций, которые должны поддерживать все реализации ECDH.
public ref class ECDiffieHellman abstract : System::Security::Cryptography::ECAlgorithm
public ref class ECDiffieHellman abstract : System::Security::Cryptography::AsymmetricAlgorithm
public abstract class ECDiffieHellman : System.Security.Cryptography.ECAlgorithm
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public abstract class ECDiffieHellman : System.Security.Cryptography.AsymmetricAlgorithm
public abstract class ECDiffieHellman : System.Security.Cryptography.AsymmetricAlgorithm
type ECDiffieHellman = class
inherit ECAlgorithm
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type ECDiffieHellman = class
inherit AsymmetricAlgorithm
type ECDiffieHellman = class
inherit AsymmetricAlgorithm
Public MustInherit Class ECDiffieHellman
Inherits ECAlgorithm
Public MustInherit Class ECDiffieHellman
Inherits AsymmetricAlgorithm
- Наследование
- Наследование
- Производный
- Атрибуты
Комментарии
Этот класс служит абстрактным базовым классом для реализаций 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). |
| 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 после расшифровки с помощью пароля на основе байтов, заменив ключи для этого объекта. (Унаследовано от ECAlgorithm) |
| ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32) |
При переопределении в производном классе импортирует открытый и закрытый ключ из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки паролем на основе байтов, заменив ключи для этого объекта. (Унаследовано от AsymmetricAlgorithm) |
| ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32) |
Импортирует открытый или закрытый ключ из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки с помощью пароля на основе символов, заменив ключи для этого объекта. |
| ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32) |
Импортирует открытый или закрытый ключ из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки с помощью пароля на основе байтов, заменив ключи для этого объекта. (Унаследовано от ECAlgorithm) |
| ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32) |
При переопределении в производном классе импортирует открытый/закрытый ключ из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки паролем на основе символов, заменив ключи для этого объекта. (Унаследовано от AsymmetricAlgorithm) |
| ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>) |
Импортирует зашифрованный закрытый ключ в кодировке RFC 7468 PEM, заменив ключи для этого объекта. |
| 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, заменив ключи для этого объекта. (Унаследовано от ECAlgorithm) |
| ImportFromPem(ReadOnlySpan<Char>) |
Импортирует ключ в кодировке PEM RFC 7468, заменив ключи для этого объекта. |
| ImportFromPem(ReadOnlySpan<Char>) |
Импортирует ключ в кодировке PEM RFC 7468, заменив ключи для этого объекта. (Унаследовано от ECAlgorithm) |
| ImportParameters(ECParameters) |
При переопределении в производном классе импортирует указанные параметры для ECCurve эфемерного ключа в текущий ECDiffieHellman объект. |
| ImportParameters(ECParameters) |
При переопределении в производном классе импортирует указанный ECParametersобъект. (Унаследовано от ECAlgorithm) |
| ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32) |
Импортирует открытый или закрытый ключ из структуры PKCS#8 PrivateKeyInfo после расшифровки, заменив ключи для этого объекта. |
| ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32) |
Импортирует открытый или закрытый ключ из структуры PKCS#8 PrivateKeyInfo после расшифровки, заменив ключи для этого объекта. (Унаследовано от ECAlgorithm) |
| ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32) |
При переопределении в производном классе импортирует открытый или закрытый ключ из структуры PKCS#8 PrivateKeyInfo после расшифровки, заменив ключи для этого объекта. (Унаследовано от AsymmetricAlgorithm) |
| ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32) |
Импортирует открытый ключ из структуры SubjectPublicKeyInfo X.509 после расшифровки, заменив ключи для этого объекта. |
| ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32) |
Импортирует открытый ключ из структуры SubjectPublicKeyInfo X.509 после расшифровки, заменив ключи для этого объекта (Унаследовано от ECAlgorithm) |
| 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) |
Пытается экспортировать текущий ключ в |
| 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 в предоставленный буфер с помощью пароля на основе байтов. (Унаследовано от ECAlgorithm) |
| TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32) |
При переопределении в производном классе пытается экспортировать текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo в предоставленный буфер с помощью пароля на основе байтов. (Унаследовано от AsymmetricAlgorithm) |
| TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32) |
Пытается экспортировать текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo в предоставленный буфер, используя пароль на основе символов. |
| TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32) |
Пытается экспортировать текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo в предоставленный буфер, используя пароль на основе символов. (Унаследовано от ECAlgorithm) |
| TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32) |
При переопределении в производном классе пытается экспортировать текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo в предоставленный буфер с помощью пароля на основе символов. (Унаследовано от AsymmetricAlgorithm) |
| 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 в предоставленный буфер. (Унаследовано от ECAlgorithm) |
| TryExportPkcs8PrivateKey(Span<Byte>, Int32) |
При переопределении в производном классе пытается экспортировать текущий ключ в формате PKCS#8 PrivateKeyInfo в предоставленный буфер. (Унаследовано от AsymmetricAlgorithm) |
| TryExportPkcs8PrivateKeyPem(Span<Char>, Int32) |
Пытается экспортировать текущий ключ в формате PKCS#8 PrivateKeyInfo в предоставленный буфер. (Унаследовано от AsymmetricAlgorithm) |
| TryExportSubjectPublicKeyInfo(Span<Byte>, Int32) |
Пытается экспортировать текущий ключ в формате SubjectPublicKeyInfo X.509 в предоставленный буфер. |
| TryExportSubjectPublicKeyInfo(Span<Byte>, Int32) |
Пытается экспортировать текущий ключ в формате SubjectPublicKeyInfo X.509 в предоставленный буфер. (Унаследовано от ECAlgorithm) |
| TryExportSubjectPublicKeyInfo(Span<Byte>, Int32) |
При переопределении в производном классе пытается экспортировать текущий ключ в формате X.509 SubjectPublicKeyInfo в предоставленный буфер. (Унаследовано от AsymmetricAlgorithm) |
| TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32) |
Пытается экспортировать текущий ключ в формате X.509 SubjectPublicKeyInfo в предоставленный буфер. (Унаследовано от AsymmetricAlgorithm) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IDisposable.Dispose() |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Описание этого элемента см. в разделе Dispose(). (Унаследовано от AsymmetricAlgorithm) |