我正在实施 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
我错过了什么,因为我的主密钥不正确。
答案 0 :(得分:1)
我想这一切都取决于你传递给BCryptDeriveKey的参数。 您应该在参数中指定TLS 1.2伪随机函数,该参数基于SHA256而不是MD5和SHA1作为TLS 1.1 / DTLS 1.0。