638
魔獸
蘋果ATS - 證書選擇及配置__常見問題_產品常見問題_證書服務-阿裏雲
2017年1月1日開始,蘋果要求所有iOS應用必須使用ATS(App Transport Security),即APP內連接必須使用安全的HTTPS。並不簡單是一個HTTPS協議,而且要滿足iOS9中新增特性。
包括如下幾點:
1、證書頒發機構的要求
2、傳輸協議的要求
3、簽字算法的要求
4、證書的哈希算法和秘鑰長度的要求
其中2和3屬於證書的安裝和配置問題,稍後說一下。先說1和4的要求。
證書頒發機構: 推薦用Symantec/GeoTrust品牌的OV及以上證書,個人用戶可簽發DV證書。而CFCA品牌隻在最新的蘋果設備上才支持,不推薦CFCA品牌。不推薦使用免費證書;
證書的哈希算法:在上麵推薦的證書品牌中是哈希算法都是SHA256或者更高強度的算法;
秘鑰長度: 如果選擇使用係統創建CSR方式,密鑰是2048位的RSA加密算法,完全符合要求;如果自己創建CSR,請使用2048位或以上的RSA加密算法;
傳輸協議: 必須滿足 TLS1.2
要在服務器上開啟 TLSv1.2,通常要求基於 OpenSSL 環境的,使用 OpenSSL 1.0+ ,推薦 OpenSSL 1.0.1+。
要求基於 Java 環境的,使用 Jdk 1.7+ 。
其他 Web Server,除 IIS7.5 以及 Weblogic 10.3.6 較為特殊外,隻需版本滿足,默認均開啟 TLSv1.2。詳情如下:
- Apache / Nginx 依賴 OpenSSL 1.0 + 以支持 TLSv1.2.
- Tomcat 7 + Jdk 7.0 + 支持 TLSv1.2
- IIS7.5 默認未開啟 TLSv1.2 需修改注冊表以開啟 TLSv1.2。導入附件的 ats.reg 注冊表腳本後,重啟(或注銷)服務器,以使 TLSv1.2 生效。
IBM Domino Server 9.0.1 FP3支持tls1.2 ATS建議9.0.1 FP5。https://www-10.lotus.com/ldd/dominowiki.nsf/dx/TLS_Cipher_Configuration#TLS+1.2%3Ahttps://publib.boulder.ibm.com/httpserv/ihsdiag/ssl_questions.html
IBM Http Server 8.0+ 支持TLS1.2 ,適配ATS建議使用8.5+
weblogic10.3.6+ java7+ 支持tls1.2。Weblogic 10.3.6 存在多個 SHA256 兼容bug,建議應最低使用 Weblogic 12 版本,或為 Weblogic 10.3.6 配置前端 Apache 或 Nginx 的 https 代理(或SSL前端負載)。
webspere V7.0.0.23+ V8.0.0.3+ V8.5.0.0+ 支持 TLsv1.2。https://developer.ibm.com/answers/questions/206952/how-do-i-configure-websphere-application-server-ss.html
簽字算法: 必須滿足如下算法
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
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
以下舉例不同服務器的ATS協議及加密套件如何配置(隻列舉了與ATS有關的屬性,請不要完全複製以下配置)
Nginx配置文件中的片段(ssl_ciphers/ssl_protocols屬性與ATS有關)
server {
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
}
Apache配置文件中的片段(SSLProtocol/SSLCipherSuite屬性與ATS有關)
<IfModule mod_ssl.c>
<VirtualHost *:443>
SSLProtocol TLSv1 TLSv1.1 TLSv1.2
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4
</VirtualHost>
</IfModule>
Tomcat配置文件中的片段(SSLProtocol/SSLCipherSuite屬性與ATS有關)
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
scheme="https" secure="true"
SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
SSLCipherSuite="ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4" />
IIS係列的配置最佳實踐正在整理中,先推薦兩篇文章供參考
https://jackstromberg.com/2013/09/enabling-tls-1-2-on-iis-7-5-for-256-bit-cipher-strength/
一個可視化界配置插件
https://www.nartac.com/Products/IISCrypto/Download
阿裏雲的CDN、SLB業務的HTTPS配置完全符合ATS的要求。
ATS檢測工具:
蘋果電腦可以用自帶的工具進行檢測,命令如下:
nsurl --ats-diagnostics --verbose 你的接口地址
最後更新:2016-12-15 00:41:41
上一篇:
為什麼要使用無密碼保護的私鑰?__常見問題_產品常見問題_證書服務-阿裏雲
下一篇:
各種類型SSL數字證書的區別,如何選擇__常見問題_產品常見問題_證書服務-阿裏雲
CreatePolicyVersion__授權策略管理接口_RAM API文檔_訪問控製-阿裏雲
負載均衡監控__雲服務監控_用戶指南_雲監控-阿裏雲
查詢指定訂閱信息__訂閱管理相關接口_Open API_消息隊列 MQ-阿裏雲
Graph開發插件介紹__Eclipse開發插件_工具_大數據計算服務-阿裏雲
導入本地鏡像__鏡像_用戶指南_雲服務器 ECS-阿裏雲
設置隊列屬性__隊列操作_快速入門_消息服務-阿裏雲
清除數據__管理實例_用戶指南_雲數據庫 Redis 版-阿裏雲
阿裏雲付費用戶超百萬 營收增速降至96%
離線算法開發手冊__算法規範_開發者指南_推薦引擎-阿裏雲
使用報警服務__快速入門_雲監控-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲