ECDiffieHellmanCng Kelas

Definisi

Menyediakan implementasi Cryptography Next Generation (CNG) dari algoritma Elliptic Curve Diffie-Hellman (ECDH). Kelas ini digunakan untuk melakukan operasi kriptografi.

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
Warisan
Warisan

Contoh

Contoh berikut menunjukkan cara menggunakan ECDiffieHellmanCng kelas untuk membuat pertukaran kunci dan cara menggunakan kunci tersebut untuk mengenkripsi pesan yang dapat dikirim melalui saluran publik dan didekripsi oleh penerima.

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

Keterangan

Kelas ini ECDiffieHellmanCng memungkinkan dua pihak untuk bertukar materi kunci privat meskipun mereka berkomunikasi melalui saluran publik. Kedua belah pihak dapat menghitung nilai rahasia yang sama, yang disebut sebagai perjanjian rahasia dalam kelas Diffie-Hellman terkelola. Perjanjian rahasia kemudian dapat digunakan untuk berbagai tujuan, termasuk sebagai kunci konten. Namun, alih-alih mengekspos perjanjian rahasia secara langsung, ECDiffieHellmanCng kelas melakukan beberapa pasca-pemrosesan pada perjanjian sebelum memberikan nilai . Pemrosesan pos ini disebut sebagai fungsi derivasi kunci (KDF); Anda dapat memilih KDF mana yang ingin Anda gunakan dan mengatur parameternya melalui sekumpulan properti pada instans objek Diffie-Hellman.

Fungsi derivasi kunci Properti
Hash HashAlgorithm - Algoritma hash yang digunakan untuk memproses perjanjian rahasia.

SecretPrepend - Array byte opsional untuk didahului ke perjanjian rahasia sebelum hashing.

SecretAppend - Array byte opsional untuk ditambahkan ke perjanjian rahasia sebelum hashing.
Hmac HashAlgorithm - Algoritma hash yang digunakan untuk memproses perjanjian rahasia.

SecretPrepend- Array byte opsional untuk didahului ke perjanjian rahasia sebelum hashing.

SecretAppend - Array byte opsional untuk ditambahkan ke perjanjian rahasia sebelum hashing.
Tls Label - Label untuk derivasi kunci.

Seed - Benih untuk derivasi kunci.

Hasil dari meneruskan perjanjian rahasia melalui fungsi derivasi kunci adalah array byte yang dapat digunakan sebagai materi kunci untuk aplikasi Anda. Jumlah byte bahan kunci yang dihasilkan tergantung pada fungsi derivasi kunci; misalnya, SHA-256 akan menghasilkan 256 bit bahan kunci, sedangkan SHA-512 akan menghasilkan 512 bit bahan kunci. Alur dasar pertukaran kunci ECDH adalah sebagai berikut:

  1. Alice dan Bob membuat pasangan kunci yang akan digunakan untuk operasi pertukaran kunci Diffie-Hellman

  2. Alice dan Bob mengonfigurasi KDF menggunakan parameter yang disepakati.

  3. Alice mengirimkan bob kunci umumnya.

  4. Bob mengirimkan Alice kunci umumnya.

  5. Alice dan Bob menggunakan kunci publik satu sama lain untuk menghasilkan perjanjian rahasia, dan menerapkan KDF ke perjanjian rahasia untuk menghasilkan materi utama.

Konstruktor

ECDiffieHellmanCng()

Menginisialisasi instans ECDiffieHellmanCng baru kelas dengan pasangan kunci acak.

ECDiffieHellmanCng(CngKey)

Menginisialisasi instans ECDiffieHellmanCng baru kelas dengan menggunakan objek yang ditentukan CngKey .

ECDiffieHellmanCng(ECCurve)

Membuat instans baru kelas ECDiffieHellmanCng yang pasangan kunci publik/privatnya dihasilkan melalui kurva yang ditentukan.

ECDiffieHellmanCng(Int32)

Menginisialisasi instans ECDiffieHellmanCng baru kelas dengan pasangan kunci acak, menggunakan ukuran kunci yang ditentukan.

Bidang

KeySizeValue

Mewakili ukuran, dalam bit, dari modulus kunci yang digunakan oleh algoritma asimetris.

(Diperoleh dari AsymmetricAlgorithm)
LegalKeySizesValue

Menentukan ukuran kunci yang didukung oleh algoritma asimetris.

(Diperoleh dari AsymmetricAlgorithm)

Properti

HashAlgorithm

Mendapatkan atau mengatur algoritma hash untuk digunakan saat menghasilkan bahan kunci.

HmacKey

Mendapatkan atau mengatur kunci Kode Autentikasi Pesan (HMAC) berbasis Hash untuk digunakan saat mengambil materi kunci.

Key

CngKey Menentukan yang digunakan oleh objek saat ini untuk operasi kriptografi.

KeyDerivationFunction

Mendapatkan atau mengatur fungsi derivasi kunci untuk ECDiffieHellmanCng kelas .

KeyExchangeAlgorithm

Mendapatkan nama algoritma pertukaran kunci.

(Diperoleh dari ECDiffieHellman)
KeySize

Mendapatkan atau mengatur ukuran, dalam bit, dari modulus kunci yang digunakan oleh algoritma asimetris.

KeySize

Mendapatkan atau mengatur ukuran, dalam bit, dari modulus kunci yang digunakan oleh algoritma asimetris.

(Diperoleh dari AsymmetricAlgorithm)
Label

Mendapatkan atau mengatur nilai label yang digunakan untuk derivasi kunci.

LegalKeySizes

Mendapatkan ukuran kunci yang didukung oleh algoritma asimetris.

LegalKeySizes

Mendapatkan ukuran kunci yang didukung oleh algoritma asimetris.

(Diperoleh dari AsymmetricAlgorithm)
PublicKey

Mendapatkan kunci publik yang dapat digunakan oleh objek lain ECDiffieHellmanCng untuk menghasilkan perjanjian rahasia bersama.

SecretAppend

Mendapatkan atau menetapkan nilai yang akan ditambahkan ke perjanjian rahasia saat menghasilkan materi kunci.

SecretPrepend

Mendapatkan atau menetapkan nilai yang akan ditambahkan ke awal perjanjian rahasia saat mengambil materi kunci.

Seed

Mendapatkan atau mengatur nilai benih yang akan digunakan saat mengambil bahan kunci.

SignatureAlgorithm

Mendapatkan nama algoritma tanda tangan.

(Diperoleh dari ECDiffieHellman)
UseSecretAgreementAsHmacKey

Mendapatkan nilai yang menunjukkan apakah perjanjian rahasia digunakan sebagai kunci Kode Autentikasi Pesan berbasis Hash (HMAC) untuk mendapatkan materi kunci.

Metode

Clear()

Merilis semua sumber daya yang AsymmetricAlgorithm digunakan oleh kelas .

(Diperoleh dari AsymmetricAlgorithm)
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

Melakukan derivasi kunci menggunakan algoritma hash tertentu.

(Diperoleh dari ECDiffieHellman)
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[])

Melakukan derivasi kunci menggunakan algoritma hash tertentu dengan data opsional yang telah ditambahkan sebelumnya atau ditambahkan.

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

Saat diimplementasikan dalam kelas turunan, melakukan derivasi kunci menggunakan algoritma hash tertentu dengan data opsional yang telah ditambahkan sebelumnya atau ditambahkan.

(Diperoleh dari ECDiffieHellman)
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

Melakukan derivasi kunci menggunakan algoritma HMAC (Kode Autentikasi Pesan berbasis Hash) tertentu.

(Diperoleh dari ECDiffieHellman)
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[])

Melakukan derivasi kunci menggunakan algoritma HMAC (Kode Autentikasi Pesan berbasis Hash) tertentu dengan data opsional yang telah ditambahkan sebelumnya atau ditambahkan.

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

Saat diimplementasikan di kelas turunan, melakukan derivasi kunci menggunakan algoritma HMAC (Kode Autentikasi Pesan berbasis Hash) tertentu dengan data opsional yang telah ditambahkan sebelumnya atau ditambahkan.

(Diperoleh dari ECDiffieHellman)
DeriveKeyMaterial(CngKey)

Memperoleh materi kunci yang dihasilkan dari perjanjian rahasia antara dua pihak, mengingat CngKey objek yang berisi kunci umum pihak kedua.

DeriveKeyMaterial(ECDiffieHellmanPublicKey)

Memperoleh materi kunci yang dihasilkan dari perjanjian rahasia antara dua pihak, mengingat ECDiffieHellmanPublicKey objek yang berisi kunci publik pihak kedua.

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

Melakukan derivasi kunci menggunakan TLS (Transport Layer Security) 1.1 PRF (Pseudo-Random Function).

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

Saat diimplementasikan dalam kelas turunan, melakukan derivasi kunci menggunakan TLS (Transport Layer Security) 1.1 PRF (Pseudo-Random Function).

(Diperoleh dari ECDiffieHellman)
DeriveRawSecretAgreement(ECDiffieHellmanPublicKey)

Mendapatkan bahan kunci mentah.

(Diperoleh dari ECDiffieHellman)
DeriveSecretAgreementHandle(CngKey)

Mendapatkan pegangan terhadap perjanjian rahasia yang dihasilkan antara dua pihak, mengingat CngKey objek yang berisi kunci publik pihak kedua.

DeriveSecretAgreementHandle(ECDiffieHellmanPublicKey)

Mendapatkan pegangan terhadap perjanjian rahasia yang dihasilkan antara dua pihak, mengingat ECDiffieHellmanPublicKey objek yang berisi kunci publik pihak kedua.

Dispose()

Merilis semua sumber daya yang digunakan oleh instans AsymmetricAlgorithm kelas saat ini.

(Diperoleh dari AsymmetricAlgorithm)
Dispose(Boolean)

Merilis sumber daya tidak terkelola yang digunakan oleh AsymmetricAlgorithm kelas dan secara opsional merilis sumber daya terkelola.

(Diperoleh dari AsymmetricAlgorithm)
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
ExportECPrivateKey()

Mengekspor kunci saat ini dalam format ECPrivateKey.

(Diperoleh dari ECDiffieHellman)
ExportECPrivateKeyPem()

Mengekspor kunci saat ini dalam format ECPrivateKey, yang dikodekan PEM.

(Diperoleh dari ECAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Mengekspor kunci saat ini dalam format PKCS#8 EncryptedPrivateKeyInfo dengan kata sandi berbasis byte.

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Mengekspor kunci saat ini dalam format PKCS#8 EncryptedPrivateKeyInfo dengan kata sandi berbasis byte.

(Diperoleh dari AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Mengekspor kunci saat ini dalam format PKCS#8 EncryptedPrivateKeyInfo dengan kata sandi berbasis karakter.

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Mengekspor kunci saat ini dalam format PKCS#8 EncryptedPrivateKeyInfo dengan kata sandi berbasis karakter.

(Diperoleh dari AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters)

Mengekspor kunci saat ini dalam format PKCS#8 EncryptedPrivateKeyInfo dengan kata sandi berbasis byte, yang dikodekan PEM.

(Diperoleh dari AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters)

Mengekspor kunci saat ini dalam format PKCS#8 EncryptedPrivateKeyInfo dengan kata sandi berbasis karakter, yang dikodekan PEM.

(Diperoleh dari AsymmetricAlgorithm)
ExportExplicitParameters(Boolean)

Mengekspor parameter kurva kunci dan eksplisit yang digunakan oleh ECCurve objek ke dalam ECParameters objek.

ExportExplicitParameters(Boolean)

Ketika ditimpa di kelas turunan, mengekspor informasi kunci publik atau publik dan privat menggunakan bentuk kurva eksplisit dari kunci kerja ECDiffieHellman ke ECParameters struktur sehingga dapat diteruskan ke ImportParameters(ECParameters) metode .

(Diperoleh dari ECDiffieHellman)
ExportParameters(Boolean)

Mengekspor kunci yang digunakan oleh ECCurve objek ke dalam objek ECParameters .

ExportParameters(Boolean)

Ketika ditimpa di kelas turunan, mengekspor informasi kunci publik atau publik dan privat dari kunci kerja ECDiffieHellman ke ECParameters struktur sehingga dapat diteruskan ke ImportParameters(ECParameters) metode .

(Diperoleh dari ECDiffieHellman)
ExportPkcs8PrivateKey()

Mengekspor kunci saat ini dalam format PKCS#8 PrivateKeyInfo.

(Diperoleh dari AsymmetricAlgorithm)
ExportPkcs8PrivateKeyPem()

Mengekspor kunci saat ini dalam format PKCS#8 PrivateKeyInfo, yang dikodekan PEM.

(Diperoleh dari AsymmetricAlgorithm)
ExportSubjectPublicKeyInfo()

Mengekspor bagian kunci publik dari kunci saat ini dalam format SubjectPublicKeyInfo X.509.

(Diperoleh dari AsymmetricAlgorithm)
ExportSubjectPublicKeyInfoPem()

Mengekspor bagian kunci publik dari kunci saat ini dalam format SubjectPublicKeyInfo X.509, yang dikodekan PEM.

(Diperoleh dari AsymmetricAlgorithm)
FromXmlString(String)

Metode ini tidak diterapkan.

FromXmlString(String)

Metode ini melemparkan dalam semua kasus.

(Diperoleh dari ECDiffieHellman)
FromXmlString(String, ECKeyXmlFormat)
Kedaluwarsa.

Mendeserialisasi informasi kunci dari string XML dengan menggunakan format yang ditentukan.

GenerateKey(ECCurve)

Menghasilkan pasangan kunci publik/privat ephemeral baru untuk kurva yang ditentukan.

GenerateKey(ECCurve)

Ketika ditimpa di kelas turunan, menghasilkan pasangan kunci publik/privat ephemeral baru untuk kurva yang ditentukan.

(Diperoleh dari ECDiffieHellman)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
ImportECPrivateKey(ReadOnlySpan<Byte>, Int32)

Mengimpor keypair publik/privat dari struktur ECPrivateKey, menggantikan kunci untuk objek ini.

(Diperoleh dari ECDiffieHellman)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Mengimpor keypair publik/privat dari struktur PKCS#8 EncryptedPrivateKeyInfo setelah mendekripsi dengan kata sandi berbasis byte, menggantikan kunci untuk objek ini.

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

Mengimpor keypair publik/privat dari struktur PKCS#8 EncryptedPrivateKeyInfo setelah mendekripsi dengan kata sandi berbasis byte, menggantikan kunci untuk objek ini.

(Diperoleh dari ECDiffieHellman)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Mengimpor keypair publik/privat dari struktur PKCS#8 EncryptedPrivateKeyInfo setelah mendekripsi dengan kata sandi berbasis karakter, menggantikan kunci untuk objek ini.

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

Mengimpor keypair publik/privat dari struktur PKCS#8 EncryptedPrivateKeyInfo setelah mendekripsi dengan kata sandi berbasis karakter, menggantikan kunci untuk objek ini.

(Diperoleh dari ECDiffieHellman)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

Mengimpor kunci privat yang dikodekan RFC 7468 PEM terenkripsi, menggantikan kunci untuk objek ini.

(Diperoleh dari ECDiffieHellman)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Mengimpor kunci privat yang dikodekan RFC 7468 PEM terenkripsi, menggantikan kunci untuk objek ini.

(Diperoleh dari ECDiffieHellman)
ImportFromPem(ReadOnlySpan<Char>)

Mengimpor kunci yang dikodekan RFC 7468 PEM, menggantikan kunci untuk objek ini.

(Diperoleh dari ECDiffieHellman)
ImportParameters(ECParameters)

Mengimpor parameter yang ditentukan untuk ECCurve objek sebagai kunci ke dalam instans saat ini.

ImportParameters(ECParameters)

Ketika ditimpa di kelas turunan, mengimpor parameter yang ECCurve ditentukan untuk sebagai kunci sementara ke dalam objek saat ini ECDiffieHellman .

(Diperoleh dari ECDiffieHellman)
ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Mengimpor keypair publik/privat dari struktur PKCS#8 PrivateKeyInfo setelah dekripsi, menggantikan kunci untuk objek ini.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Mengimpor keypair publik/privat dari struktur PKCS#8 PrivateKeyInfo setelah dekripsi, menggantikan kunci untuk objek ini.

(Diperoleh dari ECDiffieHellman)
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Mengimpor kunci publik dari struktur SubjectPublicKeyInfo X.509 setelah dekripsi, menggantikan kunci untuk objek ini.

(Diperoleh dari ECDiffieHellman)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
ToXmlString(Boolean)

Metode ini tidak diterapkan.

ToXmlString(Boolean)

Metode ini melemparkan dalam semua kasus.

(Diperoleh dari ECDiffieHellman)
ToXmlString(ECKeyXmlFormat)
Kedaluwarsa.

Menserialisasikan informasi kunci ke string XML dengan menggunakan format yang ditentukan.

TryExportECPrivateKey(Span<Byte>, Int32)

Mencoba mengekspor kunci saat ini dalam format ke ECPrivateKey dalam buffer yang disediakan.

(Diperoleh dari ECDiffieHellman)
TryExportECPrivateKeyPem(Span<Char>, Int32)

Mencoba mengekspor kunci saat ini dalam format ECPrivateKey yang dikodekan PEM ke dalam buffer yang disediakan.

(Diperoleh dari ECAlgorithm)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

Mencoba mengekspor kunci saat ini dalam format PKCS#8 EncryptedPrivateKeyInfo ke dalam buffer yang disediakan, menggunakan kata sandi berbasis byte.

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

Mencoba mengekspor kunci saat ini dalam format PKCS#8 EncryptedPrivateKeyInfo ke dalam buffer yang disediakan, menggunakan kata sandi berbasis byte.

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

Mencoba mengekspor kunci saat ini dalam format PKCS#8 EncryptedPrivateKeyInfo ke dalam buffer yang disediakan, menggunakan kata sandi berbasis karakter.

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

Mencoba mengekspor kunci saat ini dalam format PKCS#8 EncryptedPrivateKeyInfo ke dalam buffer yang disediakan, menggunakan kata sandi berbasis karakter.

(Diperoleh dari ECDiffieHellman)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters, Span<Char>, Int32)

Mencoba mengekspor kunci saat ini dalam format PKCS#8 EncryptedPrivateKeyInfo dengan kata sandi berbasis byte, yang dikodekan PEM.

(Diperoleh dari AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters, Span<Char>, Int32)

Mengekspor kunci saat ini dalam format PKCS#8 EncryptedPrivateKeyInfo dengan kata sandi berbasis karakter, yang dikodekan PEM.

(Diperoleh dari AsymmetricAlgorithm)
TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Mencoba mengekspor kunci saat ini dalam format PKCS#8 PrivateKeyInfo ke dalam buffer yang disediakan.

TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Mencoba mengekspor kunci saat ini dalam format PKCS#8 PrivateKeyInfo ke dalam buffer yang disediakan.

(Diperoleh dari ECDiffieHellman)
TryExportPkcs8PrivateKeyPem(Span<Char>, Int32)

Mencoba mengekspor kunci saat ini dalam format PKCS#8 PrivateKeyInfo yang dikodekan PEM ke dalam buffer yang disediakan.

(Diperoleh dari AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Mencoba mengekspor kunci saat ini dalam format X.509 SubjectPublicKeyInfo ke dalam buffer yang disediakan.

(Diperoleh dari ECDiffieHellman)
TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32)

Mencoba mengekspor kunci saat ini dalam format SubjectPublicKeyInfo X.509 yang dikodekan PEM ke dalam buffer yang disediakan.

(Diperoleh dari AsymmetricAlgorithm)

Implementasi Antarmuka Eksplisit

IDisposable.Dispose()

API ini mendukung infrastruktur produk dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

Untuk deskripsi anggota ini, lihat Dispose().

(Diperoleh dari AsymmetricAlgorithm)

Berlaku untuk