原創|使用教程|編輯:龔雪|2013-12-17 09:55:05.000|閱讀 1484 次
概述:在iOS中使用自簽名SSL證書時,常常會收到瀏覽器關于站點的安全警告。如何設置iOS才能避免接收此類警告呢?在上文中,我們講到了不要在移動Safari中接受自簽名證書的原因以及安裝自簽名證書作為iOS的配置參數文件的優勢。在下文中,我們接著來看在iOS中創建及使用自簽名SSL證書還應該注意哪些。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在IIS中創建自簽名證書似乎很容易——只需選擇“Create Self-Signed Certificate”菜單項就行了:
值得注意的是,IIS是使用計算機名作為證書中的主機名的:
而在大多數情況下,計算機名與你預想的主機名是不匹配的,這將會導致你的自簽名證書不能被信任, 即使把它添加到iOS中:
通過從IIS6工具箱安裝和運行SelfSSL工具這個問題可以解決。不過,接下來這個使用OpenSSL的方法或許更容易。
創建自簽名證書,其中一個最簡單的方法就是使用,這個方法適用于大多數平臺,且它在Mac OSX上是默認安裝的。
首先創建一個私人秘鑰文件:
openssl genrsa -out myselfsigned.key 2048
然后:創建自簽名證書:
openssl req -new -x509 -key myselfsigned.key -out myselfsigned.cer -days 365 -subj /CN=www.mysite.com
你可以使用任意文件名作為密鑰和證書(.cer)文件的文件名。/ CN參數需根據所需主機名(例如上面例子中的//www.mysite.com)來設置。days參數指定過期日,從今天開始算起。
如果你不想下載OpenSSL的話,有一個網站可以幫你做:Self-Signed Certificate Generator,不過,自己做當然是最安全的。
在Apache服務器上,密鑰和證書文件可以直接在SSL配置中使用。而在IIS中你需要一個PFX文件,以便將證書導入到IIS的服務器證書部分。 OpenSSL也可以為你創建PFX文件:
openssl pkcs12 -export -out myselfsigned.pfx -inkey myselfsigned.key -in myselfsigned.cer
使用自簽名證書的一個問題是,你需要在每個設備上為每個證書設置信任關系。避開這個麻煩的一個方法就是創建你自己的認證機構(CA)根證書,然后基于它來創建證書。
你可以購買一個商業CA來創建SSL證書,然而你也可以自己充當自己的CA。自己創建認證機構的優勢在于:你自定義的CA證書在每個設備上只需安裝一次。設備會根據你的根CA證書自動信任你發出的任何證書。
創建CA證書只需兩步,首先仍是創建一個私人秘鑰:
openssl genrsa -out myCA.key 2048
然后創建證書:
openssl req -x509 -new -key myCA.key -out myCA.cer -days 730 -subj /CN="My Custom CA"
上面創建的證書文件(myCA.cer)可公開分享,也可安裝到iOS或其他操作系統中作為受信任根CA證書的一個嵌入。自定義的CA證書在iOS中保存在General->Settings->Profile下:
私人秘鑰文件(myCA.key)只在創建新的SSL證書時才會使用。
基于這個CA證書,你可以根據需要創建任意數量的證書。這里還有一個步驟,就是創建一個CSR(客戶端簽名請求),正如你購買一個商業SSL證書一樣。
首先創建一個私人秘鑰:
openssl genrsa -out mycert1.key 2048
然后創建CSR:
openssl req -new -out mycert1.req -key mycert1.key -subj /CN=www2.mysite.com
再使用CSR來創建證書:
openssl x509 -req -in mycert1.req -out mycert1.cer -CAkey myCA.key -CA myCA.cer -days 365 -CAcreateserial -CAserial serial
創建的證書(mycert.cer)可以安裝在Web服務器上,且能從任何安裝了該CA證書的iOS設備進行訪問。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網