如何應對IOS(蘋果)強制啟用 App Transport Security(ATS)安全功能
阿新 • • 發佈:2019-02-01
最近看見蘋果下發的通知是關於所有iosapp都要使用安全的https連結與伺服器進行通訊的,並且是2017年1月1日開始執行(雖然後期另行通知是時間有所推遲),那也是早晚的事了。
蘋果要求的安全https連結不是在http上加一個s這麼簡單,那滿足ATS我們需要做些什麼呢
①必須是蘋果信任的CA證書機構頒發的證書,不能是自簽證書。
②後臺傳輸必須滿足:TLS1.2(這個很重要)
③證書必須使用SHA256或者更好的雜湊演算法進行簽名。
下面上乾貨,如果你的專案是JAVA + Tomcat/Jboss 開發的那請看下面,你要找到相應配置證書的地方在xml配置如下,其中ciphers 是加密方式、sslEnabledProtocols是使用TLS協議而關閉SSL協議(因為ssl協議出現漏洞所以關閉它)。
<connector port="443" maxhttpheadersize="8192" address="127.0.0.1" enablelookups="false" disableuploadtimeout="true" acceptCount="100" scheme="https" secure="true" clientAuth="false" SSLEnabled="true" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2" ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, SSL_RSA_WITH_RC4_128_SHA" keystoreFile="mydomain.key" keystorePass="password" truststoreFile="mytruststore.truststore" truststorePass="password"/>
如果你的專案是.NET 開發的專案那你請看下面,.NET修改起來很簡單隻需安裝一個程式,在 windows上 有一個很好用的軟體來解決此問題 叫 IISCrypto40.exe ,可到 https://www.nartac.com/Products/IISCrypto/ 連結下載,然後配置如下
下載完後,在windows server 伺服器上執行此軟體,然後按照上圖來勾選每一項,最後 apply後需要重啟伺服器,重啟之後就大功告成,你的https網站安全級別也被提高。
這裡主要講解的是在https基礎上使證書的協議和加密方式更安全,並且通過ios的限制,證書的生成和匯入方面這裡就不講解了,網上一大堆