ECDiffieHellmanCng Třída

Definice

Poskytuje implementaci CNG (Cryptography Next Generation) algoritmu Elliptic Curve Diffie-Hellman (ECDH). Tato třída slouží k provádění kryptografických operací.

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
Dědičnost
Dědičnost

Příklady

Následující příklad ukazuje, jak pomocí ECDiffieHellmanCng třídy vytvořit výměnu klíčů a jak tento klíč použít k šifrování zprávy, která se dá odeslat přes veřejný kanál a dešifrovat příjemcem.

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

Poznámky

Třída ECDiffieHellmanCng umožňuje dvěma stranám vyměňovat si materiály privátního klíče, i když komunikují prostřednictvím veřejného kanálu. Obě strany mohou vypočítat stejnou tajnou hodnotu, která se označuje jako tajná smlouva ve spravovaných třídách Diffie-Hellman. Tajná smlouva se pak dá použít pro různé účely, včetně symetrického klíče. Místo přímého ECDiffieHellmanCng zveřejnění tajné smlouvy však třída provede určité následné zpracování smlouvy před poskytnutím hodnoty. Toto následné zpracování se označuje jako funkce odvození klíče (KDF); Můžete vybrat, který KDF chcete použít, a nastavit jeho parametry prostřednictvím sady vlastností v instanci Diffie-Hellman objektu.

Funkce odvození klíče Properties
Hash HashAlgorithm – Algoritmus hash, který se používá ke zpracování tajné smlouvy.

SecretPrepend – Volitelné bajtové pole, které se má předepsat tajné smlouvě před jejich hodnotou hash.

SecretAppend – Volitelné bajtové pole, které se má před hashováním připojit ke smlouvě tajných kódů.
Hmac HashAlgorithm – Algoritmus hash, který se používá ke zpracování tajné smlouvy.

SecretPrepend– Volitelné bajtové pole, které se má předepsat tajné smlouvě před jejich hodnotou hash.

SecretAppend – Volitelné bajtové pole, které se má před hashováním připojit ke smlouvě tajných kódů.
Tls Label - Popisek pro odvození klíče.

Seed - Počáteční hodnota pro odvození klíče.

Výsledkem předání tajné smlouvy prostřednictvím funkce odvození klíče je bajtové pole, které může být použito jako klíč materiálu pro vaši aplikaci. Počet bajtů vygenerovaného materiálu klíče závisí na funkci odvození klíče; Například SHA-256 vygeneruje 256 bitů materiálu klíče, zatímco SHA-512 vygeneruje 512 bitů materiálu klíče. Základní tok výměny klíčů ECDH je následující:

  1. Alice a Bob vytvoří pár klíčů, který se použije pro operaci výměny klíčů Diffie-Hellman

  2. Alice a Bob nakonfigurují KDF pomocí parametrů odsouhlasit.

  3. Alice pošle Bobovi svůj veřejný klíč.

  4. Bob pošle Alice svůj veřejný klíč.

  5. Alice a Bob používají k vygenerování tajné smlouvy veřejné klíče a k vygenerování materiálu klíče použijte KDF na tajnou smlouvu.

Konstruktory

Name Description
ECDiffieHellmanCng()

Inicializuje novou instanci ECDiffieHellmanCng třídy s náhodným párem klíčů.

ECDiffieHellmanCng(CngKey)

Inicializuje novou instanci ECDiffieHellmanCng třídy pomocí zadaného CngKey objektu.

ECDiffieHellmanCng(ECCurve)

Vytvoří novou instanci třídy, jejíž pár veřejného/privátního ECDiffieHellmanCng klíče se generuje přes zadanou křivku.

ECDiffieHellmanCng(Int32)

Inicializuje novou instanci ECDiffieHellmanCng třídy s náhodným párem klíčů pomocí zadané velikosti klíče.

Pole

Name Description
KeySizeValue

Představuje velikost klíčového modulu používaného asymetrickým algoritmem v bitech.

(Zděděno od AsymmetricAlgorithm)
LegalKeySizesValue

Určuje velikosti klíčů podporované asymetrickým algoritmem.

(Zděděno od AsymmetricAlgorithm)

Vlastnosti

Name Description
HashAlgorithm

Získá nebo nastaví hashovací algoritmus, který se má použít při generování materiálu klíče.

HmacKey

Získá nebo nastaví klíč HMAC (Hash-based Message Authentication Code) použít při odvození materiálu klíče.

Key

Určuje CngKey , který aktuální objekt používá pro kryptografické operace.

KeyDerivationFunction

Získá nebo nastaví funkci odvození klíče pro ECDiffieHellmanCng třídu.

KeyExchangeAlgorithm

Získá název algoritmu výměny klíčů.

(Zděděno od ECDiffieHellman)
KeySize

Získá nebo nastaví velikost klíčového modulu používaného asymetrickým algoritmem v bitech.

KeySize

Získá nebo nastaví velikost klíčového modulu používaného asymetrickým algoritmem v bitech.

(Zděděno od AsymmetricAlgorithm)
Label

Získá nebo nastaví hodnotu popisku, která se používá pro odvození klíče.

LegalKeySizes

Získá velikosti klíčů podporované asymetrickým algoritmem.

LegalKeySizes

Získá velikosti klíčů podporované asymetrickým algoritmem.

(Zděděno od AsymmetricAlgorithm)
PublicKey

Získá veřejný klíč, který může použít jiný ECDiffieHellmanCng objekt k vygenerování sdílené tajné smlouvy.

SecretAppend

Získá nebo nastaví hodnotu, která bude připojena ke smlouvě tajného kódu při generování materiálu klíče.

SecretPrepend

Získá nebo nastaví hodnotu, která bude přidána na začátek tajné smlouvy při odvozování materiálu klíče.

Seed

Získá nebo nastaví počáteční hodnotu, která se použije při odvozování materiálu klíče.

SignatureAlgorithm

Získá název algoritmu podpisu.

(Zděděno od ECDiffieHellman)
UseSecretAgreementAsHmacKey

Získá hodnotu, která označuje, zda se tajná smlouva používá jako klíč HMAC (Hash-based Message Authentication Code) k odvození materiálu klíče.

Metody

Name Description
Clear()

Uvolní všechny prostředky používané AsymmetricAlgorithm třídou.

(Zděděno od AsymmetricAlgorithm)
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[])

Provádí odvození klíče pomocí zadaného hash algoritmu s volitelnými předpendovanými nebo připojenými daty.

DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

Provádí odvozování klíče pomocí zadaného algoritmu hash.

(Zděděno od ECDiffieHellman)
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[])

Provádí odvozování klíče pomocí zadaného algoritmu HMAC (kód ověřování zpráv založený na hodnotě hash) s volitelnými předpendovanými nebo připojenými daty.

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

Provádí odvození klíče pomocí zadaného algoritmu HMAC (kód pro ověřování zpráv založený na hodnotě hash).

(Zděděno od ECDiffieHellman)
DeriveKeyMaterial(CngKey)

Odvozuje klíčový materiál, který je generován z tajné dohody mezi dvěma stranami, vzhledem k CngKey objektu, který obsahuje veřejný klíč druhé strany.

DeriveKeyMaterial(ECDiffieHellmanPublicKey)

Odvozuje klíčový materiál, který je generován z tajné dohody mezi dvěma stranami, vzhledem k ECDiffieHellmanPublicKey objektu, který obsahuje veřejný klíč druhé strany.

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

Provádí odvození klíče pomocí protokolu TLS (Transport Layer Security) 1.1 PRF (Pseudo-Random Funkce).

DeriveRawSecretAgreement(ECDiffieHellmanPublicKey)

Odvodit surovinový materiál.

(Zděděno od ECDiffieHellman)
DeriveSecretAgreementHandle(CngKey)

Získá popisovač tajné smlouvy vygenerované mezi dvěma stranami, vzhledem k objektu CngKey , který obsahuje veřejný klíč druhé strany.

DeriveSecretAgreementHandle(ECDiffieHellmanPublicKey)

Získá popisovač tajné smlouvy vygenerované mezi dvěma stranami vzhledem k objektu ECDiffieHellmanPublicKey , který obsahuje veřejný klíč druhé strany.

Dispose()

Uvolní všechny prostředky používané aktuální instancí AsymmetricAlgorithm třídy.

(Zděděno od AsymmetricAlgorithm)
Dispose(Boolean)

Uvolní nespravované prostředky používané AsymmetricAlgorithm třídou a volitelně uvolní spravované prostředky.

(Zděděno od AsymmetricAlgorithm)
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
ExportECPrivateKey()

Exportuje aktuální klíč ve formátu ECPrivateKey.

(Zděděno od ECDiffieHellman)
ExportECPrivateKeyPem()

Exportuje aktuální klíč ve formátu ECPrivateKey s kódováním PEM.

(Zděděno od ECAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Exportuje aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo s bajtovým heslem.

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Exportuje aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo s bajtovým heslem.

(Zděděno od AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Exportuje aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo pomocí hesla založeného na znaku.

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Exportuje aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo pomocí hesla založeného na znaku.

(Zděděno od AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters)

Exportuje aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo s kódováním PEM založeným na bajtech.

(Zděděno od AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters)

Exportuje aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo s kódováním PEM založeným na znaku.

(Zděděno od AsymmetricAlgorithm)
ExportExplicitParameters(Boolean)

Exportuje parametry klíče a explicitní křivky ECCurve používané objektem do objektu ECParameters .

ExportParameters(Boolean)

Exportuje klíč používaný ECCurve objektem do objektu ECParameters .

ExportPkcs8PrivateKey()

Exportuje aktuální klíč ve formátu PKCS#8 PrivateKeyInfo.

(Zděděno od AsymmetricAlgorithm)
ExportPkcs8PrivateKeyPem()

Exportuje aktuální klíč ve formátu PKCS#8 PrivateKeyInfo s kódováním PEM.

(Zděděno od AsymmetricAlgorithm)
ExportSubjectPublicKeyInfo()

Exportuje část veřejného klíče aktuálního klíče ve formátu X.509 SubjectPublicKeyInfo.

(Zděděno od AsymmetricAlgorithm)
ExportSubjectPublicKeyInfoPem()

Exportuje část veřejného klíče aktuálního klíče ve formátu X.509 SubjectPublicKeyInfo zakódovaná pomocí PEM.

(Zděděno od AsymmetricAlgorithm)
FromXmlString(String, ECKeyXmlFormat)
Zastaralé.

Deserializuje klíčové informace z řetězce XML pomocí zadaného formátu.

FromXmlString(String)

Tato metoda není implementována.

FromXmlString(String)

Tato metoda vyvolá ve všech případech.

(Zděděno od ECDiffieHellman)
GenerateKey(ECCurve)

Vygeneruje nový dočasný pár veřejného/privátního klíče pro zadanou křivku.

GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
ImportECPrivateKey(ReadOnlySpan<Byte>, Int32)

Importuje veřejný/privátní klíčpair ze struktury ECPrivateKey a nahradí klíče pro tento objekt.

(Zděděno od ECDiffieHellman)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Importuje veřejný/privátní klíčpair ze struktury PKCS#8 EncryptedPrivateKeyInfo po dešifrování pomocí bajtového hesla a nahradí klíče pro tento objekt.

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

Importuje veřejný/privátní klíčpair ze struktury PKCS#8 EncryptedPrivateKeyInfo po dešifrování pomocí bajtového hesla a nahradí klíče pro tento objekt.

(Zděděno od ECDiffieHellman)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Importuje veřejný/privátní klíčpair ze struktury PKCS#8 EncryptedPrivateKeyInfo po dešifrování pomocí hesla založeného na znaku a nahradí klíče pro tento objekt.

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

Importuje veřejný/privátní klíčpair ze struktury PKCS#8 EncryptedPrivateKeyInfo po dešifrování pomocí hesla založeného na znaku a nahradí klíče pro tento objekt.

(Zděděno od ECDiffieHellman)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

Importuje šifrovaný privátní klíč RFC 7468 S kódováním PEM a nahradí klíče pro tento objekt.

(Zděděno od ECDiffieHellman)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Importuje šifrovaný privátní klíč RFC 7468 S kódováním PEM a nahradí klíče pro tento objekt.

(Zděděno od ECDiffieHellman)
ImportFromPem(ReadOnlySpan<Char>)

Importuje klíč kódovaný kódem PEM RFC 7468 a nahradí klíče pro tento objekt.

(Zděděno od ECDiffieHellman)
ImportParameters(ECParameters)

Importuje zadané parametry objektu ECCurve jako klíč do aktuální instance.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Importuje veřejný/privátní klíčpair ze struktury PKCS#8 PrivateKeyInfo po dešifrování a nahradí klíče pro tento objekt.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Importuje veřejný/privátní klíčpair ze struktury PKCS#8 PrivateKeyInfo po dešifrování a nahradí klíče pro tento objekt.

(Zděděno od ECDiffieHellman)
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Importuje veřejný klíč ze struktury X.509 SubjectPublicKeyInfo po dešifrování a nahradí klíče pro tento objekt.

(Zděděno od ECDiffieHellman)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
ToXmlString(Boolean)

Tato metoda není implementována.

ToXmlString(Boolean)

Tato metoda vyvolá ve všech případech.

(Zděděno od ECDiffieHellman)
ToXmlString(ECKeyXmlFormat)
Zastaralé.

Serializuje informace o klíči do řetězce XML pomocí zadaného formátu.

TryExportECPrivateKey(Span<Byte>, Int32)

Pokusí se exportovat aktuální klíč ve ECPrivateKey formátu do poskytnuté vyrovnávací paměti.

(Zděděno od ECDiffieHellman)
TryExportECPrivateKeyPem(Span<Char>, Int32)

Pokusí se exportovat aktuální klíč ve formátu ECPrivateKey s kódováním PEM do poskytnuté vyrovnávací paměti.

(Zděděno od ECAlgorithm)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

Pokusí se exportovat aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo do poskytnuté vyrovnávací paměti pomocí bajtového hesla.

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

Pokusí se exportovat aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo do poskytnuté vyrovnávací paměti pomocí bajtového hesla.

(Zděděno od ECDiffieHellman)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

Pokusí se exportovat aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo do zadané vyrovnávací paměti pomocí hesla založeného na znaku.

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

Pokusí se exportovat aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo do zadané vyrovnávací paměti pomocí hesla založeného na znaku.

(Zděděno od ECDiffieHellman)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters, Span<Char>, Int32)

Pokusí se exportovat aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo s heslem založeným na bajtech zakódovaným kódem PEM.

(Zděděno od AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters, Span<Char>, Int32)

Exportuje aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo s kódováním PEM založeným na znaku.

(Zděděno od AsymmetricAlgorithm)
TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Pokusí se exportovat aktuální klíč ve formátu PKCS#8 PrivateKeyInfo do zadané vyrovnávací paměti.

TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Pokusí se exportovat aktuální klíč ve formátu PKCS#8 PrivateKeyInfo do zadané vyrovnávací paměti.

(Zděděno od ECDiffieHellman)
TryExportPkcs8PrivateKeyPem(Span<Char>, Int32)

Pokusí se exportovat aktuální klíč ve formátu PKCS#8 PrivateKeyInfo s kódováním PEM do poskytnuté vyrovnávací paměti.

(Zděděno od AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Pokusí se exportovat aktuální klíč ve formátu X.509 SubjectPublicKeyInfo do zadané vyrovnávací paměti.

(Zděděno od ECDiffieHellman)
TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32)

Pokusí se exportovat aktuální klíč ve formátu X.509 SubjectPublicKeyInfo s kódováním PEM do poskytnuté vyrovnávací paměti.

(Zděděno od AsymmetricAlgorithm)

Explicitní implementace rozhraní

Name Description
IDisposable.Dispose()

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Popis tohoto člena naleznete v tématu Dispose().

(Zděděno od AsymmetricAlgorithm)

Platí pro