ECDiffieHellmanCng ECDiffieHellmanCng ECDiffieHellmanCng ECDiffieHellmanCng Class

Definice

Poskytuje implementaci Kryptografické služby nové generace (CNG) algoritmu Diffie-Hellman eliptické křivky (ECDH).Provides a Cryptography Next Generation (CNG) implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm. Tato třída se používá k provedení kryptografických operací.This class is used to perform cryptographic operations.

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

Příklady

Následující příklad ukazuje způsob použití ECDiffieHellmanCng třídy k navázání výměny klíčů a jak jej používat zašifrování zprávy, která mohou být odeslány prostřednictvím veřejného kanálu a dešifrovat příjemce.The following example shows how to use the ECDiffieHellmanCng class to establish a key exchange and how to use that key to encrypt a message that can be sent over a public channel and decrypted by the receiver.

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 k = CngKey.Import(bob.bobPublicKey, CngKeyBlobFormat.EccPublicBlob);
            byte[] aliceKey = alice.DeriveKeyMaterial(CngKey.Import(bob.bobPublicKey, CngKeyBlobFormat.EccPublicBlob));
            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
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 'Main


    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 'Send 
End Class 'Alice

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 'New


    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 'Receive
End Class 'Bob 

Poznámky

ECDiffieHellmanCng Třída umožňuje obě strany k výměně materiál privátního klíče i v případě, že budou komunikovat přes veřejný kanál.The ECDiffieHellmanCng class enables two parties to exchange private key material even if they are communicating through a public channel. Obě strany můžete vypočítat stejné tajná hodnota, která se označuje jako tajnou dohodu do spravované skupiny Diffie-Hellman tříd.Both parties can calculate the same secret value, which is referred to as the secret agreement in the managed Diffie-Hellman classes. Tajnou dohodu je pak možné pro různé účely, třeba jako symetrický klíč.The secret agreement can then be used for a variety of purposes, including as a symmetric key. Však místo zveřejňování tajnou dohodu, přímo ECDiffieHellmanCng třída provádí nějaké po zpracování na smlouvě ještě před poskytnutím hodnoty.However, instead of exposing the secret agreement directly, the ECDiffieHellmanCng class does some post-processing on the agreement before providing the value. Tento příspěvek zpracování se označuje jako klíče odvození – funkce (KDF); můžete vybrat KDF, které chcete použít a nastavení jeho parametrů pomocí sady vlastností na instanci objektu skupiny Diffie-Hellman.This post processing is referred to as the key derivation function (KDF); you can select which KDF you want to use and set its parameters through a set of properties on the instance of the Diffie-Hellman object.

Funkce odvození klíčeKey derivation function VlastnostiProperties
Hash HashAlgorithm -Algoritmus hash, který se používá ke zpracování tajných kódů smlouvy.HashAlgorithm - The hash algorithm that is used to process the secret agreement.

SecretPrepend – Nepovinný bajtové pole, předřaďte tajnou dohodu před hashování ho.SecretPrepend - An optional byte array to prepend to the secret agreement before hashing it.

SecretAppend – Nepovinný bajtové pole pro připojení k tajnou dohodu před hashování ho.SecretAppend - An optional byte array to append to the secret agreement before hashing it.
Hmac HashAlgorithm -Algoritmus hash, který se používá ke zpracování tajných kódů smlouvy.HashAlgorithm - The hash algorithm that is used to process the secret agreement.

SecretPrepend– Nepovinný bajtové pole, předřaďte tajnou dohodu před hashování ho.SecretPrepend- An optional byte array to prepend to the secret agreement before hashing it.

SecretAppend – Nepovinný bajtové pole pro připojení k tajnou dohodu před hashování ho.SecretAppend - An optional byte array to append to the secret agreement before hashing it.
Tls Label – Popisek pro odvození klíče.Label - The label for key derivation.

Seed -Počáteční hodnotu pro odvození klíče.Seed - The seed for key derivation.

Výsledek předáním tajnou dohodu prostřednictvím funkce odvození klíče je bajtové pole, který může sloužit jako klíče pro vaši aplikaci.The result of passing the secret agreement through the key derivation function is a byte array that may be used as key material for your application. Počet bajtů materiál klíče, které jsou generovány je závislá na funkci odvození klíče. například SHA-256 vygeneruje 256 bitů materiál klíče, že algoritmus SHA-512 vygeneruje 512 bitů materiál klíče. Základní tok výměny klíčů ECDH vypadá takto:The number of bytes of key material generated is dependent on the key derivation function; for example, SHA-256 will generate 256 bits of key material, whereas SHA-512 will generate 512 bits of key material.The basic flow of an ECDH key exchange is as follows:

  1. Alice a Bob vytvoření páru klíčů pro výměnu klíčů operace Diffie-HellmanAlice and Bob create a key pair to use for the Diffie-Hellman key exchange operation

  2. Alice a Bob nakonfigurovat KDF pomocí parametrů Souhlasím na.Alice and Bob configure the KDF using parameters the agree on.

  3. Alice odešle Bob svůj veřejný klíč.Alice sends Bob her public key.

  4. Bob pošle Alice jeho veřejný klíč.Bob sends Alice his public key.

  5. Alice a Bob použijte druhé strany veřejné klíče pro generování tajnou dohodu a KDF tajných kódů dohody ke generování klíče.Alice and Bob use each other's public keys to generate the secret agreement, and apply the KDF to the secret agreement to generate key material.

Konstruktory

ECDiffieHellmanCng() ECDiffieHellmanCng() ECDiffieHellmanCng() ECDiffieHellmanCng()

Inicializuje novou instanci třídy ECDiffieHellmanCng třída s atributem náhodný pár klíčů.Initializes a new instance of the ECDiffieHellmanCng class with a random key pair.

ECDiffieHellmanCng(CngKey) ECDiffieHellmanCng(CngKey) ECDiffieHellmanCng(CngKey) ECDiffieHellmanCng(CngKey)

Inicializuje novou instanci třídy ECDiffieHellmanCng třídy pomocí zadaného CngKey objektu.Initializes a new instance of the ECDiffieHellmanCng class by using the specified CngKey object.

ECDiffieHellmanCng(ECCurve) ECDiffieHellmanCng(ECCurve) ECDiffieHellmanCng(ECCurve) ECDiffieHellmanCng(ECCurve)

Vytvoří novou instanci třídy ECDiffieHellmanCng třídy, jejíž dvojice veřejného/soukromého klíče je generován prostřednictvím zadaná křivka.Creates a new instance of the ECDiffieHellmanCng class whose public/private key pair is generated over the specified curve.

ECDiffieHellmanCng(Int32) ECDiffieHellmanCng(Int32) ECDiffieHellmanCng(Int32) ECDiffieHellmanCng(Int32)

Inicializuje novou instanci třídy ECDiffieHellmanCng třída s atributem náhodný pár klíčů, pomocí velikost určeného klíče.Initializes a new instance of the ECDiffieHellmanCng class with a random key pair, using the specified key size.

Vlastnosti

HashAlgorithm HashAlgorithm HashAlgorithm HashAlgorithm

Získá nebo nastaví algoritmus hash použitého při generování klíče.Gets or sets the hash algorithm to use when generating key material.

HmacKey HmacKey HmacKey HmacKey

Získá nebo nastaví klíč Hash-based Message Authentication kód metoda HMAC () pro použití při odvození klíče.Gets or sets the Hash-based Message Authentication Code (HMAC) key to use when deriving key material.

Key Key Key Key

Určuje, CngKey aktuálním objektem, který se používá pro kryptografické operace.Specifies the CngKey that is used by the current object for cryptographic operations.

KeyDerivationFunction KeyDerivationFunction KeyDerivationFunction KeyDerivationFunction

Získá nebo nastaví funkci odvození klíče pro ECDiffieHellmanCng třídy.Gets or sets the key derivation function for the ECDiffieHellmanCng class.

KeyExchangeAlgorithm KeyExchangeAlgorithm KeyExchangeAlgorithm KeyExchangeAlgorithm

Získá název chcete algoritmus výměny klíčů.Gets the name of the key exchange algorithm.

(Inherited from ECDiffieHellman)
KeySize KeySize KeySize KeySize
Label Label Label Label

Získá nebo nastaví hodnotu popisku, který se používá pro odvození klíče.Gets or sets the label value that is used for key derivation.

LegalKeySizes LegalKeySizes LegalKeySizes LegalKeySizes
PublicKey PublicKey PublicKey PublicKey

Získá veřejný klíč, který mohou využívat jiné ECDiffieHellmanCng objektu, který chcete vygenerovat společný sdílený tajný klíč.Gets the public key that can be used by another ECDiffieHellmanCng object to generate a shared secret agreement.

SecretAppend SecretAppend SecretAppend SecretAppend

Získá nebo nastaví hodnotu, která se připojí k tajnou dohodu při generování klíče.Gets or sets a value that will be appended to the secret agreement when generating key material.

SecretPrepend SecretPrepend SecretPrepend SecretPrepend

Získá nebo nastaví hodnotu, která se přidá na začátek tajnou dohodu při odvození klíče.Gets or sets a value that will be added to the beginning of the secret agreement when deriving key material.

Seed Seed Seed Seed

Získá nebo nastaví počáteční hodnoty, který se použije při odvození klíče.Gets or sets the seed value that will be used when deriving key material.

SignatureAlgorithm SignatureAlgorithm SignatureAlgorithm SignatureAlgorithm

Získá název podpisového algoritmu.Gets the name of the signature algorithm.

(Inherited from ECDiffieHellman)
UseSecretAgreementAsHmacKey UseSecretAgreementAsHmacKey UseSecretAgreementAsHmacKey UseSecretAgreementAsHmacKey

Získá hodnotu, která označuje, zda tajnou dohodu se používá jako klíče Hash-based Message Authentication kód metoda HMAC () pro odvození klíče.Gets a value that indicates whether the secret agreement is used as a Hash-based Message Authentication Code (HMAC) key to derive key material.

Metody

Clear() Clear() Clear() Clear()

Uvolní všechny prostředky používané AsymmetricAlgorithm třídy.Releases all resources used by the AsymmetricAlgorithm class.

(Inherited from AsymmetricAlgorithm)
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName) DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName) DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName) DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

Je odvozen bajtů, které lze použít jako klíč pomocí funkce hash, jiná strana veřejný klíč a hodnotu hash algoritmus jeho název.Derives bytes that can be used as a key using a hash function, given another party's public key and hash algorithm's name.

(Inherited from ECDiffieHellman)
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[]) DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[]) DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[]) DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[])

Je odvozen bajtů, které lze použít jako klíč pomocí funkce hash, zadána jiná strana veřejný klíč, název algoritmu hash, hodnota prepend a připojené hodnoty.Derives bytes that can be used as a key using a hash function, given another party's public key, hash algorithm's name, a prepend value and an append value.

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

Je odvozen bajtů, které lze použít jako klíč pomocí Hash-based kódu (metoda HMAC Message Authentication).Derives bytes that can be used as a key using a Hash-based Message Authentication Code (HMAC).

(Inherited from ECDiffieHellman)
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[]) DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[]) DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[]) DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[])

Je odvozen bajtů, které lze použít jako klíč pomocí Hash-based kódu (metoda HMAC Message Authentication).Derives bytes that can be used as a key using a Hash-based Message Authentication Code (HMAC).

DeriveKeyMaterial(CngKey) DeriveKeyMaterial(CngKey) DeriveKeyMaterial(CngKey) DeriveKeyMaterial(CngKey)

Je odvozen materiál klíče, který je generován z tajného kódu smlouvu mezi dvěma stranami, vzhledem CngKey objekt, který obsahuje veřejný klíč druhé strany.Derives the key material that is generated from the secret agreement between two parties, given a CngKey object that contains the second party's public key.

DeriveKeyMaterial(ECDiffieHellmanPublicKey) DeriveKeyMaterial(ECDiffieHellmanPublicKey) DeriveKeyMaterial(ECDiffieHellmanPublicKey) DeriveKeyMaterial(ECDiffieHellmanPublicKey)

Je odvozen materiál klíče, který je generován z tajného kódu smlouvu mezi dvěma stranami, vzhledem ECDiffieHellmanPublicKey objekt, který obsahuje veřejný klíč druhé strany.Derives the key material that is generated from the secret agreement between two parties, given an ECDiffieHellmanPublicKey object that contains the second party's public key.

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

Je odvozen bajtů, které můžete použít jako klíč pomocí algoritmu odvození zabezpečení TLS (Transport Layer) Pseudo-Random – funkce (PRF).Derives bytes that can be used as a key using a Transport Layer Security (TLS) Pseudo-Random Function (PRF) derivation algorithm.

DeriveSecretAgreementHandle(CngKey) DeriveSecretAgreementHandle(CngKey) DeriveSecretAgreementHandle(CngKey) DeriveSecretAgreementHandle(CngKey)

Získá popisovač tajnou dohodu mezi dvěma stranami, zadaný CngKey objekt, který obsahuje veřejný klíč druhé strany.Gets a handle to the secret agreement generated between two parties, given a CngKey object that contains the second party's public key.

DeriveSecretAgreementHandle(ECDiffieHellmanPublicKey) DeriveSecretAgreementHandle(ECDiffieHellmanPublicKey) DeriveSecretAgreementHandle(ECDiffieHellmanPublicKey) DeriveSecretAgreementHandle(ECDiffieHellmanPublicKey)

Získá popisovač tajnou dohodu mezi dvěma stranami, vzhledem ECDiffieHellmanPublicKey objekt, který obsahuje veřejný klíč druhé strany.Gets a handle to the secret agreement generated between two parties, given an ECDiffieHellmanPublicKey object that contains the second party's public key.

Dispose() Dispose() Dispose() Dispose()

Uvolní všechny prostředky používané aktuální instancí třídy AsymmetricAlgorithm třídy.Releases all resources used by the current instance of the AsymmetricAlgorithm class.

(Inherited from AsymmetricAlgorithm)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Uvolní nespravované prostředky využívané třídou AsymmetricAlgorithm a volitelně také spravované prostředky.Releases the unmanaged resources used by the AsymmetricAlgorithm class and optionally releases the managed resources.

(Inherited from AsymmetricAlgorithm)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Určuje, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

(Inherited from Object)
ExportECPrivateKey() ExportECPrivateKey() ExportECPrivateKey() ExportECPrivateKey() Inherited from ECDiffieHellman
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters) ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters) ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters) ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters) Inherited from AsymmetricAlgorithm
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters) ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters) ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters) ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters) Inherited from AsymmetricAlgorithm
ExportExplicitParameters(Boolean) ExportExplicitParameters(Boolean) ExportExplicitParameters(Boolean) ExportExplicitParameters(Boolean)

Exportuje klíč a explicitní křivky parametrů používaných ECCurve objektu do ECParameters objektu.Exports the key and explicit curve parameters used by the ECCurve object into an ECParameters object.

ExportParameters(Boolean) ExportParameters(Boolean) ExportParameters(Boolean) ExportParameters(Boolean)

Exportuje klíč používaný ECCurve objektu do ECParameters objektu.Exports the key used by the ECCurve object into an ECParameters object.

ExportPkcs8PrivateKey() ExportPkcs8PrivateKey() ExportPkcs8PrivateKey() ExportPkcs8PrivateKey() Inherited from AsymmetricAlgorithm
ExportSubjectPublicKeyInfo() ExportSubjectPublicKeyInfo() ExportSubjectPublicKeyInfo() ExportSubjectPublicKeyInfo() Inherited from AsymmetricAlgorithm
FromXmlString(String) FromXmlString(String) FromXmlString(String) FromXmlString(String)

Tato metoda není implementována.This method is not implemented.

FromXmlString(String, ECKeyXmlFormat) FromXmlString(String, ECKeyXmlFormat) FromXmlString(String, ECKeyXmlFormat) FromXmlString(String, ECKeyXmlFormat)

Informace o klíči z řetězce XML deserializuje pomocí určeného formátu.Deserializes the key information from an XML string by using the specified format.

GenerateKey(ECCurve) GenerateKey(ECCurve) GenerateKey(ECCurve) GenerateKey(ECCurve)

Generuje nové dočasné dvojice veřejného/soukromého klíče pro zadaná křivka.Generates a new ephemeral public/private key pair for the specified curve.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Slouží jako výchozí funkce hash.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Získá Type aktuální instance.Gets the Type of the current instance.

(Inherited from Object)
ImportECPrivateKey(ReadOnlySpan<Byte>, Int32) ImportECPrivateKey(ReadOnlySpan<Byte>, Int32) ImportECPrivateKey(ReadOnlySpan<Byte>, Int32) ImportECPrivateKey(ReadOnlySpan<Byte>, Int32) Inherited from ECDiffieHellman
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32) ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32) ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32) ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32) Inherited from AsymmetricAlgorithm
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32) ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32) ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32) ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32) Inherited from AsymmetricAlgorithm
ImportParameters(ECParameters) ImportParameters(ECParameters) ImportParameters(ECParameters) ImportParameters(ECParameters)

Importuje zadané parametry pro ECCurve objektu jako klíč do aktuální instance.Imports the specified parameters for an ECCurve object as a key into the current instance.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32) ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32) ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32) ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32) Inherited from AsymmetricAlgorithm
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32) ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32) ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32) ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32) Inherited from AsymmetricAlgorithm
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Vytvoří Mělkou kopii aktuální Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Vrací řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

(Inherited from Object)
ToXmlString(Boolean) ToXmlString(Boolean) ToXmlString(Boolean) ToXmlString(Boolean)

Tato metoda není implementována.This method is not implemented.

ToXmlString(ECKeyXmlFormat) ToXmlString(ECKeyXmlFormat) ToXmlString(ECKeyXmlFormat) ToXmlString(ECKeyXmlFormat)

Serializuje klíčové informace do řetězce XML pomocí určeného formátu.Serializes the key information to an XML string by using the specified format.

TryExportECPrivateKey(Span<Byte>, Int32) TryExportECPrivateKey(Span<Byte>, Int32) TryExportECPrivateKey(Span<Byte>, Int32) TryExportECPrivateKey(Span<Byte>, Int32) Inherited from ECDiffieHellman
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32) TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32) TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32) TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32) Inherited from AsymmetricAlgorithm
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32) TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32) TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32) TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32) Inherited from AsymmetricAlgorithm
TryExportPkcs8PrivateKey(Span<Byte>, Int32) TryExportPkcs8PrivateKey(Span<Byte>, Int32) TryExportPkcs8PrivateKey(Span<Byte>, Int32) TryExportPkcs8PrivateKey(Span<Byte>, Int32) Inherited from AsymmetricAlgorithm
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32) TryExportSubjectPublicKeyInfo(Span<Byte>, Int32) TryExportSubjectPublicKeyInfo(Span<Byte>, Int32) TryExportSubjectPublicKeyInfo(Span<Byte>, Int32) Inherited from AsymmetricAlgorithm

Pole

KeySizeValue KeySizeValue KeySizeValue KeySizeValue

Představuje velikost v bitech, modulu klíče používané asymetrického algoritmu.Represents the size, in bits, of the key modulus used by the asymmetric algorithm.

(Inherited from AsymmetricAlgorithm)
LegalKeySizesValue LegalKeySizesValue LegalKeySizesValue LegalKeySizesValue

Určuje velikostí klíče, které jsou podporovány asymetrického algoritmu.Specifies the key sizes that are supported by the asymmetric algorithm.

(Inherited from AsymmetricAlgorithm)

Explicitní implementace rozhraní

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

Popis tohoto členu viz Dispose().For a description of this member, see Dispose().

(Inherited from AsymmetricAlgorithm)

Platí pro