windows 2012中带有ECDHE-ECDSA-AES256-GCM-SHA384的https

windows 2012中带有ECDHE-ECDSA-AES256-GCM-SHA384的https,windows,security,ssl,ssl-certificate,ecdsa,Windows,Security,Ssl,Ssl Certificate,Ecdsa,我已经读了很长时间了,但这是我第一篇关于我找不到解决方案的主题的真正的文章 我目前正在Windows 2012上托管一个网站,我希望在该网站上运行最新的TLS 1.2密码套件 我知道如何在windows中启用TLS 1.1和TLS 1.2,并且已经这样做了(通过注册表编辑)。我还将密码顺序更改为我希望的顺序 我的问题是:在这一步之后,我如何实际完成并设置密码套件的ECDHE/ECDSA部分 当我在最新的chrome测试版中查看该站点时(如果您使用支持的曲线,它支持TLS 1.2中的ECDHE和E

我已经读了很长时间了,但这是我第一篇关于我找不到解决方案的主题的真正的文章

我目前正在Windows 2012上托管一个网站,我希望在该网站上运行最新的TLS 1.2密码套件

我知道如何在windows中启用TLS 1.1和TLS 1.2,并且已经这样做了(通过注册表编辑)。我还将密码顺序更改为我希望的顺序

我的问题是:在这一步之后,我如何实际完成并设置密码套件的ECDHE/ECDSA部分

当我在最新的chrome测试版中查看该站点时(如果您使用支持的曲线,它支持TLS 1.2中的ECDHE和ECDSA),它似乎跳过了所有ECHDE密码套件

是否需要执行其他操作才能正确启用ECDHE/ECDSA

我在网上读到过关于我自己解决这个问题的文章,他们提到复制你的根证书,然后修改它们以支持ECDHE。我找错树了吗

提前感谢您对此问题的支持

编辑:添加澄清/进度

经过更多的研究,我发现为了让ECDSA正常工作,您需要ECDSA证书。目前获得证书的唯一方法是自行签署,因为cert卡特尔尚未为Ellipic Curve证书制定适当的交叉许可协议和费用结构

由于此站点不支持自签名,因此我已从密码顺序中删除了所有ECDSA套件

不幸的是,因为所有的AES Galois计数器模式套件也都是ECDSA,这就暂时排除了这些


这就给我留下了一套最强大的密码套件ECDHE_RSA_和_AES_256_CBC_SHA384_P521,我相信这是由最新版本的Chrome beta correct支持的?我似乎无法让Chrome获得SHA-1之外的任何东西。没有SHA-2支持吗?即使在最新的beta版中?

AES-GCM也是关于您如何加密连接、EC-DSA或RSA中的数据,关于服务器如何向客户端标识自身。因此,您没有理由不能使用RSA身份验证进行AES-GCM加密

RFC 5289确实定义了所需的套件:


然而,要找到支持它们的客户端和服务器并不一定容易。

我对Win2008 R2有过类似的经验。 根据证书的不同,GCM密码是否由服务器提供

使用自签名ECDSA证书,我让GCM工作,但使用的是较旧的浏览器 或者Windows XP无法连接到此类https站点

Windows不支持任何TLS\u ECDHE\u RSA…GCM。。。密码: 因此,在Windows下,普通RSA证书不能与GCM一起使用

浏览器兼容性:

经过进一步研究,我认为我选择的密码套件的问题在于我没有ECDSA CA。我已将服务器添加到域(其自己的域)并安装了AD CS。我已经使用MS的P-521 ECDSA软件密钥提供程序创建了一个企业证书。现在,我不知道如何继续在IIS8中实际工作。还有一个附带问题:如果我想在Windows 2012中支持所有3条默认曲线,我是否需要为每条曲线创建一个证书?>“如果我想在Windows 2012中支持所有3条默认曲线,我是否需要为每条曲线创建一个证书?”--如果您对所有内容都使用一个证书,即使是未加密的频道,那么就很容易猜出证书的代码了。类似地,如果你对三条曲线使用一个证书,并且其中一条被破坏,那么其他所有曲线也是如此。所有内容的单独证书都更安全,因为密钥更大(密钥长度更长,解密算法更难),但所有这些都会增加成本(对您和攻击者而言)。
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};