前提:
先安裝openssl,安裝有兩種方式,第一種直接下載安裝包,裝上就可運行;第二種可以自己下載源碼,自己編譯。這里推薦第一種。
安裝包:http://slproweb.com/products/Win32OpenSSL.html
源碼地址:https://github.com/openssl/openssl
看需要下載安裝即可。
鏈接: https://pan.baidu.com/s/1pLBAabL 密碼: kcbc
搭建步驟:
一、生成1024位的key
輸入:
openssl genrsa -out d:\ssl.key 2048
其中,d\ssl.key為文件的存放地址,2048為長度。
二、生成cer證書
輸入:
openssl req -new -x509 -key d:\ssl.key -out d:\ssl.cer -days 3650 -subj /CN=www.domain.com
ddl.key為之前生成的key的名字,ssl.cer為生成的證書,3650為證書過期天數,CN的參數www.domain.com為你的計算機名,任意。
注意:這里的cer證書不能直接給iOS使用。
三、生成IIS需要的PFX私鑰文件
輸入:
openssl pkcs12 -export -out d:\ssl.pfx -inkey d:\ssl.key -in d:\ssl.cer
注意:這里生成就是iOS中的P12文件,此文件直接提供給iOS使用。
這里也是指定pfx文件的路徑。
此時會提示輸入一個新密碼,因為iis在導入時會要求驗證密碼,注意:這里輸入密碼是沒有任何提示的,所以直接輸入即可。
四、在IIS上導入pfx證書
添加站點時選擇https,然后指定ssl證書
這里的站點可以指定自定義的端口,而不一定是443,同時一個站點也可以綁定多個端口,包括http的80等。
五、測試效果
第一次訪問的時候是受限的,只要允許訪問即可。
六、iOS使用
將上面生成pfx文件直接給iOS客戶端,在Mac電腦上導入,並按提示輸入剛才設置的密碼,然后再導出cer文件,最后將這個在Mac下導出的cer文件引入到iOS項目,這個才能正常。
注意:這個就是所謂的自簽名證書。
iOS使用自簽名證書不一定能通過上架,還在測試中,如果不可行,希望告知一下。
七、其它參考
http://www.cnblogs.com/Persue-A-Good-Life/p/4040988.html
http://www.cnblogs.com/bobliu/archive/2012/08/05/2590694.html
http://blog.csdn.net/mygrilzhuyulin/article/details/50663473
http://blog.csdn.net/boss666666/article/details/10284649
http://blog.csdn.net/houjixin/article/details/25806151
http://blog.csdn.net/f2004/article/details/45842287
(iOS參考)https://github.com/fengling2300/networkTest(使用時,請將AF升級到3.0使用)(鏈接: http://pan.baidu.com/s/1c2aIHGG 密碼: 6tpr)
八、總結
證書概念真的很多,參考:http://www.cnblogs.com/EasonJim/p/6291539.html
而且生成證書的方式也非常多,參考:http://www.cnblogs.com/EasonJim/p/6291587.html。