ECDiffieHellmanCng Třída

Definice

Poskytuje kryptografii další generace (CNG) implementaci algoritmu ECDH (Elliptic Curve Diffie-Hellman). Tato třída se používá 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 použít ECDiffieHellmanCng třídu k vytvoření výměny klíčů a jak tento klíč použít k šifrování zprávy, která může být odeslána přes veřejný kanál a dešifrována 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 výměnu materiálů soukromého klíče i v případě, že komunikují prostřednictvím veřejného kanálu. Obě strany mohou vypočítat stejnou hodnotu tajného kódu, která se ve spravovaných třídách Diffie-Hellman označuje jako tajná smlouva . Tajná smlouva se pak dá použít k různým účelům, včetně symetrického klíče. Místo přímého zveřejnění tajné smlouvy ECDiffieHellmanCng 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, kterou službu KDF chcete použít, a nastavit její parametry prostřednictvím sady vlastností v instanci Diffie-Hellman objektu.

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

SecretPrepend – Volitelné pole bajtů, které se předepíše ke smlouvě s tajným kódem před jejím hashováním.

SecretAppend – Volitelné pole bajtů pro připojení ke smlouvě s tajným kódem před jejím hashováním.
Hmac HashAlgorithm – Hashovací algoritmus, který se používá ke zpracování tajné smlouvy.

SecretPrepend– Volitelné pole bajtů, které se předepíše ke smlouvě s tajným kódem před jejím hashováním.

SecretAppend – Volitelné pole bajtů pro připojení ke smlouvě s tajným kódem před jejím hashováním.
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 pole bajtů, které se může použít jako materiál klíče 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í postup výměny klíčů ECDH je následující:

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

  2. Alice a Bob konfigurovali KDF pomocí parametrů, na které se dohodly.

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

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

  5. Alice a Bob používají k vygenerování tajné smlouvy veřejné klíče ostatních a k vygenerování klíčového materiálu použijí KDF u tajné smlouvy.

Konstruktory

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 ECDiffieHellmanCng třídy, jejíž pár veřejného a privátního klíče je generován přes zadanou křivku.

ECDiffieHellmanCng(Int32)

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

Pole

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

HashAlgorithm

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

HmacKey

Získá nebo nastaví hash-based message authentication code (HMAC) klíč použít při odvozování klíče materiál.

Key

Určuje, CngKey který je používán aktuálním objektem 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 v bitech modulu klíče používané asymetrický algoritmus.

KeySize

Získá nebo nastaví velikost v bitech modulu klíče používané asymetrický algoritmus.

(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íčů, které jsou podporovány asymetrickým algoritmem.

LegalKeySizes

Získá velikosti klíčů, které jsou podporovány asymetrickým algoritmem.

(Zděděno od AsymmetricAlgorithm)
PublicKey

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

SecretAppend

Získá nebo nastaví hodnotu, která se připojí k tajné smlouvě 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á bude použita 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 tajný kód smlouvy je použit jako hash-based Message Authentication Code (HMAC) klíč odvodit klíč materiál.

Metody

Clear()

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

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

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

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

Provede odvození klíče pomocí zadaného hash algoritmu s volitelnými předpřidánými nebo připojenými daty.

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

Při implementaci v odvozené třídě provádí odvození klíče pomocí zadaného hash algoritmu s volitelnými předpended nebo připojenými daty.

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

Provádí odvozování klíčů pomocí zadaného algoritmu HMAC (Hash-based Message Authentication Code) algoritmus.

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

Provádí odvozování klíčů pomocí zadaného algoritmu HMAC (hash-based Message Authentication Code) s volitelnými předřazením nebo připojenými daty.

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

Při implementaci v odvozené třídě provádí odvození klíčů pomocí zadaného algoritmu HMAC (Hash-based Message Authentication Code) s volitelnými předřazením nebo připojenými daty.

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

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

DeriveKeyMaterial(ECDiffieHellmanPublicKey)

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

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

Provádí odvození klíčů pomocí protokolu TLS (Transport Layer Security) 1.1 PRF (pseudonáhodná funkce).

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

Při implementaci v odvozené třídě provádí odvození klíče pomocí protokolu TLS (Transport Layer Security) 1.1 PRF (Pseudo-Random Function).

(Zděděno od ECDiffieHellman)
DeriveRawSecretAgreement(ECDiffieHellmanPublicKey)

Odvodit základní materiál klíče.

(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čí, zda se zadaný objekt rovná 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 v kódování PEM.

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

Exportuje aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo s heslem založeným na bajtech.

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Exportuje aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo s heslem založeným na bajtech.

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

Exportuje aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo s heslem založeným na znaku.

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Exportuje aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo s heslem založeným na znaku.

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

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

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

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

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

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

ExportExplicitParameters(Boolean)

Při přepsání v odvozené třídě exportuje informace veřejného nebo veřejného a soukromého klíče pomocí explicitní křivky z pracovního ECDiffieHellman klíče do ECParameters struktury, aby je bylo možné předat ImportParameters(ECParameters) metodě.

(Zděděno od ECDiffieHellman)
ExportParameters(Boolean)

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

ExportParameters(Boolean)

Při přepsání v odvozené třídě exportuje informace veřejného nebo veřejného a soukromého klíče z pracovního ECDiffieHellman klíče do ECParameters struktury, aby je bylo možné předat ImportParameters(ECParameters) metodě .

(Zděděno od ECDiffieHellman)
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 v kódování PEM.

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

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

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

Exportuje část aktuálního klíče veřejného klíče ve formátu X.509 SubjectPublicKeyInfo v kódování PEM.

(Zděděno od AsymmetricAlgorithm)
FromXmlString(String)

Tato metoda není implementována.

FromXmlString(String)

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

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

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

GenerateKey(ECCurve)

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

GenerateKey(ECCurve)

Při přepsání v odvozené třídě vygeneruje nový dočasný pár veřejného a privátního klíče pro zadanou křivku.

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

Slouží jako výchozí hashovací funkce.

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

Type Získá z aktuální instance.

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

Importuje veřejný/privátní klíč 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í heslem založeným na bajtech 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í heslem založeným na bajtech a nahradí klíče pro tento objekt.

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

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

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

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

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

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

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

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

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

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

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

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

ImportParameters(ECParameters)

Při přepsání v odvozené třídě importuje zadané parametry pro jako ECCurve dočasný klíč do aktuálního ECDiffieHellman objektu.

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

Importuje veřejný/privátní klíč 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íč 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 Objectsouboru .

(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 ř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 kódování 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 zadané vyrovnávací paměti pomocí hesla založeného na bajtech.

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, 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 bajtech.

(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 v kódování PEM.

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

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

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

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

TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Pokusí se exportovat aktuální klíč ve formátu PKCS#8 PrivateKeyInfo do poskytnuté 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 kódování 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 poskytnuté vyrovnávací paměti.

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

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

(Zděděno od AsymmetricAlgorithm)

Explicitní implementace rozhraní

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 najdete v tématu Dispose().

(Zděděno od AsymmetricAlgorithm)

Platí pro