我正在实现DTLS 1.2并使用密码TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
我正在使用以下步骤创建预主密钥和主密钥
1-使用API BCryptOpenAlgorithmProvider的开放算法提供程序
2-使用API BCryptGenerateKeyPair生成密钥对
3-比使用API BCryptExportKey导出公钥
4-比使用API BCryptImportKeyPair导入对方公共密钥
5-之后,使用API BCryptSecretAgreement使用我的私钥和其他方的公钥生成秘密协议句柄
6-最后使用API BCryptDeriveKey获取密钥
我是否缺少某些东西,因为我的主密钥不正确。
最佳答案
我猜这一切都取决于您传递给BCryptDeriveKey的参数。
您应该在基于SHA256而不是MD5和SHA1的参数中指定TLS 1.2伪随机函数作为TLS 1.1 / DTLS 1.0。
关于ssl - DTLS 1.2主 key 派生,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37428233/