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を使用すると、パブリックチャネルを介して通信している場合でも、2つのパーティがプライベートキーマテリアルを交換できます。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. この post 処理は、キー派生関数 (KDF) と呼ばれます。使用する KDF を選択し、Diffie-hellman オブジェクトのインスタンスの一連のプロパティを使用してそのパラメーターを設定できます。This post processing is referred to as the key derivation function (KDF); you can select which KDF you want to use and set its parameters through a set of properties on the instance of the Diffie-Hellman object.

キー派生関数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 では、256ビットのキーマテリアルが生成されるのに対し、SHA-512 ではキーマテリアルの512ビットが生成されます。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: Hash-based Message Authentication Code) キーを取得または設定します。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 形式で、char ベースのパスワードを使用してエクスポートします。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 文字列からキー情報を逆シリアル化します。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)

char ベースのパスワードを使用して暗号化解除した後に、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()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)
ToXmlString(Boolean)

このメソッドは実装されていません。This method is not implemented.

ToXmlString(ECKeyXmlFormat)

指定した形式を使用して、キー情報を XML 文字列にシリアル化します。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)

char ベースのパスワードを使用して、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)

適用対象