一.準備工作
申請一個 SSL 證書 ,可在沃通WoSign網(wǎng)站申請所需SSL證書類型。SSL證書按驗證的類別可分:
DV SSL證書(域名驗證型):只驗證域名所有權,適合個人網(wǎng)站、博客等站點使用;
OV SSL證書(企業(yè)驗證型):驗證網(wǎng)站所屬單位身份,適合企業(yè)級用戶使用;
EV SSL證書(擴展驗證型):擴展驗證網(wǎng)站所屬單位身份,這種證書在瀏覽器中會顯示醒目的綠色地址欄,可信度最高,適合需要用戶高度信任的企業(yè)級用戶使用。
根據(jù)域名數(shù)量和域名類型選擇對應的證書。
二.AFN配置HTTPS
1.項目中的網(wǎng)絡交互都是基于AFN,要求AFN版本在3.0及其以上;
2.代碼部分
設置AFN請求管理者的時候 添加 https ssl 驗證。
// 1.獲得請求管理者
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
// 2.加上這個函數(shù),https ssl 驗證。
[manager setSecurityPolicy:[self customSecurityPolicy]];
// https ssl 驗證函數(shù)
- (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。
由此轉載http://jingyan.baidu.com/article/1709ad806d5eba4634c4f088.html