ECDiffieHellmanCng Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zapewnia implementację algorytmu Elliptic Curve Diffie-Hellman (ECDH) kryptografii nowej generacji (CNG). Ta klasa służy do wykonywania operacji kryptograficznych.
public ref class ECDiffieHellmanCng sealed : System::Security::Cryptography::ECDiffieHellman
public sealed class ECDiffieHellmanCng : System.Security.Cryptography.ECDiffieHellman
type ECDiffieHellmanCng = class
inherit ECDiffieHellman
Public NotInheritable Class ECDiffieHellmanCng
Inherits ECDiffieHellman
- Dziedziczenie
- Dziedziczenie
Przykłady
W poniższym przykładzie pokazano, jak użyć ECDiffieHellmanCng klasy do ustanowienia wymiany kluczy i jak użyć tego klucza do szyfrowania komunikatu, który można wysłać za pośrednictwem kanału publicznego i odszyfrować przez odbiornik.
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
class Alice
{
public static byte[] alicePublicKey;
public static void Main(string[] args)
{
using (ECDiffieHellmanCng alice = new ECDiffieHellmanCng())
{
alice.KeyDerivationFunction = ECDiffieHellmanKeyDerivationFunction.Hash;
alice.HashAlgorithm = CngAlgorithm.Sha256;
alicePublicKey = alice.PublicKey.ToByteArray();
Bob bob = new Bob();
CngKey bobKey = CngKey.Import(bob.bobPublicKey, CngKeyBlobFormat.EccPublicBlob);
byte[] aliceKey = alice.DeriveKeyMaterial(bobKey);
byte[] encryptedMessage = null;
byte[] iv = null;
Send(aliceKey, "Secret message", out encryptedMessage, out iv);
bob.Receive(encryptedMessage, iv);
}
}
private static void Send(byte[] key, string secretMessage, out byte[] encryptedMessage, out byte[] iv)
{
using (Aes aes = new AesCryptoServiceProvider())
{
aes.Key = key;
iv = aes.IV;
// Encrypt the message
using (MemoryStream ciphertext = new MemoryStream())
using (CryptoStream cs = new CryptoStream(ciphertext, aes.CreateEncryptor(), CryptoStreamMode.Write))
{
byte[] plaintextMessage = Encoding.UTF8.GetBytes(secretMessage);
cs.Write(plaintextMessage, 0, plaintextMessage.Length);
cs.Close();
encryptedMessage = ciphertext.ToArray();
}
}
}
}
public class Bob
{
public byte[] bobPublicKey;
private byte[] bobKey;
public Bob()
{
using (ECDiffieHellmanCng bob = new ECDiffieHellmanCng())
{
bob.KeyDerivationFunction = ECDiffieHellmanKeyDerivationFunction.Hash;
bob.HashAlgorithm = CngAlgorithm.Sha256;
bobPublicKey = bob.PublicKey.ToByteArray();
bobKey = bob.DeriveKeyMaterial(CngKey.Import(Alice.alicePublicKey, CngKeyBlobFormat.EccPublicBlob));
}
}
public void Receive(byte[] encryptedMessage, byte[] iv)
{
using (Aes aes = new AesCryptoServiceProvider())
{
aes.Key = bobKey;
aes.IV = iv;
// Decrypt the message
using (MemoryStream plaintext = new MemoryStream())
{
using (CryptoStream cs = new CryptoStream(plaintext, aes.CreateDecryptor(), CryptoStreamMode.Write))
{
cs.Write(encryptedMessage, 0, encryptedMessage.Length);
cs.Close();
string message = Encoding.UTF8.GetString(plaintext.ToArray());
Console.WriteLine(message);
}
}
}
}
}
Imports System.IO
Imports System.Security.Cryptography
Imports System.Text
Class Alice
Public Shared alicePublicKey() As Byte
Public Shared Sub Main(ByVal args() As String)
Using alice As New ECDiffieHellmanCng()
alice.KeyDerivationFunction = ECDiffieHellmanKeyDerivationFunction.Hash
alice.HashAlgorithm = CngAlgorithm.Sha256
alicePublicKey = alice.PublicKey.ToByteArray()
Dim bob As New Bob()
Dim k As CngKey = CngKey.Import(bob.bobPublicKey, CngKeyBlobFormat.EccPublicBlob)
Dim aliceKey As Byte() = alice.DeriveKeyMaterial(CngKey.Import(bob.bobPublicKey, CngKeyBlobFormat.EccPublicBlob))
Dim encryptedMessage As Byte() = Nothing
Dim iv As Byte() = Nothing
Send(aliceKey, "Secret message", encryptedMessage, iv)
bob.Receive(encryptedMessage, iv)
End Using
End Sub
Private Shared Sub Send(ByVal key() As Byte, ByVal secretMessage As String, ByRef encryptedMessage() As Byte, ByRef iv() As Byte)
Using aes As New AesCryptoServiceProvider()
aes.Key = key
iv = aes.IV
' Encrypt the message
Using ciphertext As New MemoryStream()
Using cs As New CryptoStream(ciphertext, aes.CreateEncryptor(), CryptoStreamMode.Write)
Dim plaintextMessage As Byte() = Encoding.UTF8.GetBytes(secretMessage)
cs.Write(plaintextMessage, 0, plaintextMessage.Length)
cs.Close()
encryptedMessage = ciphertext.ToArray()
End Using
End Using
End Using
End Sub
End Class
Public Class Bob
Public bobPublicKey() As Byte
Private bobKey() As Byte
Public Sub New()
Using bob As New ECDiffieHellmanCng()
bob.KeyDerivationFunction = ECDiffieHellmanKeyDerivationFunction.Hash
bob.HashAlgorithm = CngAlgorithm.Sha256
bobPublicKey = bob.PublicKey.ToByteArray()
bobKey = bob.DeriveKeyMaterial(CngKey.Import(Alice.alicePublicKey, CngKeyBlobFormat.EccPublicBlob))
End Using
End Sub
Public Sub Receive(ByVal encryptedMessage() As Byte, ByVal iv() As Byte)
Using aes As New AesCryptoServiceProvider()
aes.Key = bobKey
aes.IV = iv
' Decrypt the message
Using plaintext As New MemoryStream()
Using cs As New CryptoStream(plaintext, aes.CreateDecryptor(), CryptoStreamMode.Write)
cs.Write(encryptedMessage, 0, encryptedMessage.Length)
cs.Close()
Dim message As String = Encoding.UTF8.GetString(plaintext.ToArray())
Console.WriteLine(message)
End Using
End Using
End Using
End Sub
End Class
Uwagi
Klasa ECDiffieHellmanCng umożliwia dwóm stronom wymianę materiału klucza prywatnego, nawet jeśli komunikują się za pośrednictwem kanału publicznego. Obie strony mogą obliczyć tę samą wartość wpisu tajnego, która jest określana jako umowa wpisów tajnych w zarządzanych klasach Diffie-Hellman. Następnie można użyć umowy tajnej do różnych celów, w tym jako klucza symetrycznego. Jednak zamiast bezpośrednio ujawniać tajną umowę, ECDiffieHellmanCng klasa wykonuje pewne czynności po przetworzeniu umowy przed dostarczeniem wartości. To przetwarzanie końcowe jest określane jako funkcja wyprowadzania klucza (KDF); Możesz wybrać, którego KDF chcesz użyć i ustawić jego parametry za pomocą zestawu właściwości w wystąpieniu obiektu Diffie-Hellman.
Funkcja wyprowadzania kluczy | Właściwości |
---|---|
Hash |
HashAlgorithm - Algorytm skrótu używany do przetwarzania umowy tajnej. SecretPrepend - Opcjonalna tablica bajtów, która ma poprzedzać umowę wpisu tajnego przed utworzeniem skrótu. SecretAppend - Opcjonalna tablica bajtów dołączana do umowy tajnej przed utworzeniem skrótu. |
Hmac |
HashAlgorithm - Algorytm skrótu używany do przetwarzania umowy tajnej. SecretPrepend- Opcjonalna tablica bajtów, która ma poprzedzać umowę wpisu tajnego przed utworzeniem skrótu. SecretAppend - Opcjonalna tablica bajtów dołączana do umowy tajnej przed utworzeniem skrótu. |
Tls |
Label - Etykieta wyprowadzania klucza. Seed - Inicjator wyprowadzania klucza. |
Wynikiem przekazania umowy tajnej za pośrednictwem funkcji wyprowadzania kluczy jest tablica bajtów, która może być używana jako materiał klucza dla aplikacji. Liczba bajtów wygenerowanego materiału klucza zależy od funkcji wyprowadzania klucza; Na przykład algorytm SHA-256 wygeneruje 256 bitów materiału klucza, a algorytm SHA-512 wygeneruje 512 bitów materiału klucza. Podstawowy przepływ wymiany kluczy ECDH jest następujący:
Alice i Bob tworzą parę kluczy do użycia na potrzeby operacji wymiany kluczy Diffie-Hellman
Alicja i Bob konfigurują usługę KDF przy użyciu parametrów, na których się zgadzasz.
Alice wysyła Bobowi swój klucz publiczny.
Bob wysyła Alice swój klucz publiczny.
Alice i Bob używają kluczy publicznych do wygenerowania tajnej umowy i zastosowania usługi KDF do tajnej umowy w celu wygenerowania materiału klucza.
Konstruktory
ECDiffieHellmanCng() |
Inicjuje ECDiffieHellmanCng nowe wystąpienie klasy z losową parą kluczy. |
ECDiffieHellmanCng(CngKey) |
Inicjuje ECDiffieHellmanCng nowe wystąpienie klasy przy użyciu określonego CngKey obiektu. |
ECDiffieHellmanCng(ECCurve) |
Tworzy nowe wystąpienie ECDiffieHellmanCng klasy, której para kluczy publicznych/prywatnych jest generowana na określonej krzywej. |
ECDiffieHellmanCng(Int32) |
Inicjuje nowe wystąpienie ECDiffieHellmanCng klasy z losową parą kluczy przy użyciu określonego rozmiaru klucza. |
Pola
KeySizeValue |
Reprezentuje rozmiar w bitach modułu klucza używanego przez algorytm asymetryczny. (Odziedziczone po AsymmetricAlgorithm) |
LegalKeySizesValue |
Określa rozmiary kluczy obsługiwane przez algorytm asymetryczny. (Odziedziczone po AsymmetricAlgorithm) |
Właściwości
HashAlgorithm |
Pobiera lub ustawia algorytm wyznaczania wartości skrótu do użycia podczas generowania materiału klucza. |
HmacKey |
Pobiera lub ustawia klucz uwierzytelniania komunikatów oparty na skrótach (HMAC) do użycia podczas wyprowadzania materiału klucza. |
Key |
Określa CngKey , który jest używany przez bieżący obiekt na potrzeby operacji kryptograficznych. |
KeyDerivationFunction |
Pobiera lub ustawia funkcję wyprowadzania klucza dla ECDiffieHellmanCng klasy. |
KeyExchangeAlgorithm |
Pobiera nazwę algorytmu wymiany kluczy. (Odziedziczone po ECDiffieHellman) |
KeySize |
Pobiera lub ustawia rozmiar w bitach modułu klucza używanego przez algorytm asymetryczny. |
KeySize |
Pobiera lub ustawia rozmiar w bitach modułu klucza używanego przez algorytm asymetryczny. (Odziedziczone po AsymmetricAlgorithm) |
Label |
Pobiera lub ustawia wartość etykiety, która jest używana do wyprowadzania klucza. |
LegalKeySizes |
Pobiera rozmiary kluczy obsługiwane przez algorytm asymetryczny. |
LegalKeySizes |
Pobiera rozmiary kluczy obsługiwane przez algorytm asymetryczny. (Odziedziczone po AsymmetricAlgorithm) |
PublicKey |
Pobiera klucz publiczny, który może być używany przez inny ECDiffieHellmanCng obiekt w celu wygenerowania wspólnej umowy wpisów tajnych. |
SecretAppend |
Pobiera lub ustawia wartość, która zostanie dołączona do umowy tajnej podczas generowania materiału klucza. |
SecretPrepend |
Pobiera lub ustawia wartość, która zostanie dodana na początku umowy tajnej podczas wyprowadzania materiału klucza. |
Seed |
Pobiera lub ustawia wartość nasion, która będzie używana podczas wyprowadzania materiału klucza. |
SignatureAlgorithm |
Pobiera nazwę algorytmu podpisu. (Odziedziczone po ECDiffieHellman) |
UseSecretAgreementAsHmacKey |
Pobiera wartość wskazującą, czy umowa wpisów tajnych jest używana jako klucz kodu uwierzytelniania komunikatów oparty na skrótach (HMAC) w celu uzyskania materiału klucza. |
Metody
Clear() |
Zwalnia wszystkie zasoby używane przez klasę AsymmetricAlgorithm . (Odziedziczone po AsymmetricAlgorithm) |
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName) |
Wykonuje wyprowadzanie klucza przy użyciu określonego algorytmu wyznaczania wartości skrótu. (Odziedziczone po ECDiffieHellman) |
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[]) |
Wykonuje wyprowadzanie klucza przy użyciu określonego algorytmu wyznaczania wartości skrótu z opcjonalnymi wstępnie utworzonymi lub dołączonymi danymi. |
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[]) |
W przypadku implementacji w klasie pochodnej wykonuje wyprowadzanie klucza przy użyciu określonego algorytmu wyznaczania wartości skrótu z opcjonalnymi danymi wstępnie dodanymi lub dołączonymi. (Odziedziczone po ECDiffieHellman) |
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[]) |
Wykonuje wyprowadzanie klucza przy użyciu określonego algorytmu HMAC (opartego na skrótach kodu uwierzytelniania komunikatów). (Odziedziczone po ECDiffieHellman) |
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[]) |
Wykonuje wyprowadzanie klucza przy użyciu określonego algorytmu HMAC (opartego na skrótach kodu uwierzytelniania komunikatów) z opcjonalnymi danymi wstępnie dodanymi lub dołączonymi. |
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[]) |
W przypadku implementacji w klasie pochodnej wykonuje wyprowadzanie klucza przy użyciu określonego algorytmu HMAC (kod uwierzytelniania komunikatów opartych na skrótach) z opcjonalnymi prepended lub dołączonymi danymi. (Odziedziczone po ECDiffieHellman) |
DeriveKeyMaterial(CngKey) |
Tworzy kluczowy materiał generowany na podstawie umowy tajnej między dwiema stronami, biorąc pod uwagę CngKey obiekt, który zawiera klucz publiczny drugiej strony. |
DeriveKeyMaterial(ECDiffieHellmanPublicKey) |
Tworzy materiał klucza generowany na podstawie umowy tajnej między dwiema stronami, biorąc pod uwagę ECDiffieHellmanPublicKey obiekt, który zawiera klucz publiczny drugiej strony. |
DeriveKeyTls(ECDiffieHellmanPublicKey, Byte[], Byte[]) |
Wykonuje wyprowadzanie klucza przy użyciu protokołu TLS (Transport Layer Security) 1.1 PRF (pseudo-losowa funkcja). |
DeriveKeyTls(ECDiffieHellmanPublicKey, Byte[], Byte[]) |
W przypadku implementacji w klasie pochodnej wykonuje wyprowadzanie klucza przy użyciu protokołu TLS (Transport Layer Security) 1.1 PRF (pseudo-losowa funkcja). (Odziedziczone po ECDiffieHellman) |
DeriveRawSecretAgreement(ECDiffieHellmanPublicKey) |
Uzyskiwanie materiału klucza pierwotnego. (Odziedziczone po ECDiffieHellman) |
DeriveSecretAgreementHandle(CngKey) |
Pobiera dojście do umowy tajnej wygenerowanej między dwiema stronami, biorąc pod uwagę CngKey obiekt zawierający klucz publiczny drugiej strony. |
DeriveSecretAgreementHandle(ECDiffieHellmanPublicKey) |
Pobiera dojście do umowy tajnej wygenerowanej między dwiema stronami, biorąc pod uwagę ECDiffieHellmanPublicKey obiekt zawierający klucz publiczny drugiej strony. |
Dispose() |
Zwalnia wszystkie zasoby używane przez bieżące wystąpienie klasy AsymmetricAlgorithm. (Odziedziczone po AsymmetricAlgorithm) |
Dispose(Boolean) |
Zwalnia niezarządzane zasoby używane przez klasę AsymmetricAlgorithm i opcjonalnie zwalnia zarządzane zasoby. (Odziedziczone po AsymmetricAlgorithm) |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
ExportECPrivateKey() |
Eksportuje bieżący klucz w formacie ECPrivateKey. (Odziedziczone po ECDiffieHellman) |
ExportECPrivateKeyPem() |
Eksportuje bieżący klucz w formacie ECPrivateKey, zakodowany PEM. (Odziedziczone po ECAlgorithm) |
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters) |
Eksportuje bieżący klucz w formacie PKCS#8 EncryptedPrivateKeyInfo przy użyciu hasła opartego na bajtach. |
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters) |
Eksportuje bieżący klucz w formacie PKCS#8 EncryptedPrivateKeyInfo przy użyciu hasła opartego na bajtach. (Odziedziczone po AsymmetricAlgorithm) |
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters) |
Eksportuje bieżący klucz w formacie PKCS#8 EncryptedPrivateKeyInfo z hasłem opartym na znakach. |
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters) |
Eksportuje bieżący klucz w formacie PKCS#8 EncryptedPrivateKeyInfo z hasłem opartym na znakach. (Odziedziczone po AsymmetricAlgorithm) |
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters) |
Eksportuje bieżący klucz w formacie PKCS#8 EncryptedPrivateKeyInfo z hasłem opartym na bajtach, zakodowanym PEM. (Odziedziczone po AsymmetricAlgorithm) |
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters) |
Eksportuje bieżący klucz w formacie PKCS#8 EncryptedPrivateKeyInfo z hasłem opartym na char, zakodowanym PEM. (Odziedziczone po AsymmetricAlgorithm) |
ExportExplicitParameters(Boolean) |
Eksportuje klucz i jawne parametry krzywej używane przez ECCurve obiekt do ECParameters obiektu. |
ExportExplicitParameters(Boolean) |
Po zastąpieniu w klasie pochodnej eksportuje publiczne lub publiczne i prywatne informacje o kluczu przy użyciu jawnego formularza krzywej z klucza roboczego ECDiffieHellman do ECParameters struktury, aby można je było przekazać do ImportParameters(ECParameters) metody. (Odziedziczone po ECDiffieHellman) |
ExportParameters(Boolean) |
Eksportuje klucz używany przez ECCurve obiekt do ECParameters obiektu. |
ExportParameters(Boolean) |
Po zastąpieniu w klasie pochodnej eksportuje publiczne lub publiczne i prywatne informacje o kluczu z klucza roboczego ECDiffieHellman do ECParameters struktury, aby można je było przekazać do ImportParameters(ECParameters) metody. (Odziedziczone po ECDiffieHellman) |
ExportPkcs8PrivateKey() |
Eksportuje bieżący klucz w formacie PKCS#8 PrivateKeyInfo. (Odziedziczone po AsymmetricAlgorithm) |
ExportPkcs8PrivateKeyPem() |
Eksportuje bieżący klucz w formacie PKCS#8 PrivateKeyInfo, zakodowanym PEM. (Odziedziczone po AsymmetricAlgorithm) |
ExportSubjectPublicKeyInfo() |
Eksportuje część klucza publicznego bieżącego klucza w formacie X.509 SubjectPublicKeyInfo. (Odziedziczone po AsymmetricAlgorithm) |
ExportSubjectPublicKeyInfoPem() |
Eksportuje część klucza publicznego bieżącego klucza w formacie X.509 SubjectPublicKeyInfo, zakodowanym PEM. (Odziedziczone po AsymmetricAlgorithm) |
FromXmlString(String) |
Ta metoda nie jest zaimplementowana. |
FromXmlString(String) |
Ta metoda zgłasza wszystkie przypadki. (Odziedziczone po ECDiffieHellman) |
FromXmlString(String, ECKeyXmlFormat) |
Przestarzałe.
Deserializuje informacje o kluczu z ciągu XML przy użyciu określonego formatu. |
GenerateKey(ECCurve) |
Generuje nową efemeralną parę kluczy publicznych/prywatnych dla określonej krzywej. |
GenerateKey(ECCurve) |
Po przesłonięciu w klasie pochodnej generuje nową efemeralną parę kluczy publicznych/prywatnych dla określonej krzywej. (Odziedziczone po ECDiffieHellman) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
ImportECPrivateKey(ReadOnlySpan<Byte>, Int32) |
Importuje klucz publiczny/prywatny z struktury ECPrivateKey, zastępując klucze dla tego obiektu. (Odziedziczone po ECDiffieHellman) |
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32) |
Importuje publiczny/prywatny kluczpair z struktury PKCS#8 EncryptedPrivateKeyInfo po odszyfrowaniu przy użyciu hasła opartego na bajtach, zastępując klucze dla tego obiektu. |
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32) |
Importuje publiczny/prywatny kluczpair z struktury PKCS#8 EncryptedPrivateKeyInfo po odszyfrowaniu przy użyciu hasła opartego na bajtach, zastępując klucze dla tego obiektu. (Odziedziczone po ECDiffieHellman) |
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32) |
Importuje publiczny/prywatny kluczpair z struktury PKCS#8 EncryptedPrivateKeyInfo po odszyfrowaniu przy użyciu hasła opartego na znakach, zastępując klucze dla tego obiektu. |
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32) |
Importuje publiczny/prywatny kluczpair z struktury PKCS#8 EncryptedPrivateKeyInfo po odszyfrowaniu przy użyciu hasła opartego na znakach, zastępując klucze dla tego obiektu. (Odziedziczone po ECDiffieHellman) |
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>) |
Importuje zaszyfrowany klucz prywatny zakodowany w formacie PEM RFC 7468, zastępując klucze dla tego obiektu. (Odziedziczone po ECDiffieHellman) |
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Importuje zaszyfrowany klucz prywatny zakodowany w formacie PEM RFC 7468, zastępując klucze dla tego obiektu. (Odziedziczone po ECDiffieHellman) |
ImportFromPem(ReadOnlySpan<Char>) |
Importuje klucz zakodowany w formacie PEM RFC 7468, zastępując klucze dla tego obiektu. (Odziedziczone po ECDiffieHellman) |
ImportParameters(ECParameters) |
Importuje określone parametry obiektu ECCurve jako klucza do bieżącego wystąpienia. |
ImportParameters(ECParameters) |
Po przesłonięciu w klasie pochodnej zaimportuje określone parametry jako ECCurve klucz efemeryczny do bieżącego ECDiffieHellman obiektu. (Odziedziczone po ECDiffieHellman) |
ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32) |
Importuje klucz publiczny/prywatnypair z struktury PKCS#8 PrivateKeyInfo po odszyfrowaniu, zastępując klucze dla tego obiektu. |
ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32) |
Importuje klucz publiczny/prywatnypair z struktury PKCS#8 PrivateKeyInfo po odszyfrowaniu, zastępując klucze dla tego obiektu. (Odziedziczone po ECDiffieHellman) |
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32) |
Importuje klucz publiczny ze struktury SubjectPublicKeyInfo X.509 po odszyfrowaniu, zastępując klucze dla tego obiektu. (Odziedziczone po ECDiffieHellman) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
ToXmlString(Boolean) |
Ta metoda nie jest zaimplementowana. |
ToXmlString(Boolean) |
Ta metoda zgłasza wszystkie przypadki. (Odziedziczone po ECDiffieHellman) |
ToXmlString(ECKeyXmlFormat) |
Przestarzałe.
Serializuje informacje o kluczu do ciągu XML przy użyciu określonego formatu. |
TryExportECPrivateKey(Span<Byte>, Int32) |
Próbuje wyeksportować bieżący klucz w |
TryExportECPrivateKeyPem(Span<Char>, Int32) |
Próbuje wyeksportować bieżący klucz w formacie ECPrivateKey zakodowany w PEM do udostępnionego buforu. (Odziedziczone po ECAlgorithm) |
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32) |
Próbuje wyeksportować bieżący klucz w formacie PKCS#8 EncryptedPrivateKeyInfo do dostarczonego buforu przy użyciu hasła opartego na bajtach. |
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32) |
Próbuje wyeksportować bieżący klucz w formacie PKCS#8 EncryptedPrivateKeyInfo do udostępnionego buforu przy użyciu hasła opartego na bajtach. (Odziedziczone po ECDiffieHellman) |
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32) |
Próbuje wyeksportować bieżący klucz w formacie PKCS#8 EncryptedPrivateKeyInfo do dostarczonego buforu przy użyciu hasła opartego na znakach. |
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32) |
Próbuje wyeksportować bieżący klucz w formacie PKCS#8 EncryptedPrivateKeyInfo do udostępnionego buforu przy użyciu hasła opartego na znakach. (Odziedziczone po ECDiffieHellman) |
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters, Span<Char>, Int32) |
Próbuje wyeksportować bieżący klucz w formacie PKCS#8 EncryptedPrivateKeyInfo z hasłem opartym na bajtach, zakodowanym PEM. (Odziedziczone po AsymmetricAlgorithm) |
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters, Span<Char>, Int32) |
Eksportuje bieżący klucz w formacie PKCS#8 EncryptedPrivateKeyInfo z hasłem opartym na char, zakodowanym PEM. (Odziedziczone po AsymmetricAlgorithm) |
TryExportPkcs8PrivateKey(Span<Byte>, Int32) |
Próbuje wyeksportować bieżący klucz w formacie PKCS#8 PrivateKeyInfo do dostarczonego buforu. |
TryExportPkcs8PrivateKey(Span<Byte>, Int32) |
Próbuje wyeksportować bieżący klucz w formacie PKCS#8 PrivateKeyInfo do udostępnionego buforu. (Odziedziczone po ECDiffieHellman) |
TryExportPkcs8PrivateKeyPem(Span<Char>, Int32) |
Próbuje wyeksportować bieżący klucz w formacie PKCS#8 PrivateKeyInfo zakodowanym w PEM do udostępnionego buforu. (Odziedziczone po AsymmetricAlgorithm) |
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32) |
Próbuje wyeksportować bieżący klucz w formacie SubjectPublicKeyInfo X.509 do udostępnionego buforu. (Odziedziczone po ECDiffieHellman) |
TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32) |
Próbuje wyeksportować bieżący klucz w formacie X.509 SubjectPublicKeyInfo zakodowanym w PEM do udostępnionego buforu. (Odziedziczone po AsymmetricAlgorithm) |
Jawne implementacje interfejsu
IDisposable.Dispose() |
Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu. Aby uzyskać opis tego elementu członkowskiego, zobacz Dispose(). (Odziedziczone po AsymmetricAlgorithm) |