ECDiffieHellman.DeriveKeyTls(ECDiffieHellmanPublicKey, Byte[], Byte[]) メソッド

定義

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

C#
public virtual byte[] DeriveKeyTls(System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, byte[] prfLabel, byte[] prfSeed);

パラメーター

otherPartyPublicKey
ECDiffieHellmanPublicKey

もう一方のパーティの公開キー。

prfLabel
Byte[]

ASCII エンコードされた PRF ラベル。

prfSeed
Byte[]

64 バイト PRF シード。

戻り値

Byte[]

キーとして共有シークレットを使用した TLS 1.1 PRF の最初の 48 バイト。

例外

派生クラスはこのメソッドをオーバーライドする必要があります。

otherPartyPublicKey によって使用される曲線のサイズが、このキーの曲線のサイズと異なります。

otherPartyPublicKeyprfLabel、または prfSeednull です。

prfSeed は 64 バイト長に完全には一致しません。

- または -

otherPartyPublicKey によって使用される曲線が、このキーの曲線と異なります。

- または -

このインスタンスでは公開キーのみ表されます。

注釈

このメソッドは、共有シークレット (z) を生成するために、キー アグリーメント Diffie-Hellman 楕円曲線を内部的に実行します。

このメソッドの戻り値は、TLS 1.1 PRF (擬似ランダム関数) PRF(z, prfLabel, prfSeed)の 48 バイト出力です。

詳細については、 IETF RFC 4346、セクション 5 を参照してください。

適用対象

製品 バージョン
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.1