将 ECDHE TLS 与 Boost ASIO 结合使用

Using ECDHE TLS with Boost ASIO

TL;DR版本

我想知道:

加长版

我们一直在构建一个应用程序,该应用程序使用来自外部证书颁发机构的适当付费证书。该应用程序使用基于 Boost ASIO 和 Boost Beast 的自制服务器设置,我们最近才注意到它与 iOS 配合不佳 - ASIO 表示没有共享密码。

阅读 TLS 的工作原理后,我了解到我们服务器的某些部分阻止我们使用 ECDHE-* 密码套件(iOS 似乎想要)来提供 TLS - 但我我很难弄清楚如何让 ASIO 和我们目前的 cert/key 为 ECDHE 服务。

我尝试过的:

此时我不确定问题真正出在哪里(在 ASIO 中,在证书中或在我如何将它们放在一起)以及我在互联网上可以找到的大部分信息都与从头开始滚动所有内容,而不是使用现有证书。

更新 11/05/19

https://github.com/chriskohlhoff/asio/pull/117 使用 ECDHE 引入了 ASIO 的变化。需要等待一段时间才能看到它变成了哪个 Boost lib 版本。

原答案

我似乎已经为任何谷歌搜索者找到了答案 - 在撰写本文时,ASIO 似乎不支持 ECDHE。 This issue 从主回购协议中可以看出,ECDHE 有望获得支持,但尚未实施。

这是自 2016 年以来一直等待合并的 ECDHE 实现的 link:https://github.com/chriskohlhoff/asio/pull/117

+1 获得Boost ASIO维护者的关注;他用起来很慢。