OpenSSL安裝版證書生成,IIS10.0配置SSL證書(小白篇)
阿新 • • 發佈:2019-02-04
以下是個人根據網路上資源一步步整理的,由於根據參考的部落格沒能實現生成SSL證書,所以重新寫了篇部落格,工具安裝包文章中也都有下載。。如果錯誤歡迎指教,第一次弄這個,各位見笑了。
一:安裝IIS
1.安裝步驟:控制面板-->程式-->
啟用或關閉windows功能-->
勾選internet information Services
2.測試:在瀏覽器位址列中輸入地址 http://localhost 回車,如果正確出現相關頁面則安裝成功
二:OpenSSL安裝及生成證書:
1.下載地址:http://slproweb.com/products/Win32OpenSSL.html,找到Download Win32 OpenSSL目錄中的Win64 OpenSSL v1.1.0e Light安裝包下載。(由於官方下載連結中沒找到可用的安裝版本,都是需要經過編譯之後才能使用,所以在此第三方網站中進行下載)
2.安裝,使用預設路徑:C:\OpenSSL-Win64 。一路next下來完成安裝
3.準備工作:
3). 在demoCA資料夾中新建檔案:index.txt、index.txt.attr、serial(無後綴)。並在serial檔案中輸入兩個字元 01
4.使用OpenSSL命令生成證書(執行安裝路徑中=資料夾bin中的openssl.exe檔案)
4.1).首先生成伺服器端私鑰(key檔案)
命令列:OpenSSL> genrsa -des3 -out server.key 1024
執行後會提示輸入密碼:Enter pass phrase for server.key: 並且輸入過程無顯示,輸入後直接enter確定即可密碼設為123456方便記憶
以後每當需讀取此檔案(通過openssl提供的命令或API)都需輸入口令.如果覺得不方便,也可以去除這個口令,但一定要採取其他的保護措施!
去除key檔案口令:
命令列:OpenSSL> rsa -in server.key -out server.key
4.2).生成伺服器csr檔案
命令列:OpenSSL> req -new -key server.key -out server.csr -config openssl.cnf
生成的csr檔案交給CA簽名後形成服務端自己的證書.螢幕上將有提示,依照其指示一步一步輸入要求的個人資訊即可.
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN //中國
State or Province Name (full name) [Some-State]:zhejiang //省份
Locality Name (eg, city) []:hangzhou //地區
Organization Name (eg, company) [Internet Widgits Pty Ltd]:shuding //機構
Organizational Unit Name (eg, section) []:dashuju //部門
Common Name (e.g. server FQDN or YOUR name) []:server //名字
Email Address []: //可不輸入
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: //可不輸入
An optional company name []: //可不輸入
4.3).生成客戶端私鑰key檔案和csr檔案
命令列:OpenSSL> genrsa -des3 -out client.key 1024 //根據提示同上客戶端的操作
OpenSSL> rsa -in client.key -out client.key //去除key檔案口令
OpenSSL> req -new -key client.key -out client.csr -config openssl.cnf //根據提示同上伺服器的操作 (個人資訊要保持一致)
4.4).製作CA檔案(CSR檔案必須有CA的簽名才可形成證書)
命令列:OpenSSL> req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf //根據提示同上伺服器的操作 (個人資訊要保持一致)
4.5).用生成的CA的證書為剛生成的server.csr,client.csr檔案簽名:
命令列:OpenSSL> ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf //有出現選項則選y
OpenSSL> ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openssl.cnf //同上
4.6).把生成的.crt格式證書轉換為.pfx格式(Apache使用的SSL證書是.crt格式,如果使用windows主機的iis服務,則不能直接使用此證書,需要要將.crt格式的證書轉換成.pfx格式)
命令列:OpenSSL> pkcs12 -export -out server.pfx -inkey server.key -in server.crt
OpenSSL> pkcs12 -export -out client.pfx -inkey client.key -in client.crt
OpenSSL> pkcs12 -export -out ca.pfx -inkey ca.key -in ca.crt
備註:
1.若製作CA檔案或用CA給檔案簽名時出錯: failed to update database
TXT_DB error number 2
error in ca
則修改demoCA下的index.txt.attr,將unique_subject = yes改為unique_subject = no 。
2.客戶端、伺服器和CA的國家,省份,地區等資訊都必須一致,不然後面給.csr檔案簽名會報錯
----現在可以在安裝目錄的bin資料夾中看到生成的幾個證書:ca.pfx、client.pfx、server.pfx。
三:IIS配置伺服器證書
1.windows搜尋框輸入iis 並右鍵以管理員執行IIS伺服器
2.雙擊左側連線欄的頂級目錄DESKTOP-SOVQOAH,然後在主頁中IIS項下選擇伺服器證書,雙擊開啟
3.在伺服器證書頁中,右側單擊匯入,在彈出的對話方塊中選擇OpenSSL生成的伺服器證書檔案(注:必須勾選允許匯出此證書)
4.在左側連線欄中右鍵單擊網站,選擇新增網站(根據提示資訊選擇自己需要設定為HTTPS的網站,下面以預設的Default Web Site來講)
5.右鍵單擊Defaut Web Site 選中編輯繫結,彈出的對話方塊中點選右側的新增
6.根據提示選擇型別為Https,IP地址預設未分配,埠預設443.主機名可不選,點選確定,然後關閉繫結對話方塊
7.雙擊左側的Defaut Web Site,在其主頁中雙擊選中SSL設定
8.在SSL設定頁面中勾選 要求SSL,客戶證書選擇忽略。然後單擊右側操作欄中的啟動按鈕
9.在位址列中輸入 https://localhost 回車,測試是否出現相關頁面(若提示連結不安全等,則可新增例外,繼續瀏覽網頁)
tag-----------------------若上述測試成功
10:在IIS管理器中,進入Default Web Site的SSL設定頁面,將客戶證書選中為必須,然後單擊右側操作欄中的啟動按鈕
11:在位址列中輸入 https://localhost 回車,測試是否出現相關頁面
---->>正常提示:HTTP 錯誤 403.7 - Forbidden
您嘗試訪問的頁面要求您的瀏覽器具有該 Web 伺服器可識別的安全套接字層(SSL)客戶證書
12此時,我們應該匯入客戶端證書(以firefox瀏覽器為例)
1).開啟選單-->選項-->高階-->檢視證書-->您的證書-->匯入 (證書管理器視窗)
2).在開啟的檔案瀏覽視窗中選中OpenSSL生成的客戶端證書,然後點選開啟。匯入完成
13:在位址列中輸入 https://localhost 回車,測試是否出現相關頁面
---->>若提示: HTTP 錯誤 403.16 - Forbidden
您的客戶證書不受信任或無效。
原因:因為證書頒發機構的根證書不是 IIS Web 伺服器上的受信任根證書頒發機構證書儲存中,將出現此問題。
在 IIS Web 伺服器上,在受信任的根證書頒發機構證書儲存中安裝證書頒發機構的根證書。若要執行此操作,請執行以下步驟:
1).單擊開始,在開始搜尋框中鍵入 mmc.exe,右鍵單擊 mmc.exe,然後單擊以管理員身份執行
2).在檔案選單上,單擊新增/刪除管理單元
3).在可用的管理單元下,單擊證書,然後單擊新增
4).單擊計算機帳戶,然後單擊下一步
5).單擊本地計算機,單擊完成,然後單擊關閉
6).要退出嚮導,請單擊確定
7).展開證書、受信任的根證書頒發機構,右鍵單擊證書,指向所有任務,然後單擊匯入
8).在證書匯入嚮導中,單擊下一步
9).在檔名框中,鍵入證書頒發機構的根證書的位置,然後單擊下一步
10).單擊下一步,然後單擊完成
11).同時在瀏覽器的管理器視窗中(同上面12.1步驟進入)的證書機構項中匯入OpenSSL生成的自簽名CA證書
14:在位址列中輸入 https://localhost 回車,測試是否成功
tag--------------------------------最後一步我也未成功,報錯我客戶端證書無效不受信任,不知道是不是瀏覽器本身對於第三方自簽名證書的就不受信任???我用的是firefox和chrome,都不行。。。求高手指點