国产精品主播叶子闺蜜_三级高清精品国产_99久久精品国产麻豆_国产精品无码免费专区午夜

歡迎您光臨深圳塔燈網(wǎng)絡(luò)科技有限公司!
電話圖標(biāo) 余先生:13699882642

網(wǎng)站百科

為您解碼網(wǎng)站建設(shè)的點(diǎn)點(diǎn)滴滴

APP升級(jí)到HTTPS流程詳解

發(fā)表日期:2016-11 文章編輯:小燈 瀏覽次數(shù):5053

1. 背景

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

2. 影響

2.1 100%被拒的情況:

  • 使用自有網(wǎng)站的HTTP鏈接
  • 使用自有網(wǎng)站低于TLS1.2標(biāo)準(zhǔn)的HTTPS鏈接。

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

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

HTTP:當(dāng)客戶端發(fā)送請(qǐng)求,那么服務(wù)器會(huì)直接返回?cái)?shù)據(jù)。

Paste_Image.png

HTTPS:當(dāng)客戶端第一次發(fā)送請(qǐng)求的時(shí)候,服務(wù)器會(huì)返回一個(gè)包含公鑰的受保護(hù)空間(也成為證書),當(dāng)我們發(fā)送請(qǐng)求的時(shí)候,公鑰會(huì)將請(qǐng)求加密再發(fā)送給服務(wù)器,服務(wù)器接到請(qǐng)求之后,用自帶的私鑰進(jìn)行解密,如果正確再返回?cái)?shù)據(jù)。這就是 HTTPS 的安全性所在。

Paste_Image.png

更加詳細(xì)的過程:
? ? ? ?當(dāng)瀏覽器(客戶端)需要與某個(gè)安全站點(diǎn)建立連接時(shí),先建立TCP連接(三次握手),然后發(fā)生 SSL會(huì)話握手。

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

4.開始配置HTTPS

4.1 準(zhǔn)備工作
  • 有網(wǎng)站,有服務(wù)器,有域名;
  • 申請(qǐng)到一個(gè) SSL 證書;
4.2 生成證書的申請(qǐng)文件:

1.先通過 openssl 工具創(chuàng)建一個(gè)私鑰文件mydomain.key。

sudo openssl genrsa -des3 -out mydomain.key 1024 

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

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

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

這個(gè) csr 文件在向證書頒發(fā)機(jī)構(gòu)申請(qǐng)證書的時(shí)候需要提交,需要根據(jù)上一步的私鑰才能產(chǎn)生,然后會(huì)需要輸入下面一系列的信息:

Paste_Image.png

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

4.3 申請(qǐng)證書

按驗(yàn)證的類別分:

  • 域名認(rèn)證(Domain Validation):認(rèn)證你的域名所有權(quán)和網(wǎng)站,申請(qǐng)驗(yàn)證簡單,幾分鐘即可。
  • 組織機(jī)構(gòu)認(rèn)證(Organization Validation):認(rèn)證的域名和公司信息需要提交公司資料認(rèn)證。
  • 擴(kuò)展認(rèn)證(Extended Validation,簡稱EV):這種證書會(huì)在瀏覽器中出現(xiàn)“很明顯”的綠色地址欄,給用戶的可信度最高。有安全評(píng)估保證。

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

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

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

Paste_Image.png

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

Paste_Image.png

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

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

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

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

5.2新增一個(gè) server 段偵聽同樣域名上的 80 端口,直接 301 跳轉(zhuǎn)到 https 協(xié)議上的地址:

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

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

參考文檔:
SSL證書與Https應(yīng)用部署小結(jié)
HTTPS(SSL) 升級(jí)實(shí)踐手札
iOS應(yīng)用網(wǎng)絡(luò)安全之HTTPS
iOS - HTTPS
StartSSL免費(fèi)SSL證書成功申請(qǐng)
App上架重磅通知:App Store安全新規(guī)17年1月生效


本頁內(nèi)容由塔燈網(wǎng)絡(luò)科技有限公司通過網(wǎng)絡(luò)收集編輯所得,所有資料僅供用戶學(xué)習(xí)參考,本站不擁有所有權(quán),如您認(rèn)為本網(wǎng)頁中由涉嫌抄襲的內(nèi)容,請(qǐng)及時(shí)與我們聯(lián)系,并提供相關(guān)證據(jù),工作人員會(huì)在5工作日內(nèi)聯(lián)系您,一經(jīng)查實(shí),本站立刻刪除侵權(quán)內(nèi)容。本文鏈接:http://www.juherenli.com/20408.html
相關(guān)開發(fā)語言