ssl - DTLS 1.2 主 key 推导

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

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

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

1- 使用 API BCryptOpenAlgorithmProvider 的开放算法提供者

2- 使用 API BCryptGenerateKeyPair 生成 key 对

3- 使用 API BCryptExportKey 导出公钥

4- 比使用 API BCryptImportKeyPair 导入其他方公钥

5- 之后使用我的私钥和另一方公钥通过 API BCryptSecretAgreement 生成 secret 协议(protocol)句柄

6- 最后使用 API BCryptDeriveKey 获取 key

我是不是因为我的主 key 不正确而遗漏了什么。

最佳答案

我想这完全取决于您传递给 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/

相关文章:

ruby-on-rails - 如何在 Ruby on Rails 应用程序中为 SSL 客户端配置私钥

azure - 如何将自定义域名从过期/删除订阅转移到新的 Web 应用程序?

visual-c++ - C++以毫秒为单位获取时间

c++ - 在我的项目中添加 mysql.h 是否足够或还需要其他库才能工作

ssl - iOS9 NSAppTransportSecurity 相对于 https 流量的实际含义是什么?

通过 Domino 受管 bean 到支付网关的 SSL 连接失败,返回 'handshake_failure'

ssl - 外部服务的 Istio 直通不起作用

c - 使用后结构体属性发生变化

python - 如何为 Python (2.7) 支持 TLS 1.1、1.2

ssl - Cloudflare SSL 页面规则