ECDiffieHellmanCng クラス

定義

ECDH (Elliptic Curve Diffie-Hellman) アルゴリズムの CNG (Cryptography Next Generation) 実装を提供します。 このクラスは、暗号化操作の実行に使用されます。

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 クラスを使用してキー交換を確立する方法と、そのキーを使用してそのキーを使用して、パブリック チャネル経由で送信され、受信側によって復号化できるメッセージを暗号化する方法を示しています。

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

注釈

ECDiffieHellmanCngクラスを使用すると、公開チャネルを介して通信している場合でも、2 つのパーティが秘密キーマテリアルを交換できます。 両当事者は、マネージド Diffie-Hellman クラスの シークレット アグリーメント と呼ばれる同じシークレット値を計算できます。 秘密契約は、対称キーなど、さまざまな目的で使用できます。 ただし、シークレット アグリーメントを直接公開する代わりに、クラスは値を ECDiffieHellmanCng 指定する前に、契約に対していくつかの後処理を行います。 この後処理は、 キー派生関数 (KDF) と呼ばれます。使用する KDF を選択し、そのパラメーターを設定するには、Diffie-Hellman オブジェクトのインスタンスの一連のプロパティを使用します。

キー派生関数 Properties
Hash HashAlgorithm - 秘密契約の処理に使用されるハッシュ アルゴリズム。

SecretPrepend - ハッシュする前にシークレット アグリーメントの先頭に追加する省略可能なバイト配列。

SecretAppend - ハッシュする前にシークレット アグリーメントに追加する省略可能なバイト配列。
Hmac HashAlgorithm - 秘密契約の処理に使用されるハッシュ アルゴリズム。

SecretPrepend- ハッシュする前にシークレット アグリーメントの先頭に追加する省略可能なバイト配列。

SecretAppend - ハッシュする前にシークレット アグリーメントに追加する省略可能なバイト配列。
Tls Label - キー派生のラベル。

Seed - キー派生のシード。

キー派生関数を介してシークレット アグリーメントを渡した結果は、アプリケーションのキー マテリアルとして使用できるバイト配列です。 生成されるキー マテリアルのバイト数は、キー派生関数によって異なります。たとえば、SHA-256 では 256 ビットのキー マテリアルが生成されますが、SHA-512 では 512 ビットのキー マテリアルが生成されます。 ECDH キー交換の基本的なフローは次のとおりです。

  1. Alice と Bob は、Diffie-Hellman キー交換操作に使用するキー ペアを作成します

  2. Alice と Bob は、同意するパラメーターを使用して KDF を構成します。

  3. Alice は Bob に公開キーを送信します。

  4. Bob は Alice に公開キーを送信します。

  5. Alice と Bob は互いの公開キーを使用して秘密契約を生成し、KDF を秘密契約に適用してキー マテリアルを生成します。

コンストラクター

ECDiffieHellmanCng()

ランダムなキーのペアで、ECDiffieHellmanCng クラスの新しいインスタンスを初期化します。

ECDiffieHellmanCng(CngKey)

指定した CngKey オブジェクトを使用して、ECDiffieHellmanCng クラスの新しいインスタンスを初期化します。

ECDiffieHellmanCng(ECCurve)

指定した曲線に対して生成された公開/秘密キー ペアの ECDiffieHellmanCng クラスの新しいインスタンスを作成します。

ECDiffieHellmanCng(Int32)

指定されたキー サイズを使用して、ランダムなキー ペアで、ECDiffieHellmanCng クラスの新しいインスタンスを初期化します。

フィールド

KeySizeValue

非対称アルゴリズムで使用されるキー モジュラスのサイズをビット単位で表します。

(継承元 AsymmetricAlgorithm)
LegalKeySizesValue

非対称アルゴリズムでサポートされているキー サイズを指定します。

(継承元 AsymmetricAlgorithm)

プロパティ

HashAlgorithm

キー マテリアルの生成時に使用するハッシュ アルゴリズムを取得または設定します。

HmacKey

キー マテリアル派生時に使用するハッシュ メッセージ認証コード (HMAC: Hash-based Message Authentication Code) キーを取得または設定します。

Key

現在のオブジェクトが暗号化操作のために使用する CngKey を指定します。

KeyDerivationFunction

ECDiffieHellmanCng クラスのキー派生関数を取得または設定します。

KeyExchangeAlgorithm

キー交換アルゴリズムの名前を取得します。

(継承元 ECDiffieHellman)
KeySize

非対称アルゴリズムで使用されるキー モジュラスのサイズをビット単位で取得または設定します。

KeySize

非対称アルゴリズムで使用されるキー モジュラスのサイズをビット単位で取得または設定します。

(継承元 AsymmetricAlgorithm)
Label

キー派生で使用されるラベル値を取得または設定します。

LegalKeySizes

非対称アルゴリズムでサポートされているキー サイズを取得します。

LegalKeySizes

非対称アルゴリズムでサポートされているキー サイズを取得します。

(継承元 AsymmetricAlgorithm)
PublicKey

別の ECDiffieHellmanCng オブジェクトが共有秘密協定を生成するために使用できる公開キーを取得します。

SecretAppend

キー マテリアル生成時に秘密協定に追加される値を取得または設定します。

SecretPrepend

キー マテリアル派生時に秘密協定の開始部分に追加される値を取得または設定します。

Seed

キー マテリアル派生時に使用されるシード値を取得または設定します。

SignatureAlgorithm

署名アルゴリズムの名前を取得します。

(継承元 ECDiffieHellman)
UseSecretAgreementAsHmacKey

キー マテリアルを派生させるハッシュ メッセージ認証コード (HMAC) キーとして秘密協定が使用されるかどうかを示す値を取得します。

メソッド

Clear()

AsymmetricAlgorithm クラスによって使用されているすべてのリソースを解放します。

(継承元 AsymmetricAlgorithm)
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

指定されたハッシュ アルゴリズムを使用して、キー派生を実行します。

(継承元 ECDiffieHellman)
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[])

指定されたハッシュ アルゴリズムを省略可能な先頭または末尾に追加されたデータと共に使用して、キー派生を実行します。

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

派生クラスに実装されている場合、指定されたハッシュ アルゴリズムを省略可能な先頭または末尾に追加されたデータと共に使用して、キー派生を実行します。

(継承元 ECDiffieHellman)
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

指定された HMAC (Hash-based Message Authentication Code) アルゴリズムを使用して、キー派生を実行します。

(継承元 ECDiffieHellman)
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[])

指定された HMAC (Hash-based Message Authentication Code) アルゴリズムを省略可能な先頭または末尾に追加されたデータと共に使用して、キー派生を実行します。

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

派生クラスに実装されている場合、指定された HMAC (Hash-based Message Authentication Code) アルゴリズムを省略可能な先頭または末尾に追加されたデータと共に使用して、キー派生を実行します。

(継承元 ECDiffieHellman)
DeriveKeyMaterial(CngKey)

相手の公開キーを格納した CngKey オブジェクトを指定した場合に、二者の間の秘密協定から生成されたキー マテリアルを派生させます。

DeriveKeyMaterial(ECDiffieHellmanPublicKey)

相手の公開キーを格納した ECDiffieHellmanPublicKey オブジェクトを指定した場合に、二者の間の秘密協定から生成されたキー マテリアルを派生させます。

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

TLS (トランスポート層セキュリティ) 1.1 PRF (擬似ランダム関数) を使用してキー派生を実行します。

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

派生クラスに実装されている場合、TLS (トランスポート層セキュリティ) 1.1 PRF (擬似ランダム関数) を使用してキー派生を実行します。

(継承元 ECDiffieHellman)
DeriveRawSecretAgreement(ECDiffieHellmanPublicKey)

生のキーマテリアルを派生させます。

(継承元 ECDiffieHellman)
DeriveSecretAgreementHandle(CngKey)

相手の公開キーを格納した CngKey オブジェクトを指定した場合に、二者の間で生成された秘密協定のハンドルを取得します。

DeriveSecretAgreementHandle(ECDiffieHellmanPublicKey)

相手の公開キーを格納した ECDiffieHellmanPublicKey オブジェクトを指定した場合に、二者の間で生成された秘密協定のハンドルを取得します。

Dispose()

AsymmetricAlgorithm クラスの現在のインスタンスによって使用されているすべてのリソースを解放します。

(継承元 AsymmetricAlgorithm)
Dispose(Boolean)

AsymmetricAlgorithm クラスによって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。

(継承元 AsymmetricAlgorithm)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
ExportECPrivateKey()

現在のキーを ECPrivateKey 形式でエクスポートします。

(継承元 ECDiffieHellman)
ExportECPrivateKeyPem()

現在のキーを ECPrivateKey 形式 (PEM エンコード) でエクスポートします。

(継承元 ECAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

現在のキーを PKCS# 8 EncryptedPrivateKeyInfo 形式で、バイトベースのパスワードを使用してエクスポートします。

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

現在のキーを PKCS# 8 EncryptedPrivateKeyInfo 形式で、バイトベースのパスワードを使用してエクスポートします。

(継承元 AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

現在のキーを PKCS# 8 EncryptedPrivateKeyInfo 形式で、char ベースのパスワードを使用してエクスポートします。

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

現在のキーを PKCS# 8 EncryptedPrivateKeyInfo 形式で、char ベースのパスワードを使用してエクスポートします。

(継承元 AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters)

PKCS#8 EncryptedPrivateKeyInfo 形式の現在のキーを、バイトベースのパスワード PEM でエンコードしてエクスポートします。

(継承元 AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters)

PKCS#8 EncryptedPrivateKeyInfo 形式の現在のキーを、文字ベースのパスワード PEM エンコードでエクスポートします。

(継承元 AsymmetricAlgorithm)
ExportExplicitParameters(Boolean)

ECCurve オブジェクトによって使用されているキーと明示的な曲線パラメーターを ECParameters オブジェクトにエクスポートします。

ExportExplicitParameters(Boolean)

派生クラスでオーバーライドされると、ImportParameters(ECParameters) メソッドに渡すために、処理中の ECDiffieHellman キーから ECParameters 構造体に明示的な曲線フォームを使用して公開または公開および秘密キー情報のいずれかをエクスポートします。

(継承元 ECDiffieHellman)
ExportParameters(Boolean)

ECCurve オブジェクトが使用するキーを ECParameters オブジェクトにエクスポートします。

ExportParameters(Boolean)

派生クラスでオーバーライドされると、ImportParameters(ECParameters) メソッドに渡すために、処理中の ECDiffieHellman キーから ECParameters 構造体に公開または公開および秘密キー情報のいずれかをエクスポートします。

(継承元 ECDiffieHellman)
ExportPkcs8PrivateKey()

現在のキーを PKCS# 8 PrivateKeyInfo 形式でエクスポートします。

(継承元 AsymmetricAlgorithm)
ExportPkcs8PrivateKeyPem()

PKCS#8 PrivateKeyInfo 形式の PEM エンコードで現在のキーをエクスポートします。

(継承元 AsymmetricAlgorithm)
ExportSubjectPublicKeyInfo()

現在のキーの公開キーの部分を、X.509 SubjectPublicKeyInfo 形式でエクスポートします。

(継承元 AsymmetricAlgorithm)
ExportSubjectPublicKeyInfoPem()

現在のキーの公開キー部分を X.509 SubjectPublicKeyInfo 形式 (PEM エンコード) でエクスポートします。

(継承元 AsymmetricAlgorithm)
FromXmlString(String)

このメソッドは実装されていません。

FromXmlString(String)

このメソッドでは常にスローされます。

(継承元 ECDiffieHellman)
FromXmlString(String, ECKeyXmlFormat)
古い.

指定した形式を使用して、XML 文字列からキー情報を逆シリアル化します。

GenerateKey(ECCurve)

指定した曲線の新しい一時的な公開/秘密キー ペアを生成します。

GenerateKey(ECCurve)

派生クラスでオーバーライドされると、指定した曲線の新しい一時的な公開/秘密キー ペアを生成します。

(継承元 ECDiffieHellman)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
ImportECPrivateKey(ReadOnlySpan<Byte>, Int32)

ECPrivateKey 構造体から公開/秘密キー ペアをインポートし、このオブジェクトのキーを置き換えます。

(継承元 ECDiffieHellman)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

バイトベースのパスワードを使用して暗号化解除した後に、PKCS#8 EncryptedPrivateKeyInfo 構造体から公開/秘密キー ペアをインポートし、このオブジェクトのキーを置き換えます。

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

バイトベースのパスワードを使用して暗号化解除した後に、PKCS#8 EncryptedPrivateKeyInfo 構造体から公開/秘密キー ペアをインポートし、このオブジェクトのキーを置き換えます。

(継承元 ECDiffieHellman)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

char ベースのパスワードを使用して暗号化解除した後に、PKCS#8 EncryptedPrivateKeyInfo 構造体から公開/秘密キー ペアをインポートし、このオブジェクトのキーを置き換えます。

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

char ベースのパスワードを使用して暗号化解除した後に、PKCS#8 EncryptedPrivateKeyInfo 構造体から公開/秘密キー ペアをインポートし、このオブジェクトのキーを置き換えます。

(継承元 ECDiffieHellman)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

暗号化された RFC 7468 PEM でエンコードされた秘密キーをインポートして、このオブジェクトのキーを置き換えます。

(継承元 ECDiffieHellman)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

暗号化された RFC 7468 PEM でエンコードされた秘密キーをインポートして、このオブジェクトのキーを置き換えます。

(継承元 ECDiffieHellman)
ImportFromPem(ReadOnlySpan<Char>)

RFC 7468 PEM でエンコードされたキーをインポートして、このオブジェクトのキーを置き換えます。

(継承元 ECDiffieHellman)
ImportParameters(ECParameters)

キーとして ECCurve オブジェクトに指定したパラメーターを現在のインスタンスにインポートします。

ImportParameters(ECParameters)

派生クラスでオーバーライドされると、現在の ECDiffieHellman オブジェクトへの一時的なキーとして ECCurve の指定されたパラメーターをインポートします。

(継承元 ECDiffieHellman)
ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

暗号化解除した後に、PKCS#8 PrivateKeyInfo 構造体から公開/秘密キー ペアをインポートし、このオブジェクトのキーを置き換えます。

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

暗号化解除した後に、PKCS#8 PrivateKeyInfo 構造体から公開/秘密キー ペアをインポートし、このオブジェクトのキーを置き換えます。

(継承元 ECDiffieHellman)
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

暗号化解除した後に、X.509 SubjectPublicKeyInfo 構造体から公開キーをインポートし、このオブジェクトのキーを置き換えます。

(継承元 ECDiffieHellman)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
ToXmlString(Boolean)

このメソッドは実装されていません。

ToXmlString(Boolean)

このメソッドでは常にスローされます。

(継承元 ECDiffieHellman)
ToXmlString(ECKeyXmlFormat)
古い.

指定した形式を使用して、キー情報を XML 文字列にシリアル化します。

TryExportECPrivateKey(Span<Byte>, Int32)

ECPrivateKey 形式の現在のキーを、指定されたバッファーにエクスポートすることを試みます。

(継承元 ECDiffieHellman)
TryExportECPrivateKeyPem(Span<Char>, Int32)

PEM でエンコードされた ECPrivateKey 形式の現在のキーを、指定されたバッファーにエクスポートしようとします。

(継承元 ECAlgorithm)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

バイトベースのパスワードを使用して、現在のキーを PKCS#8 EncryptedPrivateKeyInfo 形式で指定のバッファーにエクスポートすることを試みます。

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

バイトベースのパスワードを使用して、現在のキーを PKCS#8 EncryptedPrivateKeyInfo 形式で指定のバッファーにエクスポートすることを試みます。

(継承元 ECDiffieHellman)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

char ベースのパスワードを使用して、PKCS#8 EncryptedPrivateKeyInfo 形式の現在のキーを、指定されたバッファーにエクスポートすることを試みます。

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

char ベースのパスワードを使用して、PKCS#8 EncryptedPrivateKeyInfo 形式の現在のキーを、指定されたバッファーにエクスポートすることを試みます。

(継承元 ECDiffieHellman)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters, Span<Char>, Int32)

PKCS#8 EncryptedPrivateKeyInfo 形式の現在のキーを、PEM でエンコードされたバイトベースのパスワードでエクスポートしようとします。

(継承元 AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters, Span<Char>, Int32)

PKCS#8 EncryptedPrivateKeyInfo 形式の現在のキーを、文字ベースのパスワード PEM エンコードでエクスポートします。

(継承元 AsymmetricAlgorithm)
TryExportPkcs8PrivateKey(Span<Byte>, Int32)

PKCS#8 PrivateKeyInfo 形式の現在のキーを、指定のバッファーにエクスポートすることを試みます。

TryExportPkcs8PrivateKey(Span<Byte>, Int32)

PKCS#8 PrivateKeyInfo 形式の現在のキーを、指定のバッファーにエクスポートすることを試みます。

(継承元 ECDiffieHellman)
TryExportPkcs8PrivateKeyPem(Span<Char>, Int32)

PEM でエンコードされた PKCS#8 PrivateKeyInfo 形式の現在のキーを、指定されたバッファーにエクスポートしようとします。

(継承元 AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

現在のキーを X.509 SubjectPublicKeyInfo 形式で指定のバッファーにエクスポートすることを試みます。

(継承元 ECDiffieHellman)
TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32)

PEM でエンコードされた X.509 SubjectPublicKeyInfo 形式の現在のキーを、指定されたバッファーにエクスポートしようとします。

(継承元 AsymmetricAlgorithm)

明示的なインターフェイスの実装

IDisposable.Dispose()

この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。

このメンバーの詳細については、「Dispose()」をご覧ください。

(継承元 AsymmetricAlgorithm)

適用対象