iOS APP配置HTTPS流程
您的APP啟用HTTPS了嗎?距離2017年1月1日"蘋果iOS強(qiáng)制要求HTTPS連接"還有不到1個(gè)月的時(shí)間,是否支持HTTPS直接影響APP能否在蘋果商店順利上架。本文將幫助您更快實(shí)施HTTPS!
?
工具/原料
- Ngnix服務(wù)器+域名
- SSL證書
方法/步驟
準(zhǔn)備工作
申請一個(gè) SSL 證書?,可在沃通WoSign網(wǎng)站申請所需SSL證書類型。SSL證書按驗(yàn)證的類別可分:
DV SSL證書(域名驗(yàn)證型):只驗(yàn)證域名所有權(quán),適合個(gè)人網(wǎng)站、博客等站點(diǎn)使用;
OV SSL證書(企業(yè)驗(yàn)證型):驗(yàn)證網(wǎng)站所屬單位身份,適合企業(yè)級(jí)用戶使用;
EV SSL證書(擴(kuò)展驗(yàn)證型):擴(kuò)展驗(yàn)證網(wǎng)站所屬單位身份,這種證書在瀏覽器中會(huì)顯示醒目的綠色地址欄,可信度最高,適合需要用戶高度信任的企業(yè)級(jí)用戶使用。?
根據(jù)域名數(shù)量和域名類型選擇對應(yīng)的證書。
AFN配置HTTPS
1.項(xiàng)目中的網(wǎng)絡(luò)交互都是基于AFN,要求AFN版本在3.0及其以上;????
2.代碼部分??
設(shè)置AFN請求管理者的時(shí)候?添加?https?ssl?驗(yàn)證。??
//?1.獲得請求管理者??
AFHTTPSessionManager?*manager?=?[AFHTTPSessionManager?manager];??
//?2.加上這個(gè)函數(shù),https?ssl?驗(yàn)證。??
[manager?setSecurityPolicy:[self?customSecurityPolicy]];??
?
//?https?ssl?驗(yàn)證函數(shù)??
??-?(AFSecurityPolicy?*)customSecurityPolicy?{??
????
????//?先導(dǎo)入證書???
????NSString?*cerPath?=?[[NSBundle?mainBundle]?pathForResource:@"xxx"?ofType:@"cer"];//證書的路徑??
????NSData?*cerData?=?[NSData?dataWithContentsOfFile:cerPath];??
??????
????//?AFSSLPinningModeCertificate?使用證書驗(yàn)證模式??
????AFSecurityPolicy?*securityPolicy?=?[AFSecurityPolicy?policyWithPinningMode:AFSSLPinningModeCertificate];??
???????//?allowInvalidCertificates?是否允許無效證書(也就是自建的證書),默認(rèn)為NO????
??????
?? ???//validatesDomainName?是否需要驗(yàn)證域名,默認(rèn)為YES;??
?
3.關(guān)于證書
從沃通獲取到HTTPS證書后,會(huì)得到一個(gè)有密碼的壓縮包文件,使用for other server里面的domain.crt的證書文件即可。
后臺(tái)服務(wù)器配置HTTPS證書(Ngnix)
從沃通證書文件壓縮包中,打開其中的for Nginx 文件可以看到 2 個(gè)文件,包括公鑰、私鑰。
打開Nginx安裝目錄下conf目錄中的nginx.conf文件找到
?? #HTTPS server
??? #
???#server {
???#??? listen?????? 443;
???#??? server_name? localhost;
???#??? ssl????????????????? on;
???#??? ssl_certificate??? cert.pem;
???#??? ssl_certificate_key? cert.key;
???#??? ssl_session_timeout? 5m;
???#??? ssl_protocols? SSLv2 SSLv3 TLSv1;
???#??? ssl_ciphers?ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
???#???ssl_prefer_server_ciphers?? on;
???#??? location / {
???#??????? root?? html;
???#??????? index? index.html index.htm;
???#??? }
???#}
?
將其修改為 :
???server {
???????listen?????? 443;
???????server_name? localhost;
???????ssl????????????????? on;
???????ssl_certificate?????sslkey/public.cer;????? (證書公鑰)
???????ssl_certificate_key?????sslkey/private.key;????? (證書私鑰)
???????ssl_session_timeout? 5m;
???????ssl_protocols? TLSv1 TLSv1.1TLSv1.2;
???????ssl_ciphers ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!aNULL:!eNULL;
???????ssl_prefer_server_ciphers?? on;
???????location / {
???????????root?? html;
???????????index? index.html index.htm;
???????}
??? }
?
保存退出,并重啟Nginx。
轉(zhuǎn)載于:https://www.cnblogs.com/caodedi-88/p/6278951.html
總結(jié)
以上是生活随笔為你收集整理的iOS APP配置HTTPS流程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Css--input输入框点击时去掉外框
- 下一篇: mac上使用zsh配置环境变量