ECDiffieHellmanCng.DeriveKeyMaterial メソッド

定義

二者の間の秘密協定から生成されたキー マテリアルを派生させます。

オーバーロード

DeriveKeyMaterial(CngKey)

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

DeriveKeyMaterial(ECDiffieHellmanPublicKey)

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

注釈

楕円曲線 Diffie-Hellman (ECDH) アルゴリズムは、秘密キーと相手の公開キーを入力として受け入れ、シークレット アグリーメントを出力として生成します。 次に、キー派生関数 (KDF) は秘密契約を受け取り、キーマテリアルを出力として生成します。

DeriveKeyMaterial(CngKey)

ソース:
Cng.NotSupported.cs
ソース:
Cng.NotSupported.cs
ソース:
Cng.NotSupported.cs

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

C#
public byte[] DeriveKeyMaterial(System.Security.Cryptography.CngKey otherPartyPublicKey);
C#
[System.Security.SecurityCritical]
public byte[] DeriveKeyMaterial(System.Security.Cryptography.CngKey otherPartyPublicKey);

パラメーター

otherPartyPublicKey
CngKey

キー交換で相手から取得した ECDH (Elliptic Curve Diffie-Hellman) キーの公開部分を格納したオブジェクト。

戻り値

Byte[]

キー マテリアルを格納したバイト配列。 現在のオブジェクトの秘密キーと指定した公開キーから計算された秘密協定から、この情報は生成されます。

属性

例外

otherPartyPublicKeynullです。

otherPartyPublicKey が無効です。 AlgorithmGroup プロパティで ECDiffieHellman が指定されていないか、キー サイズが現在のインスタンスのキー サイズと一致していません。

このオブジェクトの KeyDerivationFunction プロパティでは Tls キー派生関数を指定しますが、Label または Seed のどちらか一方は null にします。

上記以外のすべてのエラー。

適用対象

.NET 10 およびその他のバージョン
製品 バージョン
.NET 6, 7, 8, 9, 10
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.1 (package-provided)
Windows Desktop 3.0, 3.1, 5

DeriveKeyMaterial(ECDiffieHellmanPublicKey)

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

C#
public override byte[] DeriveKeyMaterial(System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey);

パラメーター

otherPartyPublicKey
ECDiffieHellmanPublicKey

キー交換で相手から取得した公開キー。

戻り値

Byte[]

キー マテリアルを格納したバイト配列。 現在のオブジェクトの秘密キーと指定した公開キーから計算された秘密協定から、この情報は生成されます。

例外

otherPartyPublicKeynullです。

otherPartyPublicKeyECDiffieHellmanCngPublicKey キーではありません。

適用対象

.NET 10 およびその他のバージョン
製品 バージョン
.NET 6, 7, 8, 9, 10
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.1 (package-provided)
Windows Desktop 3.0, 3.1, 5