我已经阅读了很长时间,但这是我第一篇关于我找不到解决方案的主题的真正帖子。
我目前在 Windows 2012 上托管一个网站,我希望在该网站上运行最新的 TLS 1.2 密码套件。
我知道如何在 Windows 中启用 TLS 1.1 和 TLS 1.2,并且已经这样做了(通过注册表编辑)。我还将密码顺序更改为我希望的顺序。
我的问题是:在此步骤之后,我实际上如何完成并设置密码套件的 ECDHE/ECDSA 部分?
当我在最新的 chrome beta 中查看该站点时(如果您使用支持的曲线,它支持 TLS 1.2 中的 ECDHE 和 ECDSA),它似乎跳过了所有 ECHDE 密码套件。
我还需要做些什么才能正确启用 ECDHE/ECDSA 吗?
我在网上阅读过试图自己解决这个问题,他们提到制作您的根证书的副本,然后修改它们以某种方式支持 ECDHE。我是不是找错树了?
提前感谢您对此问题的所有支持。
编辑:添加说明/进度
经过更多研究,我发现要使 ECDSA 正常工作,您需要一个 ECDSA 证书。目前获得一个的唯一方法是自签名,因为证书卡特尔尚未为椭圆曲线证书提出适当的交叉许可协议(protocol)和费用结构。
由于自签名不是该站点的选项,因此我已从密码顺序中删除了所有 ECDSA 套件。
不幸的是,因为所有 AES Galois Counter Mode 套件也是 ECDSA,这暂时排除了这些。
这给我留下了最强大的 ECDHE_RSA_WITH_AES_256_CBC_SHA384_P521 密码套件,我相信最新版本的 Chrome 测试版支持它,对吗?我似乎无法让 Chrome 获取 SHA-1 以外的任何内容。不支持 SHA-2 吗?即使在最新的测试版中?
最佳答案
AES-GCM 是关于如何加密连接中的数据,EC-DSA 或 RSA 是关于服务器如何向客户端标识自己。因此,您没有理由不能使用 RSA 身份验证进行 AES-GCM 加密。
RFC 5289 确实为此定义了所需的套件: https://www.rfc-editor.org/rfc/rfc5289#section-3.2
CipherSuite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = {0xC0,0x2F}; CipherSuite TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = {0xC0,0x30}; CipherSuite TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 = {0xC0,0x31}; CipherSuite TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 = {0xC0,0x32};
然而,找到支持它们的客户端和服务器并不一定容易。
关于windows - https 与 ECDHE-ECDSA-AES256-GCM-SHA384 在 Windows 2012,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17893579/