服务器配置ssl证书支持苹果ATS方法

服务器配置ssl证书支持苹果ATS方法

发布日期:2016-12-14

苹果安全工程&架构部门主管Ivan Kristic表示ATS将在今年底成为App Sotre app的必要条件,这将大幅提高App在网络上的通讯安全,带给用户真正的安全保障。

其实在iOS 9中ATS是默认开启的,但开发者仍然能关闭ATS,但从2017年1月1日起,App开发者们也明确了必须强制开启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+,调整方式如下:

下载调整加密套件的工具,下载地址:

下载完成后,运行程序,点击Best Practice按钮,然后点击Apply按钮,这时系统提醒您重启,点击重启,配置才能生效。

上一篇:细说CryptoJs使用(微信小程序加密解密)


下一篇:【learning】微信跳一跳辅助c++实现 轻松上万 【未完待续】