配置windows7/windows 2008 支持ats
苹果提出的ATS强制标准:
部署服务器SSL证书,启用HTTPS加密连接。但需满足以下ATS默认的安全要求:
1、ATS要求服务器必须支持传输层安全(TLS)协议1.2以上版本;
2、通讯中的加密套件配置要求支持列出的正向保密;(以下Apple官方文档列表)
3、数字证书必须使用SHA256或者更高级的签名哈希算法签名,并且保证密钥是2048位及以上的RSA密钥或者256位及以上的ECC算法。
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
DSA算法要求使用以下加密套件:
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
支持ATS标准:
1、购买苹果信任CA所颁发的证书;
2、部署https网站的web服务器也有一定要求,如下:
Apache,Nginx要求关联的openssl版本在1.0.1+,这样网站才支持TLS1.2,同时您需要对证书相关参数做一定调整:
Apache:
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!aNULL:!eNULL;
Nginx:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!aNULL:!eNULL;
Tomcat要求环境 tomcat7+和JDK1.7+,配置参考如下:
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" keystoreFile="keystore/domain.jks" keystorePass="证书密码" clientAuth="false" sslProtocol="TLS" ciphers="TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, SSL_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA" />
IIS 要求环境 windows server 2008 R2/IIS 7+
Apple Documents:
https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW57
Requirements for Connecting Using ATS
Windows 安全通告:
https://technet.microsoft.com/en-us/library/security/3042058.aspx
Microsoft Security Advisory 3042058
https://support.microsoft.com/en-us/help/3042058/microsoft-security-advisory-update-to-default-cipher-suite-priority-order-may-12,-2015
在安装3042058之前可能需要先确定安装了: KB3020369
https://support.microsoft.com/en-us/help/3020369/april-2015-servicing-stack-update-for-windows-7-and-windows-server-2008-r2
其它相关链接
https://support.microsoft.com/en-us/help/947821/fix-windows-update-errors-by-using-the-dism-or-system-update-readiness-tool
https://help.aliyun.com/knowledge_detail/48151.html
Cipher Suites Added by the Update |
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 |
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 |
TLS_RSA_WITH_AES_256_GCM_SHA384 |
TLS_RSA_WITH_AES_128_GCM_SHA256 |
windows iis:
开启TLS 1.2
在Windows 2012中,缺省就已经开启了TLS 1.2,但在Windows 2008中缺省并没有开启TLS 1.2,所以需要我们通过修改注册表来启动TLS 1.2功能。
点击“开始”—“运行”,输入 “Regedit”,点击OK.
在注册表中寻找:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server
如果在Protocols下没有“TLS 1.2”选项,请依次新建“TLS 1.2”和“Server”项。
新建一个DWORD值,在名称中输入“Enabled”。
双击这个值,在数值数据中,输入“1”。
调整IIS加密套件顺序
1. Windows 2008在命令提示符下,键入 gpedit.msc,并按 Enter 键来启动“本地组策略编辑器”。
2. 依次展开“计算机配置”、“管理模板”、“网络”,然后单击“SSL 配置设置”。
3. 在“SSL 配置设置”下,单击“SSL 密码套件顺序”设置。
4. 在“SSL 密码套件顺序”窗口中,单击“已启用”。
5. 在选项窗格中,双击以突出显示“SSL 密码套件”字段的全部内容,然后使用以下加密套件替换其内容:
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P384 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P521 TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384 TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P521 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384_P256 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384_P384 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256_P256 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256_P384 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384 TLS_RSA_WITH_AES_256_GCM_SHA384 TLS_RSA_WITH_AES_128_GCM_SHA256 TLS_RSA_WITH_AES_256_CBC_SHA256 TLS_RSA_WITH_AES_128_CBC_SHA256 TLS_RSA_WITH_AES_256_CBC_SHA TLS_RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_3DES_EDE_CBC_SHA |