ECDiffieHellmanCng Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Eliptik Eğri 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 ECDiffieHellmanCng nasıl kullanılacağı 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 anlaşma daha sonra simetrik anahtar olarak da dahil olmak üzere çeşitli amaçlar için kullanılabilir. Ancak sınıf, gizli sözleşmeyi doğrudan kullanıma sunmak yerine, ECDiffieHellmanCng değeri sağlamadan önce sözleşme üzerinde işlem sonrası işlemler yapar. Bu işlem sonrası, 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 | Properties |
|---|---|
| Hash |
HashAlgorithm - Gizli dizi sözleşmesini işlemek için kullanılan karma algoritması. SecretPrepend - Gizli diziyi karmalamadan önce gizli diziye eklemek için isteğe bağlı bir bayt dizisi. SecretAppend - Karma oluşturmadan önce gizli diziye eklenecek isteğe bağlı bayt dizisi. |
| Hmac |
HashAlgorithm - Gizli dizi sözleşmesini işlemek için kullanılan karma algoritması. SecretPrepend- Gizli diziyi karmalamadan önce gizli diziye eklemek için isteğe bağlı bir bayt dizisi. SecretAppend - Karma oluşturmadan önce gizli diziye eklenecek isteğe bağlı bayt dizisi. |
| Tls |
Label - Anahtar türetme etiketi. Seed - Anahtar türetme için tohum. |
Anahtar türetme işlevi aracılığıyla gizli anlaşma geçirmenin sonucu, uygulamanız için anahtar malzemesi olarak kullanılabilecek bir bayt dizisidir. Oluşturulan anahtar malzemesi bayt sayısı, anahtar türetme işlevine bağlıdır; örneğin, SHA-256 256 bit anahtar malzemesi oluştururken, SHA-512 512 bit anahtar malzemesi oluşturur. ECDH anahtar değişiminin temel akışı aşağıdaki gibidir:
Alice ve Bob, Diffie-Hellman anahtar değişimi işlemi için kullanılacak bir anahtar çifti oluşturur
Alice ve Bob, üzerinde anlaşmaya varılan parametreleri kullanarak KDF'yi yapılandırıyor.
Alice, Bob'a ortak anahtarını gönderir.
Bob, Alice'e ortak anahtarını gönderir.
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
| Name | Description |
|---|---|
| ECDiffieHellmanCng() |
Rastgele bir anahtar çifti ECDiffieHellmanCng ile sınıfının yeni bir örneğini başlatır. |
| ECDiffieHellmanCng(CngKey) |
Belirtilen ECDiffieHellmanCng nesnesini kullanarak CngKey sınıfının yeni bir örneğini 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
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
| HashAlgorithm |
Anahtar malzeme oluşturulurken kullanılacak karma algoritmasını 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 bir 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
| Name | Description |
|---|---|
| Clear() |
sınıfı tarafından AsymmetricAlgorithm kullanılan tüm kaynakları serbest bırakır. (Devralındığı yer: AsymmetricAlgorithm) |
| DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[]) |
İsteğe bağlı olarak ekli veya ekli verilerle belirtilen karma algoritmayı kullanarak anahtar türetme gerçekleştirir. |
| DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName) |
Belirtilen karma algoritmayı kullanarak anahtar türetme gerçekleştirir. (Devralındığı yer: ECDiffieHellman) |
| DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[]) |
İsteğe bağlı olarak ekli veya ekli verilerle belirtilen HMAC (Karma Tabanlı İleti Kimlik Doğrulama Kodu) algoritmasını kullanarak anahtar türetme gerçekleştirir. |
| DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[]) |
Belirtilen HMAC (Karma Tabanlı İleti Kimlik Doğrulama Kodu) algoritmasını kullanarak anahtar türetme 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 (Pseudo-Random İşlevi) kullanarak anahtar türetme gerçekleştirir. |
| DeriveRawSecretAgreement(ECDiffieHellmanPublicKey) |
Ham anahtar malzemesi türet. (Devralındığı yer: ECDiffieHellman) |
| DeriveSecretAgreementHandle(CngKey) |
İkinci tarafın ortak anahtarını içeren bir nesne göz önüne alındığında, 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 göz önüne alındığında, iki taraf arasında oluşturulan gizli anlaşma için bir ECDiffieHellmanPublicKey tanıtıcı alır. |
| Dispose() |
Sınıfın geçerli örneği AsymmetricAlgorithm 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 kodlanmış 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ı, karakter tabanlı bir parolayla PKCS#8 EncryptedPrivateKeyInfo biçiminde dışarı aktarır. |
| ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters) |
Geçerli anahtarı, karakter tabanlı bir parolayla PKCS#8 EncryptedPrivateKeyInfo biçiminde 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 ECCurve nesneye ECParameters aktarır. |
| ExportParameters(Boolean) |
Nesne tarafından ECCurve kullanılan anahtarı bir ECParameters nesneye aktarır. |
| ExportPkcs8PrivateKey() |
Geçerli anahtarı PKCS#8 PrivateKeyInfo biçiminde dışarı aktarır. (Devralındığı yer: AsymmetricAlgorithm) |
| ExportPkcs8PrivateKeyPem() |
Geçerli anahtarı, PEM kodlanmış 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, ECKeyXmlFormat) |
Geçersiz.
Belirtilen biçimi kullanarak bir XML dizesinden anahtar bilgilerini seri durumdan kaldırır. |
| FromXmlString(String) |
Bu yöntem uygulanmaz. |
| FromXmlString(String) |
Bu yöntem her durumda oluşturur. (Devralındığı yer: ECDiffieHellman) |
| GenerateKey(ECCurve) |
Belirtilen eğri için yeni bir kısa ömürlü genel/özel anahtar çifti oluşturur. |
| GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
| GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| ImportECPrivateKey(ReadOnlySpan<Byte>, Int32) |
EcPrivateKey yapısından ortak/özel anahtar bölmesini içeri aktarır ve bu nesnenin anahtarlarını değiştirir. (Devralındığı yer: ECDiffieHellman) |
| ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32) |
Bayt tabanlı bir parolayla şifreyi çözdükten 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 parolayla şifreyi çözdükten 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 parolayla şifreyi çözdükten sonra PKCS#8 EncryptedPrivateKeyInfo yapısından genel/özel anahtar bölmesini içeri aktarır. |
| ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32) |
Bu nesnenin anahtarlarını değiştirerek karakter tabanlı bir parolayla şifreyi çözdükten sonra PKCS#8 EncryptedPrivateKeyInfo yapısından genel/özel anahtar bölmesini içeri aktarır. (Devralındığı yer: ECDiffieHellman) |
| ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>) |
Şifrelenmiş bir RFC 7468 PEM kodlu özel anahtarı içeri aktarır ve bu nesnenin anahtarlarını değiştirir. (Devralındığı yer: ECDiffieHellman) |
| ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Şifrelenmiş bir RFC 7468 PEM kodlu özel anahtarı içeri aktarır ve bu nesnenin anahtarlarını değiştirir. (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 aktarır. |
| 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 Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |
| ToXmlString(Boolean) |
Bu yöntem uygulanmaz. |
| 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ı |
| TryExportECPrivateKeyPem(Span<Char>, Int32) |
PEM ile kodlanmış ECPrivateKey biçimindeki geçerli anahtarı sağlanan bir 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 aktarmaya çalışır. (Devralındığı yer: ECDiffieHellman) |
| TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32) |
PKCS#8 EncryptedPrivateKeyInfo biçimindeki geçerli anahtarı, karakter tabanlı bir parola kullanarak sağlanan bir arabelleğe aktarmayı dener. |
| TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32) |
PKCS#8 EncryptedPrivateKeyInfo biçimindeki geçerli anahtarı, karakter tabanlı bir parola kullanarak sağlanan bir arabelleğe aktarmayı dener. (Devralındığı yer: ECDiffieHellman) |
| TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters, Span<Char>, Int32) |
GEÇERLI anahtarı, PEM kodlanmış bayt tabanlı parolayla PKCS#8 EncryptedPrivateKeyInfo biçiminde dışarı aktarmayı dener. (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 aktarmayı dener. |
| TryExportPkcs8PrivateKey(Span<Byte>, Int32) |
PKCS#8 PrivateKeyInfo biçimindeki geçerli anahtarı sağlanan arabelleğe aktarmayı dener. (Devralındığı yer: ECDiffieHellman) |
| TryExportPkcs8PrivateKeyPem(Span<Char>, Int32) |
PEM ile kodlanmış PKCS#8 PrivateKeyInfo biçimindeki geçerli anahtarı sağlanan bir arabelleğe aktarmaya çalışır. (Devralındığı yer: AsymmetricAlgorithm) |
| TryExportSubjectPublicKeyInfo(Span<Byte>, Int32) |
X.509 SubjectPublicKeyInfo biçimindeki geçerli anahtarı sağlanan bir arabelleğe aktarmayı dener. (Devralındığı yer: ECDiffieHellman) |
| TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32) |
PEM ile kodlanmış X.509 SubjectPublicKeyInfo biçimindeki geçerli anahtarı sağlanan bir arabelleğe aktarmayı dener. (Devralındığı yer: AsymmetricAlgorithm) |
Belirtik Arabirim Kullanımları
| Name | Description |
|---|---|
| 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) |