<address id="r9vd9"><address id="r9vd9"><listing id="r9vd9"></listing></address></address>

      歡迎您光臨深圳塔燈網絡科技有限公司!
      電話圖標 余先生:13699882642

      網站百科

      為您解碼網站建設的點點滴滴

      APP升級到HTTPS流程詳解

      發表日期:2016-11 文章編輯:小燈 瀏覽次數:4740

      1. 背景

      2017年1月1日起,蘋果App Store中的所有App都必須啟用 App Transport Security(ATS)安全功能。App Transport Security(應用程序安全傳輸),簡稱 ATS,是蘋果在 iOS 9 中首次推出的一項隱私安全保護功能,啟用ATS后,它會屏蔽明文HTTP資源加載,強制App通過HTTPS連接網絡服務,通過傳輸加密保障用戶數據安全。ATS在 iOS 9 中是默認開啟的,但開發者仍然可以選擇關閉 ATS,讓自己的應用通過 HTTP 連接傳輸數據。但從2017年1月1日起,這招將行不通了,所有提交到 App Store 的App必須強制開啟 ATS。

      2. 影響

      2.1 100%被拒的情況:

      • 使用自有網站的HTTP鏈接
      • 使用自有網站低于TLS1.2標準的HTTPS鏈接。

      2.2以下幾種情況是特例,不會被拒:

      • App提供流媒體服務,媒體源已經對內容進行了加密,這時只要使用蘋果的AV Foundation框架加載內容,就可以無視ATS;
      • App的內容如果有來自已知的第三方,可以暫時不用管,讓技術設置一下ATS的開關,不過最好的做法是和第三方溝通下,敦促他們所有傳輸都使用TLS1.2加密。這一條適用于微信的公眾號開發。
      • App的內容來自于不可知的第三方,比如說允許用戶通過App訪問任意網站,比如說瀏覽器app,可以忽視ATS。如果使用框架是WebKit,蘋果建議切換到Safari,否則今后可能還會有麻煩事。
      3. HTTP和HTTPS的區別:

      HTTP:當客戶端發送請求,那么服務器會直接返回數據。

      Paste_Image.png

      HTTPS:當客戶端第一次發送請求的時候,服務器會返回一個包含公鑰的受保護空間(也成為證書),當我們發送請求的時候,公鑰會將請求加密再發送給服務器,服務器接到請求之后,用自帶的私鑰進行解密,如果正確再返回數據。這就是 HTTPS 的安全性所在。

      Paste_Image.png

      更加詳細的過程:
      ? ? ? ?當瀏覽器(客戶端)需要與某個安全站點建立連接時,先建立TCP連接(三次握手),然后發生 SSL會話握手。

      • 瀏覽器將通過網絡發送請求安全會話的消息(通常請求以 https 而非 http 開頭的 URL)。
      • 服務器通過發送其證書(包括公鑰)進行響應。
      • 瀏覽器將檢驗服務器的證書是否有效,并檢驗該證書是否是由其證書位于瀏覽器的數據庫中的(并且是可信的)CA 所簽發的。它還將檢驗 CA 證書是否已過期。
      • 如果證書有效,瀏覽器將生成一個==一次性的、唯一的==會話密鑰,并使用服務器的公鑰對該會話密鑰進行加密。然后,瀏覽器將把加密的會話密鑰發送給服務器,這樣服務器和瀏覽器都有一份會話密鑰。
      • 服務器可以使用其專用密鑰對消息進行解密,然后恢復會話密鑰。

      4.開始配置HTTPS

      4.1 準備工作
      • 有網站,有服務器,有域名;
      • 申請到一個 SSL 證書;
      4.2 生成證書的申請文件:

      1.先通過 openssl 工具創建一個私鑰文件mydomain.key。

      sudo openssl genrsa -des3 -out mydomain.key 1024 

      不同的證書是可能有加密位數不同的,這里用的是 1024,但有可能是 2048;
      這個 openssl 工具在 windows 和 linux 上面都可以用。

      2.然后我們通過下面的命令生成申請文件 (mydomain.csr)。

      sudo openssl req -new -key mydomain.key -out mydomain.csr 

      這個 csr 文件在向證書頒發機構申請證書的時候需要提交,需要根據上一步的私鑰才能產生,然后會需要輸入下面一系列的信息:

      Paste_Image.png

      最終生成好 csr 申請文件,就可以開始申請證書了。

      4.3 申請證書

      按驗證的類別分:

      • 域名認證(Domain Validation):認證你的域名所有權和網站,申請驗證簡單,幾分鐘即可。
      • 組織機構認證(Organization Validation):認證的域名和公司信息需要提交公司資料認證。
      • 擴展認證(Extended Validation,簡稱EV):這種證書會在瀏覽器中出現“很明顯”的綠色地址欄,給用戶的可信度最高。有安全評估保證。

      個人或小站點可用一類或二類,企業一般用二類認證,少數企業會用到EV認證。
      看了看網上SSL證書的價格,便宜的一般都是10美元左右一個子域名/每年,按不同類別、不同品牌等價格在幾十美元到幾百美元一年。比如能顯示綠色地址欄的EV證書和通配符證書貴一些。國內自己的或代理的,比國外貴不少,動輒幾千元。其實就是由可信源認證了一下,類似于辦證,用起來沒什么差別,并非越貴越好。

      國外常見的SSL提供商有:Thawte,Go Daddy,VeriSign,RapidSSL,GeoTrust(QuickSSL),StartSSL。
      StartSSL、Go Daddy的比較便宜,GeoTrust的價格適中,Thawte和VeriSign的價格較貴。

      其中StartSSL的價格是119.8美元/年
      https://www.startssl.com/

      Paste_Image.png

      Go Daddy的價格是669人民幣/年
      https://sg.godaddy.com/zh/web-security/ssl-certificate/ov-ssl-certificate

      Paste_Image.png

      最終我們會得到一個.crt證書文件。憑著手上已經注冊好的 mydomain.crt 證書和 mydomain.key 私鑰文件,就可以在我們的 http 服務上面配置 SSL 了。

      5. Nginx ****配置啟用**** SSL

      5.1 在原有的虛擬主機 server 段配置上修改端口為 443,然后加入如下三行 SSL 配置:

      server { listen 443; ssl on; ssl_certificate /var/ssl/mydomain.crt; ssl_certificate_key /var/ssl/mydomain.key; } 

      5.2新增一個 server 段偵聽同樣域名上的 80 端口,直接 301 跳轉到 https 協議上的地址:

      server { listen 80; server_name www.mydomain.com mydomain.com; rewrite ^/(.*)$ https://$host/$1 permanent; } 

      5.3然后重啟一下 Nginx,這時候會要求輸入私鑰的密碼,日后每次重啟 Nginx都需要這一步。
      至此就配置完畢了。

      參考文檔:
      SSL證書與Https應用部署小結
      HTTPS(SSL) 升級實踐手札
      iOS應用網絡安全之HTTPS
      iOS - HTTPS
      StartSSL免費SSL證書成功申請
      App上架重磅通知:App Store安全新規17年1月生效


      本頁內容由塔燈網絡科技有限公司通過網絡收集編輯所得,所有資料僅供用戶學習參考,本站不擁有所有權,如您認為本網頁中由涉嫌抄襲的內容,請及時與我們聯系,并提供相關證據,工作人員會在5工作日內聯系您,一經查實,本站立刻刪除侵權內容。本文鏈接:http://www.webpost.com.cn/20408.html
      相關開發語言
       八年  行業經驗

      多一份參考,總有益處

      聯系深圳網站公司塔燈網絡,免費獲得網站建設方案及報價

      咨詢相關問題或預約面談,可以通過以下方式與我們聯系

      業務熱線:余經理:13699882642

      Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

      • QQ咨詢
      • 在線咨詢
      • 官方微信
      • 聯系電話
        座機0755-29185426
        手機13699882642
      • 預約上門
      • 返回頂部
      国产成人精品综合在线观看