2016年3月25日 星期五

使用makecert.exe建立憑證以啟用SSL(IIS10)

 

Tool:Visual Studio 2015 Enterprise Update 1、Windows Software Development Kit (SDK) for Windows 10
OS:Windows 10、IIS 10
.NET Framework 4.6.1

在開發階段常常需要測試用的憑證,例如想要啟用SSL功能。在IIS 10管理畫面中,可以利用Server Certificates 的Create Self-Signed Certificate功能,建立自我簽章憑證,以方便開發測試SSL

image

。不過測試的結果發現它所建立的演算法是使用SHA1,因此使用瀏覽器存取到SSL網站時,總出現憑證錯誤訊息。

若要改用別的演算法來建立憑證,我們可以改用微軟出的  Windows Software Development Kit (SDK) for Windows 10 套件中的makecert.exe來產生憑證。

預設套件安裝完,可以在下資料夾找到makecert.exe檔案:

C:\Program Files (x86)\Windows Kits\10\bin\x64

C:\Program Files (x86)\Windows Kits\10\bin\x86

以下的步驟說明如何使用makecert.exe產生測試憑證,安裝到IIS 10,以啟用SSL的功能。

建立憑證

執行命令,建立一個CN為www.mytest.com的憑證,並安裝到憑證存放地:

makecert -r -pe -n "CN=www.mytest.com" -b 01/01/2016 -e 01/01/2020 -eku 1.3.6.1.5.5.7.3.1 -sky exchange -a sha256 -len 2048 -ss my -sr localMachine

使用MMC管理工具檢視憑證,安裝到以下位置:

image

 

IIS管理工具

在IIS管理工具中設Binding

image

新增一個https Binding,設定Host name與 SSL Certificate:

image

將憑證匯出存成 pfx檔

image

MMC管理工具

使用MMC管理工具,將上一步驟匯出的pfx檔案,匯入 Trusted Root Certification Authorities

image

修改host.txt

設定C:\Windows\System32\drivers\etc\host.txt檔案 ,加入一筆記錄:

image

建立測試網站

使用Visual Studio,以https在IIS建立一個Web Site:

image

在網站加入一個HTML測試

image

最後在各瀏覽器測試結果 , 就可以看到網址列的鎖圖示正常顯示,沒有錯誤,IE的畫面:

image

Chrome瀏覽器:

image

Microsoft Edge

image

Firefox會出現錯誤,將此網站加入例外

image

 

image

最後Firefox的執行結果:

image

沒有留言:

總網頁瀏覽量