ECDiffieHellmanCng 클래스

정의

ECDH(Elliptic Curve Diffie-Hellman) 알고리즘의 CNG(Cryptography Next Generation) 구현을 제공합니다.Provides a Cryptography Next Generation (CNG) implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm. 이 클래스는 암호화 작업을 수행하는 데 사용됩니다.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
상속

예제

다음 예제에서는 사용 하는 방법의 ECDiffieHellmanCng 키 교환 및 해당 키를 사용 하 여 공용 채널을 통해 전송 하 고 수신자에 의해 암호를 해독할 수 있는 메시지를 암호화 하는 방법을 설정 하는 클래스입니다.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.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

설명

ECDiffieHellmanCng 클래스를 사용 하면 두 당사자를 공용 채널을 통해 통신 하는 경우에 개인 키 자료를 교환 합니다.The ECDiffieHellmanCng class enables two parties to exchange private key material even if they are communicating through a public channel. 양쪽 라고 동일한 비밀 값을 계산할 수는 비밀 계약 관리 Diffie Hellman 클래스에서.Both parties can calculate the same secret value, which is referred to as the secret agreement in the managed Diffie-Hellman classes. 그런 다음 다양 한 용도로, 대칭 키로 포함 하 여 비밀 계약을 사용할 수 있습니다.The secret agreement can then be used for a variety of purposes, including as a symmetric key. 그러나 비밀 계약을 직접 노출 하는 대신는 ECDiffieHellmanCng 클래스 값을 제공 하기 전에 규약의 일부 사후 처리를 수행 합니다.However, instead of exposing the secret agreement directly, the ECDiffieHellmanCng class does some post-processing on the agreement before providing the value. 이 사후 처리 라고 합니다 KDF (파생 함수) 키;를 사용 하 고 Diffie Hellman 개체 인스턴스의 속성 집합을 통해 해당 매개 변수를 설정 하는 KDF를 선택할 수 있습니다.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.

키 파생 함수Key derivation function 속성Properties
Hash HashAlgorithm 비밀 계약을 처리 하는 데 사용 되는-해시 알고리즘입니다.HashAlgorithm - The hash algorithm that is used to process the secret agreement.

SecretPrepend -앞에 해시 하기 전에 비밀 계약에 추가할 선택적 바이트 배열입니다.SecretPrepend - An optional byte array to prepend to the secret agreement before hashing it.

SecretAppend 해시 전에 비밀 계약에 추가할-선택적 바이트 배열입니다.SecretAppend - An optional byte array to append to the secret agreement before hashing it.
Hmac HashAlgorithm 비밀 계약을 처리 하는 데 사용 되는-해시 알고리즘입니다.HashAlgorithm - The hash algorithm that is used to process the secret agreement.

SecretPrepend-앞에 해시 하기 전에 비밀 계약에 추가할 선택적 바이트 배열입니다.SecretPrepend- An optional byte array to prepend to the secret agreement before hashing it.

SecretAppend 해시 전에 비밀 계약에 추가할-선택적 바이트 배열입니다.SecretAppend - An optional byte array to append to the secret agreement before hashing it.
Tls Label -키 파생에 대 한 레이블입니다.Label - The label for key derivation.

Seed -키 파생에 대 한 초기값입니다.Seed - The seed for key derivation.

키 파생 함수를 통해 비밀 계약을 전달 하는 결과는 애플리케이션에 대 한 키 자료로 사용할 수 있는 바이트 배열입니다.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. 생성 된 키 자료의 바이트 수가 키 파생 함수에 따라 다릅니다. 예를 들어, SHA-256 SHA-512는 512 비트의 키 자료를 생성 하는 반면 256 비트의 키 자료를 생성 됩니다. ECDH 키 교환 기본 흐름은 다음과 같습니다.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와 bob은 Diffie-hellman 키 교환 작업에 사용할 키 쌍 만들기Alice and Bob create a key pair to use for the Diffie-Hellman key exchange operation

  2. Alice와 bob은 KDF을 구성에 매개 변수는 동의 사용 합니다.Alice and Bob configure the KDF using parameters the agree on.

  3. Alice는 bob이 자신의 공개 키를 전송합니다.Alice sends Bob her public key.

  4. Bob은 alice가 공개 키를 보냅니다.Bob sends Alice his public key.

  5. Alice와 bob은 상대방의 공개 키를 사용 하 여 비밀 계약 생성 및 KDF 키 자료를 생성 하는 비밀 계약에 적용 합니다.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.

생성자

ECDiffieHellmanCng()

임의의 키 쌍을 사용하여 ECDiffieHellmanCng 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ECDiffieHellmanCng class with a random key pair.

ECDiffieHellmanCng(CngKey)

지정된 CngKey 개체를 사용하여 ECDiffieHellmanCng 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ECDiffieHellmanCng class by using the specified CngKey object.

ECDiffieHellmanCng(ECCurve)

해당 퍼블릭/프라이빗 키 쌍이 지정된 곡선에서 생성되는 ECDiffieHellmanCng 클래스의 새 인스턴스를 만듭니다.Creates a new instance of the ECDiffieHellmanCng class whose public/private key pair is generated over the specified curve.

ECDiffieHellmanCng(Int32)

지정된 키 크기를 사용하여 임의의 키 쌍으로 ECDiffieHellmanCng 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ECDiffieHellmanCng class with a random key pair, using the specified key size.

필드

KeySizeValue

비대칭 알고리즘에서 사용하는 키 모듈러스의 크기(비트 단위)를 나타냅니다.Represents the size, in bits, of the key modulus used by the asymmetric algorithm.

(다음에서 상속됨 AsymmetricAlgorithm)
LegalKeySizesValue

비대칭 알고리즘에서 지원하는 키 크기를 지정합니다.Specifies the key sizes that are supported by the asymmetric algorithm.

(다음에서 상속됨 AsymmetricAlgorithm)

속성

HashAlgorithm

키 자료를 생성하는 데 사용할 해시 알고리즘을 가져오거나 설정합니다.Gets or sets the hash algorithm to use when generating key material.

HmacKey

키 자료를 파생하는 데 사용할 HMAC(해시 기반 메시지 인증 코드) 키를 가져오거나 설정합니다.Gets or sets the Hash-based Message Authentication Code (HMAC) key to use when deriving key material.

Key

현재 개체에서 암호화 작업에 사용하는 CngKey를 지정합니다.Specifies the CngKey that is used by the current object for cryptographic operations.

KeyDerivationFunction

ECDiffieHellmanCng 클래스의 키 파생 함수를 가져오거나 설정합니다.Gets or sets the key derivation function for the ECDiffieHellmanCng class.

KeyExchangeAlgorithm

키 교환 알고리즘의 이름을 가져옵니다.Gets the name of the key exchange algorithm.

(다음에서 상속됨 ECDiffieHellman)
KeySize
Label

키 파생에 사용되는 레이블 값을 가져오거나 설정합니다.Gets or sets the label value that is used for key derivation.

LegalKeySizes
PublicKey

다른 ECDiffieHellmanCng 개체에서 공유 비밀 계약을 생성하는 데 사용할 수 있는 공개 키를 가져옵니다.Gets the public key that can be used by another ECDiffieHellmanCng object to generate a shared secret agreement.

SecretAppend

키 자료를 생성할 때 비밀 계약에 추가되는 값을 가져오거나 설정합니다.Gets or sets a value that will be appended to the secret agreement when generating key material.

SecretPrepend

키 자료를 파생할 때 비밀 계약의 시작 부분에 추가될 값을 가져오거나 설정합니다.Gets or sets a value that will be added to the beginning of the secret agreement when deriving key material.

Seed

키 자료를 파생할 때 사용될 시드 값을 가져오거나 설정합니다.Gets or sets the seed value that will be used when deriving key material.

SignatureAlgorithm

서명 알고리즘의 이름을 가져옵니다.Gets the name of the signature algorithm.

(다음에서 상속됨 ECDiffieHellman)
UseSecretAgreementAsHmacKey

비밀 계약을 HMAC(해시 기반 메시지 인증 코드)로 사용하여 키 자료를 파생하는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the secret agreement is used as a Hash-based Message Authentication Code (HMAC) key to derive key material.

메서드

Clear()

AsymmetricAlgorithm 클래스에서 사용하는 모든 리소스를 해제합니다.Releases all resources used by the AsymmetricAlgorithm class.

(다음에서 상속됨 AsymmetricAlgorithm)
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

해시 함수, 지정된 다른 당사자의 공개 키 및 해시 알고리즘의 이름을 사용하여 키로 사용할 수 있는 바이트를 파생합니다.Derives bytes that can be used as a key using a hash function, given another party's public key and hash algorithm's name.

(다음에서 상속됨 ECDiffieHellman)
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[])

해시 함수, 지정된 다른 당사자의 공개 키, 해시 알고리즘의 이름, 선행 값 및 후행 값을 사용하여 키로 사용할 수 있는 바이트를 파생합니다.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[])

HMAC(해시 기반 메시지 인증 코드)를 사용하여 키로 사용할 수 있는 바이트를 파생합니다.Derives bytes that can be used as a key using a Hash-based Message Authentication Code (HMAC).

(다음에서 상속됨 ECDiffieHellman)
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[])

HMAC(해시 기반 메시지 인증 코드)를 사용하여 키로 사용할 수 있는 바이트를 파생합니다.Derives bytes that can be used as a key using a Hash-based Message Authentication Code (HMAC).

DeriveKeyMaterial(CngKey)

두 번째 당사자의 공개 키가 들어 있는 CngKey 개체를 사용하여 두 당사자 간의 비밀 계약을 통해 생성되는 키 자료를 파생합니다.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)

두 번째 당사자의 공개 키가 들어 있는 ECDiffieHellmanPublicKey 개체를 사용하여 두 당사자 간의 비밀 계약을 통해 생성되는 키 자료를 파생합니다.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[])

TLS(전송 계층 보안) PRF(의사 난수 함수) 파생 알고리즘을 사용하여 키로 사용할 수 있는 바이트를 파생합니다.Derives bytes that can be used as a key using a Transport Layer Security (TLS) Pseudo-Random Function (PRF) derivation algorithm.

DeriveSecretAgreementHandle(CngKey)

두 번째 당사자의 공개 키가 들어 있는 CngKey 개체를 사용하여 두 당사자 간에 생성된 비밀 계약에 대한 핸들을 가져옵니다.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)

두 번째 당사자의 공개 키가 들어 있는 ECDiffieHellmanPublicKey 개체를 사용하여 두 당사자 간에 생성된 비밀 계약에 대한 핸들을 가져옵니다.Gets a handle to the secret agreement generated between two parties, given an ECDiffieHellmanPublicKey object that contains the second party's public key.

Dispose()

AsymmetricAlgorithm 클래스의 현재 인스턴스에서 사용하는 모든 리소스를 해제합니다.Releases all resources used by the current instance of the AsymmetricAlgorithm class.

(다음에서 상속됨 AsymmetricAlgorithm)
Dispose(Boolean)

AsymmetricAlgorithm 클래스에 사용되는 관리되지 않는 리소스를 해제하고, 필요에 따라 관리되는 리소스를 해제합니다.Releases the unmanaged resources used by the AsymmetricAlgorithm class and optionally releases the managed resources.

(다음에서 상속됨 AsymmetricAlgorithm)
Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
ExportECPrivateKey()

ECPrivateKey 형식으로 현재 키를 내보냅니다.Exports the current key in the ECPrivateKey format.

(다음에서 상속됨 ECDiffieHellman)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

바이트 기반 암호를 사용하여 PKCS#8 EncryptedPrivateKeyInfo 형식의 현재 키를 내보냅니다.Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a byte-based password.

(다음에서 상속됨 AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

문자 기반 암호를 사용하여 PKCS#8 EncryptedPrivateKeyInfo 형식의 현재 키를 내보냅니다.Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a char-based password.

(다음에서 상속됨 AsymmetricAlgorithm)
ExportExplicitParameters(Boolean)

ECCurve 개체에 사용되는 키 및 명시적 곡선 매개 변수를 ECParameters 개체로 내보냅니다.Exports the key and explicit curve parameters used by the ECCurve object into an ECParameters object.

ExportParameters(Boolean)

ECCurve 개체가 사용하는 키를 ECParameters 개체로 내보냅니다.Exports the key used by the ECCurve object into an ECParameters object.

ExportPkcs8PrivateKey()

PKCS#8 PrivateKeyInfo 형식으로 현재 키를 내보냅니다.Exports the current key in the PKCS#8 PrivateKeyInfo format.

(다음에서 상속됨 AsymmetricAlgorithm)
ExportSubjectPublicKeyInfo()

X.509 SubjectPublicKeyInfo 형식으로 된 현재 키의 퍼블릭 키 부분을 내보냅니다.Exports the public-key portion of the current key in the X.509 SubjectPublicKeyInfo format.

(다음에서 상속됨 AsymmetricAlgorithm)
FromXmlString(String)

이 메서드가 구현되지 않은 경우This method is not implemented.

FromXmlString(String, ECKeyXmlFormat)

지정된 형식을 사용하여 XML 문자열에서 키 정보를 deserialize합니다.Deserializes the key information from an XML string by using the specified format.

GenerateKey(ECCurve)

지정된 곡선에 대해 사용 후 삭제 퍼블릭/프라이빗 키 쌍을 새로 생성합니다.Generates a new ephemeral public/private key pair for the specified curve.

GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
ImportECPrivateKey(ReadOnlySpan<Byte>, Int32)

ECPrivateKey 구조체에서 이 개체의 키를 대체하여 퍼블릭/프라이빗 키 쌍을 가져옵니다.Imports the public/private keypair from an ECPrivateKey structure, replacing the keys for this object.

(다음에서 상속됨 ECDiffieHellman)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

바이트 기반 암호로 해독한 다음 이 개체의 키를 대체하여 PKCS#8 EncryptedPrivateKeyInfo 구조체에서 퍼블릭/프라이빗 키 쌍을 가져옵니다.Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a byte-based password, replacing the keys for this object.

(다음에서 상속됨 ECDiffieHellman)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

문자 기반 암호로 해독한 다음 이 개체의 키를 대체하여 PKCS#8 EncryptedPrivateKeyInfo 구조에서 퍼블릭/프라이빗 키 쌍을 가져옵니다.Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a char-based password, replacing the keys for this object.

(다음에서 상속됨 ECDiffieHellman)
ImportParameters(ECParameters)

ECCurve 개체에 대해 지정된 매개 변수를 현재 인스턴스에 키로 가져옵니다.Imports the specified parameters for an ECCurve object as a key into the current instance.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

해독한 다음 이 개체의 키를 대체하여 PKCS#8 PrivateKeyInfo 구조에서 퍼블릭/프라이빗 키 쌍을 가져옵니다.Imports the public/private keypair from a PKCS#8 PrivateKeyInfo structure after decryption, replacing the keys for this object.

(다음에서 상속됨 ECDiffieHellman)
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

해독한 다음 이 개체의 키를 대체하여 X.509 SubjectPublicKeyInfo 구조에서 퍼블릭 키를 가져옵니다.Imports the public key from an X.509 SubjectPublicKeyInfo structure after decryption, replacing the keys for this object.

(다음에서 상속됨 ECDiffieHellman)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)
ToXmlString(Boolean)

이 메서드가 구현되지 않은 경우This method is not implemented.

ToXmlString(ECKeyXmlFormat)

지정된 형식을 사용하여 키 정보를 XML 문자열로 serialize합니다.Serializes the key information to an XML string by using the specified format.

TryExportECPrivateKey(Span<Byte>, Int32)

ECPrivateKey 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다.Attempts to export the current key in the ECPrivateKey format into a provided buffer.

(다음에서 상속됨 ECDiffieHellman)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

바이트 기반 암호를 사용하여 PKCS#8 EncryptedPrivateKeyInfo 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다.Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a byte-based password.

(다음에서 상속됨 ECDiffieHellman)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

문자 기반 암호를 사용하여 PKCS#8 EncryptedPrivateKeyInfo 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다.Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a char-based password.

(다음에서 상속됨 ECDiffieHellman)
TryExportPkcs8PrivateKey(Span<Byte>, Int32)

PKCS#8 PrivateKeyInfo 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다.Attempts to export the current key in the PKCS#8 PrivateKeyInfo format into a provided buffer.

(다음에서 상속됨 ECDiffieHellman)
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

X.509 SubjectPublicKeyInfo 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다.Attempts to export the current key in the X.509 SubjectPublicKeyInfo format into a provided buffer.

(다음에서 상속됨 ECDiffieHellman)

명시적 인터페이스 구현

IDisposable.Dispose()

이 멤버에 대한 설명은 Dispose()를 참조하십시오.For a description of this member, see Dispose().

(다음에서 상속됨 AsymmetricAlgorithm)

적용 대상