IIS客户端证书访问配置
一、???????? 測(cè)試環(huán)境配置... 1<?xml:namespace prefix = o />
1、?????????? win2003系統(tǒng)_1.. 1
1.1.???????? 安裝IIS以承載CA證書(shū)服務(wù)... 1
1.2.???????? 安裝證書(shū)服務(wù),CA的公用名稱設(shè)置為TestCA.. 1
2、?????????? win2003系統(tǒng)_2.. 2
2.1.???????? 安裝IIS.. 2
3、?????????? win2003系統(tǒng)_3.. 2
二、???????? 配置過(guò)程... 3
1、?????????? win2003系統(tǒng)_2申請(qǐng)并配置IIS 的SSL的服務(wù)端證書(shū)... 3
1.1.???????? 生成證書(shū)申請(qǐng)文件... 3
1.2.???????? 提交證書(shū)申請(qǐng)... 8
1.3.???????? 頒發(fā)證書(shū)... 8
1.4.???????? 上安裝證書(shū)... 9
1.5.???????? 將web站點(diǎn)配置為要求 SSL 訪問(wèn)... 11
1.6.???????? 測(cè)試IE使用SSL瀏覽... 11
2、?????????? win2003系統(tǒng)_3申請(qǐng)安裝客戶端證書(shū)ClientCert2003.. 12
3、?????????? 在win2003系統(tǒng)_2上設(shè)置客戶證書(shū)映射... 12
3.1.???????? Web服務(wù)器上導(dǎo)入客戶端證書(shū)... 12
3.2.???????? 導(dǎo)入客戶端證書(shū)的根證書(shū)... 13
3.3.???????? 設(shè)置IIS中網(wǎng)站的客戶端證書(shū)映射... 16
3.4.???????? Web網(wǎng)站讀取客戶端映射的windows賬戶... 18
三、???????? 測(cè)試... 18
?
本文給出了如何配置IIS通過(guò)SSL安全通道進(jìn)行訪問(wèn)的方法,并在此基礎(chǔ)上詳細(xì)討論了IIS如何設(shè)置要求對(duì)客戶端提供客戶端證書(shū)進(jìn)行身份驗(yàn)證。IIS端SSL服務(wù)器證書(shū)申請(qǐng)和安裝,從而配置SSL安全訪問(wèn)通道??蛻舳俗C書(shū)的申請(qǐng)和安裝,IIS端如何映射客戶端證書(shū)到服務(wù)器上的windows賬戶等等。
?
一、? 測(cè)試環(huán)境配置
準(zhǔn)備三臺(tái)機(jī)器,都是windows 2003操作系統(tǒng),每臺(tái)機(jī)器的作用,和其上需要安裝的服務(wù)和配置如下:
1、 win2003系統(tǒng)_1
ip:192.168.1.11
機(jī)器名:win2003base1
服務(wù)器作用:這個(gè)服務(wù)器是用來(lái)安裝證書(shū)服務(wù),作為一個(gè)CA提供證書(shū)服務(wù)。
1.1.?? 安裝IIS以承載CA證書(shū)服務(wù)
1.2.?? 安裝證書(shū)服務(wù),CA的公用名稱設(shè)置為TestCA
在安裝證書(shū)服務(wù)過(guò)程中會(huì)生成一個(gè)證書(shū)服務(wù)的證書(shū),一個(gè)自己頒給自己的證書(shū)作為這個(gè)CA的根證書(shū):
在安裝了證書(shū)服務(wù)后,會(huì)把這個(gè)TestCA證書(shū)保存證書(shū)存儲(chǔ)區(qū)的多個(gè)位置:
l? 本地計(jì)算機(jī)存儲(chǔ)區(qū)中的“個(gè)人”、“受信任的根證書(shū)頒發(fā)機(jī)構(gòu)”、“中級(jí)證書(shū)頒發(fā)機(jī)構(gòu)”,其中在“中級(jí)證書(shū)頒發(fā)機(jī)構(gòu)”下的“證書(shū)”和“證書(shū)吊銷(xiāo)列表”中都有(為什么會(huì)出現(xiàn)在“證書(shū)吊銷(xiāo)列表”中?)。
l? 當(dāng)前用戶存儲(chǔ)區(qū)的“個(gè)人”。
?
2、 win2003系統(tǒng)_2
ip:192.168.1.12
機(jī)器名:win2003base2
服務(wù)器作用:這個(gè)服務(wù)器是用來(lái)作為web server,建立一個(gè)網(wǎng)站,設(shè)置為SSL安全通道訪問(wèn),并需要客戶端證書(shū)進(jìn)行訪問(wèn)。
2.1.?? 安裝IIS
默認(rèn)網(wǎng)站作為測(cè)試客戶端證書(shū)訪問(wèn)的web站點(diǎn)。
?
3、 win2003系統(tǒng)_3
ip:192.168.1.13
機(jī)器名:win2003base3
機(jī)器作用:這個(gè)機(jī)器只是作為一個(gè)單純的IE客戶端,用來(lái)申請(qǐng)客戶端證書(shū)并使用證書(shū)訪問(wèn)web server。
?
?
二、? 配置過(guò)程
1、 win2003系統(tǒng)_2申請(qǐng)并配置IIS 的SSL的服務(wù)端證書(shū)
1.1.?? 生成證書(shū)申請(qǐng)文件
在IIS要訪問(wèn)的那個(gè)網(wǎng)站的屬性中,“目錄安全性”--“服務(wù)器證書(shū)”,選新建證書(shū):
下一步:
下一步:
向?qū)褂卯?dāng)前 Web 站點(diǎn)名稱作為默認(rèn)名稱。它不在證書(shū)中使用,但作為友好名稱以助于管理員識(shí)別。下一步:
單位和部門(mén),這些信息將放在證書(shū)申請(qǐng)中,因此應(yīng)確保它的正確性。CA 將驗(yàn)證這些信息并將其放在證書(shū)中。瀏覽您的 Web 站點(diǎn)的用戶需要查看這些信息,以便決定他們是否接受證書(shū)。下一步:
公用名是證書(shū)最后的最重要信息之一。它是 Web 站點(diǎn)的 DNS 名稱(即用戶在瀏覽您的站點(diǎn)時(shí)鍵入的名稱)。如果證書(shū)名稱與站點(diǎn)名稱不匹配,當(dāng)用戶瀏覽到您的站點(diǎn)時(shí),將報(bào)告證書(shū)問(wèn)題。
如果您的站點(diǎn)在 Web 上并且被命名為 www.contoso.com,這就是您應(yīng)當(dāng)指定的公用名。
如果您的站點(diǎn)是內(nèi)部站點(diǎn),并且用戶是通過(guò)計(jì)算機(jī)名稱瀏覽的,請(qǐng)輸入計(jì)算機(jī)的 NetBIOS 或 DNS 名稱。
這里因?yàn)?/span>win2003系統(tǒng)_2服務(wù)器的機(jī)器名是win2003base2,所以共用名稱設(shè)為win2003base2。
下一步:
下一步:
會(huì)要求證書(shū)申請(qǐng)的文件名,這是您的證書(shū)申請(qǐng)的 Base 64 編碼表示形式。申請(qǐng)中包含輸入到向?qū)е械男畔?#xff0c;還包括您的公鑰和用您的私鑰簽名的信息。
將此申請(qǐng)文件發(fā)送到 CA。然后 CA 會(huì)使用證書(shū)申請(qǐng)中的公鑰信息驗(yàn)證用您的私鑰簽名的信息。CA 也驗(yàn)證申請(qǐng)中提供的信息。
?
當(dāng)您將申請(qǐng)?zhí)峤坏?/span> CA 后,CA 將在一個(gè)文件中發(fā)回證書(shū)。然后您應(yīng)當(dāng)重新啟動(dòng) Web 服務(wù)器證書(shū)向?qū)А?/span>
下一步:
?
完成生成申請(qǐng)過(guò)程。
1.2.?? 提交證書(shū)申請(qǐng)
證書(shū)申請(qǐng)現(xiàn)在可以發(fā)送到 CA 進(jìn)行驗(yàn)證和處理。當(dāng)您從 CA 收到證書(shū)響應(yīng)以后,可以再次使用 IIS 證書(shū)向?qū)?#xff0c;在 Web 服務(wù)器上繼續(xù)安裝證書(shū)。
?
使用“記事本”打開(kāi)在前面的過(guò)程中生成的證書(shū)文件,將它的整個(gè)內(nèi)容復(fù)制到剪貼板。
啟動(dòng) Internet Explorer,導(dǎo)航到 http://192.168.1.11/certsrv,指向win2003系統(tǒng)_1的證書(shū)服務(wù)。
單擊“申請(qǐng)一個(gè)證書(shū)”,然后單擊“下一步”。
在“選擇申請(qǐng)類(lèi)型”頁(yè)中,單擊“高級(jí)申請(qǐng)”,然后單擊“下一步”。
在“高級(jí)證書(shū)申請(qǐng)”頁(yè)中,單擊“使用 Base64 編碼的 PKCS#10 文件提交證書(shū)申請(qǐng)”,然后單擊“下一步”。
在“提交一個(gè)保存的申請(qǐng)”頁(yè)中,單擊“Base64 編碼的證書(shū)申請(qǐng)(PKCS #10 或 #7)”文本框,按住 CTRL+V,粘貼先前復(fù)制到剪貼板上的證書(shū)申請(qǐng)。
單擊“提交”。
1.3.?? 頒發(fā)證書(shū)
提交申請(qǐng)后,在win2003系統(tǒng)_1機(jī)器上證書(shū)頒發(fā)機(jī)構(gòu)中批準(zhǔn)頒發(fā)這個(gè)win2003base2證書(shū)。
確認(rèn)該證書(shū)顯示在“頒發(fā)的證書(shū)”文件夾中,然后雙擊查看它。
在“詳細(xì)信息”選項(xiàng)卡中,單擊“復(fù)制到文件”,將證書(shū)保存為 Base-64 編碼的 X.509 證書(shū)。
關(guān)閉證書(shū)的屬性窗口。
1.4.?? 上安裝證書(shū)
在win2003系統(tǒng)_2在IIS的Web 站點(diǎn),然后單擊“屬性”,單擊“目錄安全性”選項(xiàng)卡。
單擊“服務(wù)器證書(shū)”啟動(dòng) Web 服務(wù)器證書(shū)向?qū)А?/span>
?單擊“處理掛起的申請(qǐng)并安裝證書(shū)”,然后單擊“下一步”。
?輸入包含 CA 響應(yīng)的文件的路徑和文件名,然后單擊“下一步”。
檢查證書(shū)概述,單擊“下一步”,然后單擊“完成”。
現(xiàn)在,已在 Web 服務(wù)器上安裝了證書(shū)。
win2003base2證書(shū)就會(huì)被安裝到win2003系統(tǒng)_2機(jī)器上,證書(shū)會(huì)被安裝到證書(shū)存儲(chǔ)區(qū)的本地計(jì)算機(jī)存儲(chǔ)區(qū)中的“個(gè)人”。
1.5.?? 將web站點(diǎn)配置為要求 SSL 訪問(wèn)
在IIS中查看這個(gè)Web 站點(diǎn)的屬性。 單擊“目錄安全性”選項(xiàng)卡。 單擊“安全通信”下的“編輯”。 單擊“要求安全通道 (SSL)”?,F(xiàn)在客戶端必須使用 HTTPS 瀏覽到此虛擬目錄。
?
1.6.?? 測(cè)試IE使用SSL瀏覽
用IE通過(guò)SSL瀏覽此網(wǎng)站,如下:
?
?
2、 win2003系統(tǒng)_3申請(qǐng)安裝客戶端證書(shū)ClientCert2003
在win2003系統(tǒng)_3機(jī)器上上打開(kāi)win2003系統(tǒng)_1機(jī)器上證書(shū)服務(wù)的URL:http://192.168.1.11/certsrv,提交一個(gè) “Web 瀏覽器證書(shū)”,姓名為“ClientCert2003”。
提交申請(qǐng)后,在win2003系統(tǒng)_1機(jī)器上證書(shū)頒發(fā)機(jī)構(gòu)中批準(zhǔn)頒發(fā)這個(gè)ClientCert2003證書(shū)。
在win2003系統(tǒng)_3機(jī)器上“查看掛起的證書(shū)申請(qǐng)的狀態(tài)”,會(huì)看到整個(gè)證書(shū)申請(qǐng)已被批準(zhǔn),并能夠被安裝。
點(diǎn)擊安裝證書(shū),同樣在安裝過(guò)程中會(huì)提示是否安裝ClientCert2003證書(shū)的根證書(shū)TestCA,選擇安裝。
安裝好證書(shū)后,ClientCert2003證書(shū)就會(huì)被安裝到win2003系統(tǒng)_3機(jī)器上,證書(shū)會(huì)被安裝到證書(shū)存儲(chǔ)區(qū)的當(dāng)前用戶存儲(chǔ)區(qū)中的“個(gè)人”。
同時(shí),ClientCert2003證書(shū)的根證書(shū)TestCA也被安裝,被安裝到了當(dāng)前用戶存儲(chǔ)區(qū)中的 “受信任的根證書(shū)頒發(fā)機(jī)構(gòu)”。
3、 在win2003系統(tǒng)_2上設(shè)置客戶證書(shū)映射
3.1.?? Web服務(wù)器上導(dǎo)入客戶端證書(shū)
在IIS中要映射客戶端的證書(shū)到windows賬戶,必須在IIS所在的服務(wù)器上用這個(gè)客戶端的cer證書(shū)。
在win2003系統(tǒng)_1機(jī)器上證書(shū)頒發(fā)機(jī)構(gòu)中導(dǎo)出客戶端申請(qǐng)后已經(jīng)頒發(fā)的ClientCert2003證書(shū),導(dǎo)出為ClientCert2003.cer
在win2003系統(tǒng)_2機(jī)器上導(dǎo)入這個(gè)證書(shū)到當(dāng)前用戶存儲(chǔ)區(qū)的個(gè)人目錄下。
?
3.2.?? 導(dǎo)入客戶端證書(shū)的根證書(shū)
Web服務(wù)端有了客戶證書(shū),還需要這個(gè)客戶端證書(shū)的根證書(shū),只有在服務(wù)器信任這個(gè)客戶端證書(shū)的根證書(shū)時(shí)客戶端證書(shū)才能正常訪問(wèn)web服務(wù)器。
在證書(shū)管理中雙擊ClientCert2003證書(shū)查看此證書(shū):
可以看到,ClientCert2003的根證書(shū)TestCA在此服務(wù)器上不被信任,需要把TestCA證書(shū)安裝到此服務(wù)器的受信任的根證書(shū)頒發(fā)機(jī)構(gòu)存儲(chǔ)里。
查看此根證書(shū):
點(diǎn)擊“安裝證書(shū)”按鈕,出現(xiàn)證書(shū)導(dǎo)入向?qū)?#xff0c;選擇“將所有的證書(shū)放入下列存儲(chǔ)”,然后點(diǎn)擊“瀏覽”按鈕選擇證書(shū)安裝的存儲(chǔ)區(qū):
選擇把證書(shū)保存到“受信任的根證書(shū)頒發(fā)機(jī)構(gòu)”-“本地計(jì)算機(jī)”。
TestCA證書(shū)導(dǎo)入成功,到證書(shū)管理中查看,發(fā)現(xiàn)TestCA證書(shū)其實(shí)被安裝到兩個(gè)地方,分別是:
l? 證書(shū)當(dāng)前用戶存儲(chǔ)區(qū)的“受信任的根證書(shū)頒發(fā)機(jī)構(gòu)”
l? 證書(shū)本地計(jì)算機(jī)存儲(chǔ)區(qū)的“受信任的根證書(shū)頒發(fā)機(jī)構(gòu)”
3.3.?? 設(shè)置IIS中網(wǎng)站的客戶端證書(shū)映射
在win2003系統(tǒng)_2機(jī)器上IIS中,查看web網(wǎng)站的屬性,導(dǎo)航到“目錄安全性”,首先把所有的身份驗(yàn)證方法都清除:
然后在安全通訊區(qū)域內(nèi),點(diǎn)擊“編輯”按鈕:
?
設(shè)置“要求客戶端證書(shū)”,并選擇“啟用客戶端證書(shū)映射”,最后點(diǎn)擊“編輯”添加ClientCert2003客戶端證書(shū)映射到的本服務(wù)器上的windows賬戶:
由于是測(cè)試,這里把ClientCert2003客戶端證書(shū)映射為administrator
?
3.4.?? Web網(wǎng)站讀取客戶端映射的windows賬戶
在測(cè)試網(wǎng)站中設(shè)計(jì)一個(gè)test.aspx頁(yè)面,用來(lái)讀取當(dāng)前用戶身份并顯示出來(lái),簡(jiǎn)單的下面一條語(yǔ)句:
當(dāng)前證書(shū)映射的用戶是:<% =System.Threading.Thread.CurrentPrincipal.Identity.Name %>
?
三、? 測(cè)試
win2003系統(tǒng)_3是測(cè)試客戶端,已經(jīng)安裝了客戶端證書(shū)ClientCert2003,在win2003系統(tǒng)_3的IE中輸入test.aspx的URL,首先彈出選擇證書(shū)的對(duì)話框:
?
其中ClientCert2003_3證書(shū)是win2003系統(tǒng)_3在證書(shū)服務(wù)器上另外又申請(qǐng)了一個(gè)web瀏覽器證書(shū),跟ClientCert2003是同一個(gè)根證書(shū),當(dāng)瀏覽器中存在跟服務(wù)端相匹配的多個(gè)證書(shū)時(shí),瀏覽器會(huì)彈出上面的對(duì)話框讓用戶選擇使用哪個(gè)證書(shū)。
如果瀏覽器中只有一個(gè)證書(shū)跟服務(wù)器能匹配,則瀏覽器不彈出選擇對(duì)話框,直接把匹配的證書(shū)發(fā)送到服務(wù)端。如果把ClientCert2003_3證書(shū)從win2003系統(tǒng)_3機(jī)器上刪除,訪問(wèn)test.aspx將不會(huì)再出現(xiàn)上面的對(duì)話框。
如果瀏覽器中沒(méi)有證書(shū)跟服務(wù)器匹配,瀏覽器就會(huì)顯示需要提供SSL的客戶端證書(shū)。
?
選擇了ClientCert2003證書(shū),點(diǎn)擊“確定”按鈕:
?
服務(wù)端允許訪問(wèn),并且顯示了映射到的用戶就是WIN2003BASE2\Administrator
?
轉(zhuǎn)載于:https://www.cnblogs.com/chnking/archive/2008/08/18/1270063.html
總結(jié)
以上是生活随笔為你收集整理的IIS客户端证书访问配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 给线程变量pthread_t *thre
- 下一篇: 顺子对百录收录的看法