1. 程式人生 > >如何應對IOS(蘋果)強制啟用 App Transport Security(ATS)安全功能

如何應對IOS(蘋果)強制啟用 App Transport Security(ATS)安全功能

最近看見蘋果下發的通知是關於所有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的限制,證書的生成和匯入方面這裡就不講解了,網上一大堆