iOS APP配置HTTPS流程
您的APP啟用HTTPS了嗎?距離2017年1月1日"蘋果iOS強制要求HTTPS連接"還有不到1個月的時間,是否支持HTTPS直接影響APP能否在蘋果商店順利上架。本文將幫助您更快實施HTTPS!
?
工具/原料
- Ngnix服務器+域名
- SSL證書
方法/步驟
準備工作
申請一個 SSL 證書?,可在沃通WoSign網站申請所需SSL證書類型。SSL證書按驗證的類別可分:
DV SSL證書(域名驗證型):只驗證域名所有權,適合個人網站、博客等站點使用;
OV SSL證書(企業驗證型):驗證網站所屬單位身份,適合企業級用戶使用;
EV SSL證書(擴展驗證型):擴展驗證網站所屬單位身份,這種證書在瀏覽器中會顯示醒目的綠色地址欄,可信度最高,適合需要用戶高度信任的企業級用戶使用。?
根據域名數量和域名類型選擇對應的證書。
AFN配置HTTPS
1.項目中的網絡交互都是基于AFN,要求AFN版本在3.0及其以上;????
2.代碼部分??
設置AFN請求管理者的時候?添加?https?ssl?驗證。??
//?1.獲得請求管理者??
AFHTTPSessionManager?*manager?=?[AFHTTPSessionManager?manager];??
//?2.加上這個函數,https?ssl?驗證。??
[manager?setSecurityPolicy:[self?customSecurityPolicy]];??
?
//?https?ssl?驗證函數??
??-?(AFSecurityPolicy?*)customSecurityPolicy?{??
????
????//?先導入證書???
????NSString?*cerPath?=?[[NSBundle?mainBundle]?pathForResource:@"xxx"?ofType:@"cer"];//證書的路徑??
????NSData?*cerData?=?[NSData?dataWithContentsOfFile:cerPath];??
??????
????//?AFSSLPinningModeCertificate?使用證書驗證模式??
????AFSecurityPolicy?*securityPolicy?=?[AFSecurityPolicy?policyWithPinningMode:AFSSLPinningModeCertificate];??
???????//?allowInvalidCertificates?是否允許無效證書(也就是自建的證書),默認為NO????
??????
?? ???//validatesDomainName?是否需要驗證域名,默認為YES;??
?
3.關于證書
從沃通獲取到HTTPS證書后,會得到一個有密碼的壓縮包文件,使用for other server里面的domain.crt的證書文件即可。
后臺服務器配置HTTPS證書(Ngnix)
從沃通證書文件壓縮包中,打開其中的for Nginx 文件可以看到 2 個文件,包括公鑰、私鑰。
打開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。
轉載于:https://www.cnblogs.com/caodedi-88/p/6278951.html
總結
以上是生活随笔為你收集整理的iOS APP配置HTTPS流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Css--input输入框点击时去掉外框
- 下一篇: mac上使用zsh配置环境变量