1. 程式人生 > >ats 與 https

ats 與 https

cdh too 操作系統 link containe ble 可能 aes 摘要

一些證書相關的描述: https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html With ATS enabled, HTTP connections must use HTTPS (RFC 2818). Attempts to connect using insecure HTTP fail. ATS employs the Transport Layer Security (TLS) protocol version 1.2 (RFC 5246). For background on secure Internet connections, read HTTPS Server Trust Evaluation
.
http://www.cocoachina.com/ios/20161207/18308.html

1.必須是蘋果信任的CA證書機構頒發的證書

2.後臺傳輸協議必須滿足: TLS1.2 (這很重要, 後面的自制證書滿足這個條件是前提)

3.簽字算法只能是下面的一種:

1 2 3 4 5 6 7 8 9 10 11 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

4.證書必須使用SHA256或者更好的哈希算法進行簽名,要麽是2048位或者更長的RSA密鑰,要麽就是256位或更長的ECC密鑰。

目前有兩種升級到HTTPS得方法:

1.第三方認證的頒發CA證書(推薦)

2.自己制作證書(這種不知道能不能滿足蘋果的審核)

由操作系統內嵌的根證書頒發機構簽發 由通過操作系統管理員或用戶主動安裝的根證書頒發機構簽發 TLS 版本必須為1.2,任何不使用或使用較低版本 TLS / SSL 的連接,都將失敗。 連接必須使用 AES-128 或 AES-256 對稱加密算法。 TLS 算法套裝必須以 ECDSA 密鑰交換的形式支持正向保密,加密算法必須為下面之一: 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 服務端的葉證書簽名密鑰必須為下面之一: 至少2048位的 RSA 密鑰 至少256位的 ECC 密鑰 此外,服務器證書的哈希算法必須為 SHA-2,其摘要長度至少位256位(即 SHA-256 及以上)。 上面的標準,未來可能會發生變化。但不會影響到 app 二進制包的兼容性。 謝謝!

ats 與 https