DTLS 1.2主密钥推导

时间:2016-05-25 05:07:05

标签: ssl visual-c++ tls1.2 cng dtls

我正在实施 DTLS 1.2 并使用密码 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

我正在使用以下步骤创建预主密钥和主密钥

1-使用API​​ BCryptOpenAlgorithmProvider打开算法提供程序

2-使用API​​生成密钥对 BCryptGenerateKeyPair

使用API​​ BCryptExportKey

导出公钥

4-使用API​​ BCryptImportKeyPair

导入其他方公钥

5-之后使用我的私钥和其他方公钥生成秘密协议句柄 BCryptSecretAgreement

6-最后使用API​​获取密钥 BCryptDeriveKey

我错过了什么,因为我的主密钥不正确。

1 个答案:

答案 0 :(得分:1)

我想这一切都取决于你传递给BCryptDeriveKey的参数。 您应该在参数中指定TLS 1.2伪随机函数,该参数基于SHA256而不是MD5和SHA1作为TLS 1.1 / DTLS 1.0。