ECDiffieHellman.DeriveKeyTls(ECDiffieHellmanPublicKey, Byte[], Byte[]) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在派生类中实现时,使用 TLS(传输层安全性)1.1 PRF(Pseudo-Random 函数)执行密钥派生。
public:
virtual cli::array <System::Byte> ^ DeriveKeyTls(System::Security::Cryptography::ECDiffieHellmanPublicKey ^ otherPartyPublicKey, cli::array <System::Byte> ^ prfLabel, cli::array <System::Byte> ^ prfSeed);
public virtual byte[] DeriveKeyTls(System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, byte[] prfLabel, byte[] prfSeed);
abstract member DeriveKeyTls : System.Security.Cryptography.ECDiffieHellmanPublicKey * byte[] * byte[] -> byte[]
override this.DeriveKeyTls : System.Security.Cryptography.ECDiffieHellmanPublicKey * byte[] * byte[] -> byte[]
Public Overridable Function DeriveKeyTls (otherPartyPublicKey As ECDiffieHellmanPublicKey, prfLabel As Byte(), prfSeed As Byte()) As Byte()
参数
- otherPartyPublicKey
- ECDiffieHellmanPublicKey
另一方的公钥。
- prfLabel
- Byte[]
ASCII 编码的 PRF 标签。
- prfSeed
- Byte[]
64 字节 PRF 种子。
返回
Byte[]
TLS 1.1 PRF 中的前 48 个字节,使用共享机密作为密钥。
例外
派生类必须重写此方法。
使用的 otherPartyPublicKey 曲线的大小与此键中的曲线不同。
otherPartyPublicKey或 prfLabelprfSeed 为 null。
注解
此方法在内部执行椭圆曲线 Diffie-Hellman 密钥协议以生成共享机密(z)。
此方法的返回值是 TLS 1.1 PRF(Pseudo-Random 函数 PRF(z, prfLabel, prfSeed))的 48 字节输出。
有关详细信息,请参阅 IETF RFC 4346,第 5 节。