ECDiffieHellmanCng Sınıf

Tanım

Üç Nokta Eğrisi Diffie-Hellman (ECDH) algoritmasının Şifreleme Yeni Nesil (CNG) uygulamasını sağlar. Bu sınıf şifreleme işlemleri gerçekleştirmek için kullanılır.

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

Örnekler

Aşağıdaki örnekte, bir anahtar değişimi oluşturmak için sınıfının nasıl kullanılacağı ECDiffieHellmanCng ve ortak bir kanal üzerinden gönderilebilen ve alıcı tarafından şifresi çözülebilen bir iletiyi şifrelemek için bu anahtarın nasıl kullanılacağı gösterilmektedir.

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

Açıklamalar

sınıfı, ECDiffieHellmanCng iki tarafın ortak bir kanal üzerinden iletişim kuruyor olsalar bile özel anahtar malzemelerini değiştirmesine olanak tanır. Her iki taraf da yönetilen Diffie-Hellman sınıflarında gizli dizi sözleşmesi olarak adlandırılan aynı gizli dizi değerini hesaplayabilir. Gizli dizi sözleşmesi daha sonra simetrik anahtar da dahil olmak üzere çeşitli amaçlar için kullanılabilir. Ancak sınıf, gizli dizi sözleşmesini doğrudan kullanıma sunmak yerine, ECDiffieHellmanCng değeri sağlamadan önce sözleşme üzerinde işlemden sonra bazı işlemler yapar. Bu gönderi işleme anahtar türetme işlevi (KDF) olarak adlandırılır; kullanmak istediğiniz KDF'yi seçebilir ve Diffie-Hellman nesnesinin örneğindeki bir dizi özellik aracılığıyla parametrelerini ayarlayabilirsiniz.

Anahtar türetme işlevi Özellikler
Hash HashAlgorithm - Gizli dizi sözleşmesini işlemek için kullanılan karma algoritması.

SecretPrepend - Karma oluşturmadan önce gizli anlaşmadan önce ekli isteğe bağlı bir bayt dizisi.

SecretAppend - Karma oluşturmadan önce gizli diziye eklenecek isteğe bağlı bir bayt dizisi.
Hmac HashAlgorithm - Gizli dizi sözleşmesini işlemek için kullanılan karma algoritması.

SecretPrepend- Karma oluşturmadan önce gizli anlaşmadan önce ekli isteğe bağlı bir bayt dizisi.

SecretAppend - Karma oluşturmadan önce gizli diziye eklenecek isteğe bağlı bir bayt dizisi.
Tls Label - Anahtar türetme etiketi.

Seed - Anahtar türetme için tohum.

Gizli dizi sözleşmesini anahtar türetme işlevi aracılığıyla geçirmenin sonucu, uygulamanız için anahtar malzemesi olarak kullanılabilecek bir bayt dizisidir. Oluşturulan anahtar malzemesinin bayt sayısı anahtar türetme işlevine bağlıdır; örneğin, SHA-256 256 bit anahtar malzeme oluştururken SHA-512 512 bit anahtar malzeme oluşturur. ECDH anahtar değişiminin temel akışı aşağıdaki gibidir:

  1. Alice ve Bob, Diffie-Hellman anahtar değişimi işlemi için kullanılacak bir anahtar çifti oluşturur

  2. Alice ve Bob, üzerinde anlaşmaya varılan parametreleri kullanarak KDF'yi yapılandırıyor.

  3. Alice, Bob'a ortak anahtarını gönderir.

  4. Bob, Alice'e ortak anahtarını gönderir.

  5. Alice ve Bob, gizli anlaşma oluşturmak için birbirlerinin ortak anahtarlarını kullanır ve anahtar malzeme oluşturmak için KDF'yi gizli anlaşmaya uygular.

Oluşturucular

ECDiffieHellmanCng()

Rastgele bir anahtar çifti ECDiffieHellmanCng ile sınıfının yeni bir örneğini başlatır.

ECDiffieHellmanCng(CngKey)

Belirtilen CngKey nesneyi kullanarak sınıfının yeni bir örneğini ECDiffieHellmanCng başlatır.

ECDiffieHellmanCng(ECCurve)

Ortak/özel anahtar çifti ECDiffieHellmanCng belirtilen eğri üzerinde oluşturulan sınıfının yeni bir örneğini oluşturur.

ECDiffieHellmanCng(Int32)

Belirtilen anahtar boyutunu kullanarak rastgele bir anahtar çifti ile sınıfının yeni bir örneğini ECDiffieHellmanCng başlatır.

Alanlar

KeySizeValue

Asimetrik algoritma tarafından kullanılan anahtar modülünün bit cinsinden boyutunu temsil eder.

(Devralındığı yer: AsymmetricAlgorithm)
LegalKeySizesValue

Asimetrik algoritma tarafından desteklenen anahtar boyutlarını belirtir.

(Devralındığı yer: AsymmetricAlgorithm)

Özellikler

HashAlgorithm

Anahtar malzeme oluştururken kullanılacak karma algoritmayı alır veya ayarlar.

HmacKey

Anahtar malzemesi türetilirken kullanılacak Karma Tabanlı İleti Kimlik Doğrulama Kodu (HMAC) anahtarını alır veya ayarlar.

Key

CngKey Geçerli nesne tarafından şifreleme işlemleri için kullanılan öğesini belirtir.

KeyDerivationFunction

sınıfı için ECDiffieHellmanCng anahtar türetme işlevini alır veya ayarlar.

KeyExchangeAlgorithm

Anahtar değişim algoritmasının adını alır.

(Devralındığı yer: ECDiffieHellman)
KeySize

Asimetrik algoritma tarafından kullanılan anahtar modülünün bit cinsinden boyutunu alır veya ayarlar.

KeySize

Asimetrik algoritma tarafından kullanılan anahtar modülünün bit cinsinden boyutunu alır veya ayarlar.

(Devralındığı yer: AsymmetricAlgorithm)
Label

Anahtar türetme için kullanılan etiket değerini alır veya ayarlar.

LegalKeySizes

Asimetrik algoritma tarafından desteklenen anahtar boyutlarını alır.

LegalKeySizes

Asimetrik algoritma tarafından desteklenen anahtar boyutlarını alır.

(Devralındığı yer: AsymmetricAlgorithm)
PublicKey

Paylaşılan gizli dizi sözleşmesi oluşturmak için başka bir ECDiffieHellmanCng nesne tarafından kullanılabilecek ortak anahtarı alır.

SecretAppend

Anahtar malzeme oluşturulurken gizli dizi sözleşmesine eklenecek değeri alır veya ayarlar.

SecretPrepend

Anahtar malzeme türetilirken gizli dizi sözleşmesinin başına eklenecek değeri alır veya ayarlar.

Seed

Anahtar malzeme türetilirken kullanılacak tohum değerini alır veya ayarlar.

SignatureAlgorithm

İmza algoritmasının adını alır.

(Devralındığı yer: ECDiffieHellman)
UseSecretAgreementAsHmacKey

Gizli dizi sözleşmesinin anahtar malzemesini türetmek için Karma Tabanlı İleti Kimlik Doğrulama Kodu (HMAC) anahtarı olarak kullanılıp kullanılmadığını gösteren bir değer alır.

Yöntemler

Clear()

sınıfı tarafından AsymmetricAlgorithm kullanılan tüm kaynakları serbest bırakır.

(Devralındığı yer: AsymmetricAlgorithm)
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

Belirtilen karma algoritmayı kullanarak anahtar türetmesi gerçekleştirir.

(Devralındığı yer: ECDiffieHellman)
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[])

İsteğe bağlı önceden eklenen veya eklenen verilerle belirtilen karma algoritmayı kullanarak anahtar türetmesi gerçekleştirir.

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

Türetilmiş bir sınıfta uygulandığında, isteğe bağlı önceden eklenmiş veya eklenmiş verilerle belirtilen karma algoritmayı kullanarak anahtar türetmesi gerçekleştirir.

(Devralındığı yer: ECDiffieHellman)
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

Belirtilen HMAC (Karma Tabanlı İleti Kimlik Doğrulama Kodu) algoritmasını kullanarak anahtar türetmesi gerçekleştirir.

(Devralındığı yer: ECDiffieHellman)
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[])

İsteğe bağlı önceden eklenen veya eklenen verilerle belirtilen HMAC (Karma Tabanlı İleti Kimlik Doğrulama Kodu) algoritmasını kullanarak anahtar türetmesi gerçekleştirir.

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

Türetilmiş bir sınıfta uygulandığında, isteğe bağlı olarak önceden eklenen veya eklenen verilerle belirtilen HMAC (Karma Tabanlı İleti Kimlik Doğrulama Kodu) algoritmasını kullanarak anahtar türetmesi gerçekleştirir.

(Devralındığı yer: ECDiffieHellman)
DeriveKeyMaterial(CngKey)

İkinci tarafın ortak anahtarını içeren bir CngKey nesne verildiğinde, iki taraf arasındaki gizli anlaşmadan oluşturulan anahtar malzemeyi türetir.

DeriveKeyMaterial(ECDiffieHellmanPublicKey)

İkinci tarafın ortak anahtarını içeren bir ECDiffieHellmanPublicKey nesne verildiğinde, iki taraf arasındaki gizli anlaşmadan oluşturulan anahtar malzemeyi türetir.

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

TLS (Aktarım Katmanı Güvenliği) 1.1 PRF'sini (Sahte Rastgele İşlev) kullanarak anahtar türetmesi gerçekleştirir.

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

Türetilmiş bir sınıfta uygulandığında, TLS (Aktarım Katmanı Güvenliği) 1.1 PRF'sini (Sözde Rastgele İşlev) kullanarak anahtar türetmesi gerçekleştirir.

(Devralındığı yer: ECDiffieHellman)
DeriveRawSecretAgreement(ECDiffieHellmanPublicKey)

Ham anahtar malzemesi türet.

(Devralındığı yer: ECDiffieHellman)
DeriveSecretAgreementHandle(CngKey)

İkinci tarafın ortak anahtarını içeren bir nesne verilip iki taraf arasında oluşturulan gizli anlaşma için bir CngKey tanıtıcı alır.

DeriveSecretAgreementHandle(ECDiffieHellmanPublicKey)

İkinci tarafın ortak anahtarını içeren bir nesne verilip iki taraf arasında oluşturulan gizli anlaşma için bir ECDiffieHellmanPublicKey tanıtıcı alır.

Dispose()

AsymmetricAlgorithm sınıfının geçerli örneği tarafından kullanılan tüm kaynakları serbest bırakır.

(Devralındığı yer: AsymmetricAlgorithm)
Dispose(Boolean)

sınıfı tarafından AsymmetricAlgorithm kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları serbest bırakır.

(Devralındığı yer: AsymmetricAlgorithm)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
ExportECPrivateKey()

Geçerli anahtarı ECPrivateKey biçiminde dışarı aktarır.

(Devralındığı yer: ECDiffieHellman)
ExportECPrivateKeyPem()

Geçerli anahtarı PEM kodlu ECPrivateKey biçiminde dışarı aktarır.

(Devralındığı yer: ECAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Geçerli anahtarı PKCS#8 EncryptedPrivateKeyInfo biçiminde bayt tabanlı bir parolayla dışarı aktarır.

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Geçerli anahtarı PKCS#8 EncryptedPrivateKeyInfo biçiminde bayt tabanlı bir parolayla dışarı aktarır.

(Devralındığı yer: AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Geçerli anahtarı PKCS#8 EncryptedPrivateKeyInfo biçiminde karakter tabanlı bir parolayla dışarı aktarır.

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Geçerli anahtarı PKCS#8 EncryptedPrivateKeyInfo biçiminde karakter tabanlı bir parolayla dışarı aktarır.

(Devralındığı yer: AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters)

GEÇERLI anahtarı PKCS#8 EncryptedPrivateKeyInfo biçiminde, PEM kodlanmış bayt tabanlı bir parolayla dışarı aktarır.

(Devralındığı yer: AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters)

Geçerli anahtarı PKCS#8 EncryptedPrivateKeyInfo biçiminde pem kodlanmış karakter tabanlı bir parolayla dışarı aktarır.

(Devralındığı yer: AsymmetricAlgorithm)
ExportExplicitParameters(Boolean)

Nesne tarafından kullanılan anahtar ve açık eğri parametrelerini bir ECParameters nesneye ECCurve aktarır.

ExportExplicitParameters(Boolean)

Türetilmiş bir sınıfta geçersiz kılındığında, çalışma ECDiffieHellman anahtarındaki açık eğri formunu kullanarak ortak veya ortak ve özel anahtar bilgilerini yönteme geçirebilmek için bir ECParameters yapıya ImportParameters(ECParameters) aktarır.

(Devralındığı yer: ECDiffieHellman)
ExportParameters(Boolean)

Nesne tarafından kullanılan anahtarı bir ECParameters nesneye ECCurve aktarır.

ExportParameters(Boolean)

Türetilmiş bir sınıfta geçersiz kılındığında, ortak veya ortak ve özel anahtar bilgilerini çalışma ECDiffieHellman anahtarından bir ECParameters yapıya dışarı aktarır, böylece yönteme ImportParameters(ECParameters) geçirilebilir.

(Devralındığı yer: ECDiffieHellman)
ExportPkcs8PrivateKey()

Geçerli anahtarı PKCS#8 PrivateKeyInfo biçiminde dışarı aktarır.

(Devralındığı yer: AsymmetricAlgorithm)
ExportPkcs8PrivateKeyPem()

Geçerli anahtarı, PEM kodlu PKCS#8 PrivateKeyInfo biçiminde dışarı aktarır.

(Devralındığı yer: AsymmetricAlgorithm)
ExportSubjectPublicKeyInfo()

Geçerli anahtarın ortak anahtar bölümünü X.509 SubjectPublicKeyInfo biçiminde dışarı aktarır.

(Devralındığı yer: AsymmetricAlgorithm)
ExportSubjectPublicKeyInfoPem()

Geçerli anahtarın ortak anahtar bölümünü PEM kodlanmış X.509 SubjectPublicKeyInfo biçiminde dışarı aktarır.

(Devralındığı yer: AsymmetricAlgorithm)
FromXmlString(String)

Bu yöntem uygulanmadı.

FromXmlString(String)

Bu yöntem her durumda oluşturur.

(Devralındığı yer: ECDiffieHellman)
FromXmlString(String, ECKeyXmlFormat)
Geçersiz.

Belirtilen biçimi kullanarak bir XML dizesinden anahtar bilgilerini seri durumdan kaldırır.

GenerateKey(ECCurve)

Belirtilen eğri için yeni bir kısa ömürlü ortak/özel anahtar çifti oluşturur.

GenerateKey(ECCurve)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen eğri için yeni bir kısa ömürlü genel/özel anahtar çifti oluşturur.

(Devralındığı yer: ECDiffieHellman)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
ImportECPrivateKey(ReadOnlySpan<Byte>, Int32)

Bu nesnenin anahtarlarını değiştirerek ecPrivateKey yapısından genel/özel anahtar bölmesini içeri aktarır.

(Devralındığı yer: ECDiffieHellman)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Bayt tabanlı bir parola ile şifre çözme işleminden sonra bu nesnenin anahtarlarını değiştirerek pkcs#8 EncryptedPrivateKeyInfo yapısından genel/özel anahtar bölmesini içeri aktarır.

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

Bayt tabanlı bir parola ile şifre çözme işleminden sonra bu nesnenin anahtarlarını değiştirerek pkcs#8 EncryptedPrivateKeyInfo yapısından genel/özel anahtar bölmesini içeri aktarır.

(Devralındığı yer: ECDiffieHellman)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Bu nesnenin anahtarlarını değiştirerek karakter tabanlı bir parola ile şifre çözme işleminden sonra pkcs#8 EncryptedPrivateKeyInfo yapısından ortak/özel anahtar bölmesini içeri aktarır.

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

Bu nesnenin anahtarlarını değiştirerek karakter tabanlı bir parola ile şifre çözme işleminden sonra pkcs#8 EncryptedPrivateKeyInfo yapısından ortak/özel anahtar bölmesini içeri aktarır.

(Devralındığı yer: ECDiffieHellman)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

Bu nesnenin anahtarlarını değiştirerek şifrelenmiş bir RFC 7468 PEM kodlu özel anahtarı içeri aktarır.

(Devralındığı yer: ECDiffieHellman)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Bu nesnenin anahtarlarını değiştirerek şifrelenmiş bir RFC 7468 PEM kodlu özel anahtarı içeri aktarır.

(Devralındığı yer: ECDiffieHellman)
ImportFromPem(ReadOnlySpan<Char>)

Bu nesnenin anahtarlarını değiştirerek RFC 7468 PEM ile kodlanmış bir anahtarı içeri aktarır.

(Devralındığı yer: ECDiffieHellman)
ImportParameters(ECParameters)

Bir ECCurve nesne için belirtilen parametreleri geçerli örneğe anahtar olarak içeri aktarır.

ImportParameters(ECParameters)

Türetilmiş bir sınıfta geçersiz kılındığında, bir için ECCurve belirtilen parametreleri kısa ömürlü anahtar olarak geçerli ECDiffieHellman nesneye aktarır.

(Devralındığı yer: ECDiffieHellman)
ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Şifre çözme işleminden sonra pkcs#8 PrivateKeyInfo yapısından ortak/özel anahtar bölmesini içeri aktarır ve bu nesnenin anahtarlarını değiştirir.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Şifre çözme işleminden sonra pkcs#8 PrivateKeyInfo yapısından ortak/özel anahtar bölmesini içeri aktarır ve bu nesnenin anahtarlarını değiştirir.

(Devralındığı yer: ECDiffieHellman)
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Şifre çözme işleminden sonra bir X.509 SubjectPublicKeyInfo yapısından ortak anahtarı içeri aktarır ve bu nesnenin anahtarlarını değiştirir.

(Devralındığı yer: ECDiffieHellman)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)
ToXmlString(Boolean)

Bu yöntem uygulanmadı.

ToXmlString(Boolean)

Bu yöntem her durumda oluşturur.

(Devralındığı yer: ECDiffieHellman)
ToXmlString(ECKeyXmlFormat)
Geçersiz.

Belirtilen biçimi kullanarak anahtar bilgilerini bir XML dizesine serileştirir.

TryExportECPrivateKey(Span<Byte>, Int32)

Geçerli anahtarı ECPrivateKey biçiminde sağlanan arabelleğe aktarmayı dener.

(Devralındığı yer: ECDiffieHellman)
TryExportECPrivateKeyPem(Span<Char>, Int32)

PEM kodlu ECPrivateKey biçimindeki geçerli anahtarı sağlanan arabelleğe aktarmayı dener.

(Devralındığı yer: ECAlgorithm)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

PKCS#8 EncryptedPrivateKeyInfo biçimindeki geçerli anahtarı bayt tabanlı bir parola kullanarak sağlanan arabelleğe aktarmaya çalışır.

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

PKCS#8 EncryptedPrivateKeyInfo biçimindeki geçerli anahtarı bayt tabanlı bir parola kullanarak sağlanan arabelleğe aktarmayı dener.

(Devralındığı yer: ECDiffieHellman)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

KARAKTER tabanlı parola kullanarak PKCS#8 EncryptedPrivateKeyInfo biçimindeki geçerli anahtarı sağlanan arabelleğe aktarmaya çalışır.

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

PKCS#8 EncryptedPrivateKeyInfo biçimindeki geçerli anahtarı, karakter tabanlı bir parola kullanarak sağlanan arabelleğe aktarmayı dener.

(Devralındığı yer: ECDiffieHellman)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters, Span<Char>, Int32)

GEÇERLI anahtarı PKCS#8 EncryptedPrivateKeyInfo biçiminde, PEM kodlanmış bayt tabanlı bir parolayla dışarı aktarmaya çalışır.

(Devralındığı yer: AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters, Span<Char>, Int32)

Geçerli anahtarı PKCS#8 EncryptedPrivateKeyInfo biçiminde pem kodlanmış karakter tabanlı bir parolayla dışarı aktarır.

(Devralındığı yer: AsymmetricAlgorithm)
TryExportPkcs8PrivateKey(Span<Byte>, Int32)

PKCS#8 PrivateKeyInfo biçimindeki geçerli anahtarı sağlanan arabelleğe aktarmaya çalışır.

TryExportPkcs8PrivateKey(Span<Byte>, Int32)

PKCS#8 PrivateKeyInfo biçimindeki geçerli anahtarı sağlanan bir arabelleğe aktarmayı dener.

(Devralındığı yer: ECDiffieHellman)
TryExportPkcs8PrivateKeyPem(Span<Char>, Int32)

PEM kodlu PKCS#8 PrivateKeyInfo biçimindeki geçerli anahtarı sağlanan arabelleğe aktarmaya çalışır.

(Devralındığı yer: AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

X.509 SubjectPublicKeyInfo biçimindeki geçerli anahtarı sağlanan arabelleğe aktarmayı dener.

(Devralındığı yer: ECDiffieHellman)
TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32)

PEM kodlu X.509 SubjectPublicKeyInfo biçimindeki geçerli anahtarı sağlanan arabelleğe aktarmaya çalışır.

(Devralındığı yer: AsymmetricAlgorithm)

Belirtik Arabirim Kullanımları

IDisposable.Dispose()

Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir.

Bu üyenin açıklaması için bkz Dispose(). .

(Devralındığı yer: AsymmetricAlgorithm)

Şunlara uygulanır