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.
Udostępnia 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 za pomocą tego klucza zaszyfrować komunikat, 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łów 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 nazywana umową tajną w zarządzanych klasach Diffie-Hellman. Następnie można użyć tajnej umowy 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 po zakończeniu 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 | Properties |
|---|---|
| Hash |
HashAlgorithm - Algorytm skrótu używany do przetwarzania tajnej umowy. 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 tajnej umowy. 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 - Nasiono wyprowadzania klucza. |
Wynikiem przekazania umowy wpisu tajnego za pośrednictwem funkcji wyprowadzania klucza 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, natomiast 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
Alice i Bob konfigurują usługę KDF przy użyciu parametrów uzgadnianych.
Alice wysyła Bobowi swój klucz publiczny.
Bob wysyła Alice swój klucz publiczny.
Alice i Bob używają siebie kluczy publicznych do wygenerowania tajnej umowy i zastosowania KDF do tajnej umowy w celu wygenerowania kluczowego materiału.
Konstruktory
| Nazwa | Opis |
|---|---|
| ECDiffieHellmanCng() |
Inicjuje nowe wystąpienie ECDiffieHellmanCng klasy z losową parą kluczy. |
| ECDiffieHellmanCng(CngKey) |
Inicjuje nowe wystąpienie ECDiffieHellmanCng 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
| Nazwa | Opis |
|---|---|
| KeySizeValue |
Reprezentuje rozmiar w bitach modułu klucza używanego przez algorytm asymetryczny. (Odziedziczone po AsymmetricAlgorithm) |
| LegalKeySizesValue |
Określa rozmiary kluczy, które są obsługiwane przez algorytm asymetryczny. (Odziedziczone po AsymmetricAlgorithm) |
Właściwości
| Nazwa | Opis |
|---|---|
| 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), który ma być używany podczas wyprowadzania materiału klucza. |
| Key |
Określa CngKey , który jest używany przez bieżący obiekt dla 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 modulu klucza używanego przez algorytm asymetryczny. |
| KeySize |
Pobiera lub ustawia rozmiar w bitach modulu klucza używanego przez algorytm asymetryczny. (Odziedziczone po AsymmetricAlgorithm) |
| Label |
Pobiera lub ustawia wartość etykiety, która jest używana do wyprowadzania kluczy. |
| 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 do generowania wspólnej umowy wpisu tajnego. |
| 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ść inicjatora, 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 wpisu tajnego jest używana jako klucz kodu uwierzytelniania komunikatów oparty na skrótach (HMAC) w celu uzyskania materiału klucza. |
Metody
| Nazwa | Opis |
|---|---|
| Clear() |
Zwalnia wszystkie zasoby używane przez klasę AsymmetricAlgorithm. (Odziedziczone po AsymmetricAlgorithm) |
| DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[]) |
Wykonuje wyprowadzanie klucza przy użyciu określonego algorytmu wyznaczania wartości skrótu z opcjonalnymi danymi wstępnie utworzonymi lub dołączonymi. |
| DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName) |
Wykonuje wyprowadzanie klucza przy użyciu określonego algorytmu wyznaczania wartości skrótu. (Odziedziczone po ECDiffieHellman) |
| DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[]) |
Wykonuje wyprowadzanie kluczy przy użyciu określonego algorytmu HMAC (kod uwierzytelniania komunikatów opartych na skrótach) z opcjonalnymi wstępnie utworzonymi lub dołączonymi danymi. |
| DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[]) |
Wykonuje wyprowadzanie klucza przy użyciu określonego algorytmu HMAC (kod uwierzytelniania komunikatów oparty na skrótach). (Odziedziczone po ECDiffieHellman) |
| DeriveKeyMaterial(CngKey) |
Tworzy materiał kluczowy generowany na podstawie tajnej umowy między dwiema stronami, biorąc pod uwagę CngKey obiekt zawierający klucz publiczny drugiej strony. |
| DeriveKeyMaterial(ECDiffieHellmanPublicKey) |
Tworzy materiał kluczowy generowany na podstawie tajnej umowy między dwiema stronami, biorąc pod uwagę ECDiffieHellmanPublicKey obiekt, który zawiera klucz publiczny drugiej strony. |
| DeriveKeyTls(ECDiffieHellmanPublicKey, Byte[], Byte[]) |
Wykonuje wyprowadzanie kluczy przy użyciu protokołu TLS (Transport Layer Security) 1.1 PRF (Pseudo-Random Funkcja). |
| DeriveRawSecretAgreement(ECDiffieHellmanPublicKey) |
Uzyskiwanie materiału klucza pierwotnego. (Odziedziczone po ECDiffieHellman) |
| DeriveSecretAgreementHandle(CngKey) |
Pobiera dojście do tajnej umowy wygenerowanej między dwiema stronami, biorąc pod uwagę CngKey obiekt zawierający klucz publiczny drugiej strony. |
| DeriveSecretAgreementHandle(ECDiffieHellmanPublicKey) |
Pobiera dojście do tajnej umowy 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 AsymmetricAlgorithm klasy. (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 określony obiekt jest równy bieżącemu obiektowi. (Odziedziczone po Object) |
| ExportECPrivateKey() |
Eksportuje bieżący klucz w formacie ECPrivateKey. (Odziedziczone po ECDiffieHellman) |
| ExportECPrivateKeyPem() |
Eksportuje bieżący klucz w formacie ECPrivateKey zakodowany jako PEM. (Odziedziczone po ECAlgorithm) |
| ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters) |
Eksportuje bieżący klucz w formacie PKCS#8 EncryptedPrivateKeyInfo z hasłem opartym na bajtach. |
| ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters) |
Eksportuje bieżący klucz w formacie PKCS#8 EncryptedPrivateKeyInfo z hasłem opartym 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 algorytmem PEM. (Odziedziczone po AsymmetricAlgorithm) |
| ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters) |
Eksportuje bieżący klucz w formacie PKCS#8 EncryptedPrivateKeyInfo z hasłem opartym na znakach zakodowanym w formacie PEM. (Odziedziczone po AsymmetricAlgorithm) |
| ExportExplicitParameters(Boolean) |
Eksportuje klucz i jawne parametry krzywej używane przez ECCurve obiekt do ECParameters obiektu. |
| ExportParameters(Boolean) |
Eksportuje klucz używany przez ECCurve obiekt do ECParameters obiektu. |
| ExportPkcs8PrivateKey() |
Eksportuje bieżący klucz w formacie PKCS#8 PrivateKeyInfo. (Odziedziczone po AsymmetricAlgorithm) |
| ExportPkcs8PrivateKeyPem() |
Eksportuje bieżący klucz w formacie PKCS#8 PrivateKeyInfo, zakodowany jako 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 SubjectPublicKeyInfo X.509, zakodowany jako PEM. (Odziedziczone po AsymmetricAlgorithm) |
| FromXmlString(String, ECKeyXmlFormat) |
Przestarzałe.
Deserializuje informacje o kluczu z ciągu XML przy użyciu określonego formatu. |
| FromXmlString(String) |
Ta metoda nie jest zaimplementowana. |
| FromXmlString(String) |
Ta metoda zgłasza wszystkie przypadki. (Odziedziczone po ECDiffieHellman) |
| GenerateKey(ECCurve) |
Generuje nową efemeryjną parę kluczy publicznych/prywatnych dla określonej krzywej. |
| GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
| GetType() |
Pobiera Type bieżącego wystąpienia. (Odziedziczone po Object) |
| ImportECPrivateKey(ReadOnlySpan<Byte>, Int32) |
Importuje klucz publiczny/prywatnypair ze struktury ECPrivateKey, zastępując klucze dla tego obiektu. (Odziedziczone po ECDiffieHellman) |
| ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32) |
Importuje klucz publiczny/prywatnypair 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 klucz publiczny/prywatnypair 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 klucz publiczny/prywatnypair 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 klucz publiczny/prywatnypair 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 standardzie RFC 7468 PEM, zastępując klucze dla tego obiektu. (Odziedziczone po ECDiffieHellman) |
| ImportParameters(ECParameters) |
Importuje określone parametry dla ECCurve obiektu jako klucz do bieżącego wystąpienia. |
| ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32) |
Importuje klucz publiczny/prywatny z struktury PKCS#8 PrivateKeyInfo po odszyfrowaniu, zastępując klucze dla tego obiektu. |
| ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32) |
Importuje klucz publiczny/prywatny 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 Object. (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 formacie PEM do dostarczonego 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 dostarczonego 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 podanego 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 podanego 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 w formacie 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 znakach zakodowanym w formacie 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 dostarczonego buforu. (Odziedziczone po ECDiffieHellman) |
| TryExportPkcs8PrivateKeyPem(Span<Char>, Int32) |
Próbuje wyeksportować bieżący klucz w formacie PKCS#8 PrivateKeyInfo zakodowany w formacie PEM do dostarczonego buforu. (Odziedziczone po AsymmetricAlgorithm) |
| TryExportSubjectPublicKeyInfo(Span<Byte>, Int32) |
Próbuje wyeksportować bieżący klucz w formacie SubjectPublicKeyInfo X.509 do dostarczonego buforu. (Odziedziczone po ECDiffieHellman) |
| TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32) |
Próbuje wyeksportować bieżący klucz w formacie X.509 SubjectPublicKeyInfo zakodowany w formacie PEM do dostarczonego buforu. (Odziedziczone po AsymmetricAlgorithm) |
Jawne implementacje interfejsu
| Nazwa | Opis |
|---|---|
| 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) |