HTTPS構建(轉)

生成證書申請

此過程建立一個新的證書申請,此申請可發送到證書頒發機構 (CA) 進行處理。若是成功,CA 將給您發回一個包含有效證書的文件。
生成證書申請
1.
啓動 IIS Microsoft 管理控制檯 (MMC) 管理單元。
2.
展開 Web 服務器名,選擇要安裝證書的 Web 站點。
3.
右鍵單擊該 Web 站點,而後單擊「屬性」。
4.
單擊「目錄安全性」選項卡。
5.
單擊「安全通訊」中的「服務器證書」按鈕,啓動 Web 服務器證書嚮導。
注意:若是「服務器證書」不可用,多是由於您選擇了虛擬目錄、目錄或文件。返回第 2 步,選擇 Web 站點。
6.
單擊「下一步」跳過歡迎對話框。
7.
單擊「建立一個新證書」,而後單擊「下一步」。
8.
該對話框有如下兩個選項:
「如今準備申請,但稍後發送」
該選項老是可用的。
「當即將申請發送到在線證書頒發機構」
僅當 Web 服務器能夠在配置爲頒發 Web 服務器證書的 Windows 2000 域中訪問一個或多個 Microsoft 證書服務器時,該選項纔可用。在後面的申請過程當中,您有機會從列表中選擇將申請發送到的頒發機構。
單擊「如今準備申請,但稍後發送」,而後單擊「下一步」。
9.
在「名稱」字段中鍵入證書的描述性名稱,在「位長」字段中鍵入密鑰的位長,而後單擊「下一步」。
嚮導使用當前 Web 站點名稱做爲默認名稱。它不在證書中使用,但做爲友好名稱以助於管理員識別。
10.
在「組織」字段中鍵入組織名稱(例如 Contoso),在「組織單位」字段中鍵入組織單位(例如「銷售部」),而後單擊「下一步」。
注意:這些信息將放在證書申請中,所以應確保它的正確性。CA 將驗證這些信息並將其放在證書中。瀏覽您的 Web 站點的用戶須要查看這些信息,以便決定他們是否接受證書。
11.
在「公用名」字段中,鍵入您的站點的公用名,而後單擊「下一步」。
重要說明:公用名是證書最後的最重要信息之一。它是 Web 站點的 DNS 名稱(即用戶在瀏覽您的站點時鍵入的名稱)。若是證書名稱與站點名稱不匹配,當用戶瀏覽到您的站點時,將報告證書問題。
若是您的站點在 Web 上而且被命名爲 www.contoso.com,這就是您應當指定的公用名。
若是您的站點是內部站點,而且用戶是經過計算機名稱瀏覽的,請輸入計算機的 NetBIOS 或 DNS 名稱。
12.
在「國家/地區」、「州/省」和「城市/縣市」等字段中輸入正確的信息,而後單擊「下一步」。
13.
輸入證書申請的文件名。
該文件包含相似下面這樣的信息。
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIDZjCCAs8CAQAwgYoxNjA0BgNVBAMTLW1penJvY2tsYXB0b3Aubm9ydGhhbWVy...
-----END NEW CERTIFICATE REQUEST-----
這是您的證書申請的 Base 64 編碼表示形式。申請中包含輸入到嚮導中的信息,還包括您的公鑰和用您的私鑰簽名的信息。
將此申請文件發送到 CA。而後 CA 會使用證書申請中的公鑰信息驗證用您的私鑰簽名的信息。CA 也驗證申請中提供的信息。
當您將申請提交到 CA 後,CA 將在一個文件中發回證書。而後您應當從新啓動 Web 服務器證書嚮導。
14.
單擊「下一步」。該向導顯示證書申請中包含的信息概要。
15.
單擊「下一步」,而後單擊「完成」完成申請過程。
證書申請如今能夠發送到 CA 進行驗證和處理。當您從 CA 收到證書響應之後,能夠再次使用 IIS 證書嚮導,在 Web 服務器上繼續安裝證書。
提交證書申請
此過程使用 Microsoft 證書服務提交在前面的過程當中生成的證書申請。
提交證書申請
1.
使用「記事本」打開在前面的過程當中生成的證書文件,將它的整個內容複製到剪貼板。
2.
啓動 Internet Explorer,導航到 http://hostname/CertSrv,其中 hostname 是運行 Microsoft 證書服務的計算機的名稱。
3.
單擊「申請一個證書」,而後單擊「下一步」。
4.
在「選擇申請類型」頁中,單擊「高級申請」,而後單擊「下一步」。
5.
在「高級證書申請」頁中,單擊「使用 Base64 編碼的 PKCS#10 文件提交證書申請」,而後單擊「下一步」。
6.
在「提交一個保存的申請」頁中,單擊「Base64 編碼的證書申請(PKCS #10 或 #7)」文本框,按住 CTRL+V,粘貼先前複製到剪貼板上的證書申請。
7.
在「證書模板」組合框中,單擊「Web 服務器」。
8.
單擊「提交」。
9.
關閉 Internet Explorer。

頒發證書

頒發證書
1.
從「管理工具」程序組中啓動「證書頒發機構」工具。
2.
展開您的證書頒發機構,而後選擇「掛起的申請」文件夾。
3.
選擇剛纔提交的證書申請。
4.
在「操做」菜單中,指向「全部任務」,而後單擊「頒發」。
5.
確認該證書顯示在「頒發的證書」文件夾中,而後雙擊查看它。
6.
在「詳細信息」選項卡中,單擊「複製到文件」,將證書保存爲 Base-64 編碼的 X.509 證書。
7.
關閉證書的屬性窗口。
8.
關閉「證書頒發機構」工具。

在 Web 服務器上安裝證書

此過程在 Web 服務器上安裝在前面的過程當中頒發的證書。
在 Web 服務器上安裝證書
1.
若是 Internet 信息服務還沒有運行,則啓動它。
2.
展開您的服務器名稱,選擇要安裝證書的 Web 站點。
3.
右鍵單擊該 Web 站點,而後單擊「屬性」。
4.
單擊「目錄安全性」選項卡。
5.
單擊「服務器證書」啓動 Web 服務器證書嚮導。
6.
單擊「處理掛起的申請並安裝證書」,而後單擊「下一步」。
7.
輸入包含 CA 響應的文件的路徑和文件名,而後單擊「下一步」。
8.
檢查證書概述,單擊「下一步」,而後單擊「完成」。
如今,已在 Web 服務器上安裝了證書。

將資源配置爲要求 SSL 訪問

此過程使用 Internet 服務管理器,將虛擬目錄配置爲要求 SSL 訪問。您能夠爲特定的文件、目錄或虛擬目錄要求使用 SSL。客戶端必須使用 HTTPS 協議訪問全部這類資源。
將資源配置爲要求 SSL 訪問
1.
若是 Internet 信息服務還沒有運行,則啓動它。
2.
展開您的服務器名稱和 Web 站點。(這必須是已安裝證書的 Web 站點)
3.
右鍵單擊某個虛擬目錄,而後單擊「屬性」。
4.
單擊「目錄安全性」選項卡。
5.
單擊「安全通訊」下的「編輯」。
6.
單擊「要求安全通道 (SSL)」。
如今客戶端必須使用 HTTPS 瀏覽到此虛擬目錄。
7.
單擊「肯定」,而後再次單擊「肯定」關閉「屬性」對話框。
8.
關閉 Internet 信息服務。
如何設置客戶端證書
• 獲取並安裝客戶端證書。

• 建立一個須要客戶端證書的 ASP.NET Web 應用程序。
適用範圍
本章適用於如下產品和技術:
• Microsoft® Windows® XP 或 Windows 2000 Server (Service Pack 3) 以及更高版本的操做系統

• Microsoft Internet 信息服務 (IIS) 5.0

• Microsoft 證書服務(若是您須要生成本身的證書)

• Microsoft .NET Framework 版本 1.0 (Service Pack 2) 以及更高版本

• Microsoft Visual C#® .NET

如何使用本章內容
若要學好本章內容:
• 您必須具備使用 Visual C# .NET 和 Microsoft Visual Studio® .NET 的經驗。

• 您必須具備使用 ASP.NET 開發 Web 應用程序的經驗。

• 您必須有配置 IIS 的經驗。

• 若是您想生成新的客戶端證書,則必須可以訪問某個證書頒發機構 (CA),如 Microsoft 證書服務。

• 若是您不但願生成本身的證書,則必須決定將從哪一個商業證書頒發機構申請客戶端證書。某些證書頒發機
構 (CA) 會就此服務收費。

• 您必須具備一臺安裝了 SSL 證書的 Web 服務器。有關詳細信息,請參見如何在 Web 服務器上設置 SSL


• 要了解客戶端證書與其餘身份驗證形式之間的相同與差別之處,請參見第 2 章 ASP.NET 應用程序的安全
模型。

摘要
客戶端證書爲 Web 應用程序提供了一種很是好的身份驗證機制。瀏覽器或其餘客戶端應用程序必須先提供
有效的身份驗證,而後才能得到應用程序訪問權限,這使得客戶端沒必要提供用戶名和密碼。所以,在建立供
其餘客戶端應用程序訪問的安全 Web 服務時,客戶端的證書就顯得特別有用。
本章詳細介紹如何獲取和安裝客戶端證書,並演示瞭如何建立須要客戶端證書的 Web 應用程序。

建立一個簡單的 Web 應用程序
在此過程當中,您將建立一個供測試用的簡單 Web 應用程序。
• 建立一個簡單的 Web 應用程序
1.
啓動 Visual Studio .NET 並建立一個新的名爲 SecureApp 的 Visual C# ASP.NET Web 應用程序。

2.
從工具箱中將一個標籤控件拖放到 WebForm1.aspx Web 窗體上,而後將其 ID 屬性設置爲 message。

3.
再拖放一個標籤至 WebForm1.aspx 窗體上,而後將其 ID 屬性設置爲 certData。

4.
將下面的代碼添加到 Page_Load 事件過程當中。
string username;
username = User.Identity.Name;
message.Text = "Welcome " + username;
HttpClientCertificate cert = Request.ClientCertificate;
if (cert.IsPresent)
{
certData.Text = "檢索到客戶端證書";
}
else
{
certData.Text = "無客戶端證書";
}

5.
在「生成」菜單上,單擊「生成解決方案」。

6.
啓動 Internet Explorer 並導航至
http://localhost/SecureApp/WebForm1.aspx
頁面應該顯示「歡迎」消息(不顯示用戶名,由於用戶還沒有通過身份驗證)和「沒有客戶端證書」。

7.
關閉 Internet Explorer。


將 Web 應用程序配置爲須要客戶端證書
此過程使用 Internet 信息服務 (IIS) 將 Web 應用程序的虛擬目錄配置爲須要證書。
本過程假設您在 Web 服務器上安裝了有效的證書。有關安裝 Web 服務器證書的詳細信息,請參見如何在
Web 服務器上設置 SSL。
• 將 Web 應用程序的虛擬目錄配置爲須要證書
1.
在 Web 服務主機上啓動 IIS。

2.
導航到 SecureApp 虛擬目錄。

3.
右鍵單擊 SecureApp,而後單擊「屬性」。

4.
單擊「目錄安全性」選項卡。

5.
單擊「安全通訊」下的「編輯」。
若是沒法使用「編輯」,則可能沒有安裝 Web 服務器證書。

6.
選擇「要求安全通道 (SSL)」複選框。

7.
選擇「須要客戶端證書」選項。

8.
單擊「肯定」,而後再單擊「肯定」。

9.
在「繼承覆蓋」對話框中,單擊「全選」,而後單擊「肯定」關閉「SecureApp 屬性」對話框。
這會將新的安全設置應用於虛擬根目錄下的全部子目錄。

10.
要確認 Web 站點已正確配置,啓動 Internet Explorer 並(使用 HTTPS)瀏覽到
https://localhost/secureapp/webform1.aspx

11.
Internet Explorer 顯示「客戶身份驗證」對話框,要求您選擇一個客戶端證書。由於您還沒有安裝客戶端
證書,因此單擊「肯定」,確認顯示通知您頁面須要客戶端證書的錯誤頁面。

12.
關閉 Internet Explorer。


申請並安裝客戶端證書
此過程安裝客戶端證書。您可使用由任何證書頒發機構頒發的證書,也可按照後面幾節所述使用
Microsoft 證書服務來生成本身的證書。
此過程假設 Microsoft 證書服務是爲掛起的申請配置的,這要求管理員專門頒發證書。它也能夠配置爲應
證書申請自動頒發證書。
• 檢查證書申請狀態設置
1.
在 Microsoft 證書服務計算機上,從「管理工具」程序組中選擇「證書頒發機構」。

2.
展開「證書頒發機構(本地)」,右鍵單擊證書頒發機構並單擊「屬性」。

3.
單擊「策略模塊」選項卡,而後單擊「配置」。

4.
檢查默認操做。
如下過程假設選中了「將證書申請狀態設成待定。管理員必須專門頒發證書」。


• 申請客戶端證書
1.
啓動 Internet Explorer 並導航至
http://hostname/certsrv ,其中 hostname 是安裝 Microsoft 證書
服務的計算機的名稱。

2.
單擊「申請一個證書」,而後單擊「下一步」。

3.
在「選擇申請類型」頁上,單擊「用戶證書」,而後單擊「下一步」。

4.
單擊「提交」完成申請。

5.
關閉 Internet Explorer。


• 頒發客戶端證書
1.
從「管理工具」程序組中啓動「證書頒發機構」工具。

2.
展開您的證書頒發機構,而後選擇「掛起的申請」文件夾。

3.
選擇剛提交的證書申請,指向「操做」菜單上的「全部任務」,而後單擊「頒發」。

4.
確認該證書顯示在「頒發的證書」文件夾中,而後雙擊查看它。

5.
在「詳細信息」選項卡上,單擊「複製到文件」將證書保存爲 Base-64 編碼的 X.509 證書。

6.
關閉證書的屬性窗口。

7.
關閉證書頒發機構工具。


• 安裝客戶端證書
1.
要查看證書,啓動 Windows 資源管理器,導航至在前一過程當中保存的 .cer 文件,而後雙擊它。

2.
單擊「安裝證書」,而後在「證書導入嚮導」的首頁單擊「下一步」。

3.
選擇「根據證書類型,自動選擇證書存儲區」,而後單擊「下一步」。

4.
單擊「完成」以完成該向導。關閉確認消息框,而後單擊「肯定」關閉證書。


驗證客戶端證書操做
此過程驗證您是否可使用客戶端證書訪問 SecureApp 應用程序。
• 驗證客戶端證書操做
1.
啓動 Internet Explorer 並導航至
https://localhost/secureapp/webform1.aspx

2.
確認 Web 頁成功顯示。


 
備註:
一、不要改變端口號,在你的站點中。二、申請服務端證書是要經過:高級申請三、申請時是什麼名稱,用時也必須用什麼名稱。好比申請時用jumpworknet 則用時不能用192.168.160.11或localhost。以消除第三個錯誤。四、能夠經過兩種方式去掉第一的錯誤:把服務器的站點加入到客戶端,二是把服務端的受信任的根證書拷到客戶端進行證書的導入。
相關文章
相關標籤/搜索