為便于大家掌握,以下介紹采用最簡單的工作環(huán)境(見圖1),即:Web服務器Windows2000AdvancedServer作為操作系統(tǒng);認證中心則在此基礎上增加了“證書頒發(fā)機構(gòu)”組件,IP地址為10.15.11.13,證書頒發(fā)策略為“立即頒發(fā)”;瀏覽器用IE4.0或IE5.0,服務器放在Intranet上,通過網(wǎng)絡頒發(fā)數(shù)字證書。假設要實現(xiàn)安全Web的站點名為默認站點Myweb.
一、數(shù)字證書的取得與管理
(一)生成申請Web站點數(shù)字證書的文件
本操作在Web服務器端進行。具體步驟是:
1.啟動Web服務器的“Internet信息服務”
2.在“Internet信息服務”中,右擊Myweb站點名,選擇快捷菜單的“屬性”命令,出現(xiàn)“Myweb屬性”對話框;
3.單擊“Myweb屬性”對話框中“目錄安全性”頁標簽,再單擊“服務器證書”按鈕。
4.在“IIS證書向?qū)А睂υ捒蛑,按提示,依次選擇“創(chuàng)建一個新證書”,“現(xiàn)在準備請求,但稍候發(fā)送”等,設置有關(guān)屬性,將最后的證書申請以文本文件保存,假設文件名為:E:\\certreq.txt.
5.最后單擊“完成”即可
(二)生成服務器證書
首先,將證書申請文件內(nèi)容復制到剪切板。方法是,用記事本打開E:\\certreq.txt,查看申請文件內(nèi)容?梢钥吹竭@是一個純文本文件,以PKCS#10編碼格式保存,首尾兩行為申請的開始與結(jié)束。選擇“編輯/全選”,再選擇“編輯/復制”即可。
然后生成服務器證書。緊接前一步,在Web服務器端依次執(zhí)行:
1.啟動IE,在地址欄打入命令:http://10.15.11.13/certsrv;
2.選擇“申請證書”,單擊“下一步”;
3.選擇申請類型為“高級申請”,單擊“下一步”;
4.選擇第2項“使用Base64編碼的PKCS#10文件提交一個證書申請,或使用Base64編碼的PKCS#7文件更新證書申請”,單擊“下一步”;
5.右擊中間“Base64編碼證書申請”右邊的編輯框,選擇快捷菜單項“粘貼”,將證書申請內(nèi)容粘貼進去(見圖2);
圖2(略)
6.單擊“提交”按鈕,則完成申請功能。
7.由于認證中心的證書頒發(fā)策略為立即頒發(fā),因此很快,CA中心就會將證書頒發(fā)給你,屏幕上顯示“您申請的證書已發(fā)布給您”,你可以“下載CA證書及CA證書路徑”等提示(見圖3);
圖3(略)
8.選擇“Base64編碼”,單擊對應的顯示,將證書以mywebcert.cer為文件名保存在桌面上。
(三)安裝服務器證書
再進入到“myweb屬性”對話框中,單擊“服務器證書”,在“IIS證書向?qū)А睂υ捒蛑,按提示操作即可安裝服務器證書。其中要求:
1.選擇“處理掛起的請求并安裝證書”;
2.輸入證書文件名時,單擊“瀏覽”,選擇桌面上的文件“mywebcert”(即存放剛才生成的服務器證書的文件),單擊“打開”,直到出現(xiàn)“完成”對話框時,單擊“完成”按鈕即完成證書安裝。
(四)查看并備份服務器證書
接上一步,單擊“myweb屬性”對話框中的“查看證書”按鈕,將顯示服務器的證書,顯示內(nèi)容略。在“證書”對話框中單擊“詳細信息”頁,再單擊“復制到文件”將該證書以文件名mywebcert.pfx保存在桌面上。注意文件的擴展名表示“個人信息交換”證書文件,與前面不同,文件保存了證書的公鑰與私鑰。
二、設置“安全通信”屬性
接上一步,單擊myweb屬性對話框中的“編輯”按鈕,選中“申請安全通道”與“申請客戶證書”(見圖4),再單擊“確定”。
圖4(略)
這表示客戶瀏覽器查看Myweb站點的內(nèi)容時,必須申請安全通道。要申請安全通道,客戶端必須擁有本服務器信任的證書,否則不允許客戶瀏覽。并且必須在地址欄打入https開頭,而不是Http,進行SSL的安全通信。具體操作過程略。
如果允許客戶決定與web服務器通信加密,或不加密通信,則設置為“接收客戶證書”。
除此之外,還可以對證書信任列表進行設置,本文略。
三、ASP與安全web站點有關(guān)的對象與方法
(一)Session對象
Session是訪問者從到達某個特定主頁到離開為止的那段時間,每個訪問者都會單獨獲得一個session.這是一個內(nèi)置對象。其中屬性Session.SessionID可作為一個用戶session的惟一標識。我們一般設置普遍信息非加密瀏覽,敏感信息要求加密通信,例如一個電子商務網(wǎng)站,登記注冊時要求加密通信,注冊后察看一般產(chǎn)品時用非加密通信,而要輸入信用卡時,又要用加密通信。為此,我們只要將兩類信息在web站點下面分目錄存放,其中非加密瀏覽的目錄取消其“目錄安全性”的“申請安全通道”復選框即可,方法類同2. ASP用Response.RedirectURL,將瀏覽器在不同的目錄網(wǎng)頁之間轉(zhuǎn)換。同時,檢測Session對象的SessionID屬性,只要它是一樣的,Web服務器就知道還是同一個用戶瀏覽。
(二)客戶證書集
客戶證書可以通過Request對象來檢測,所有與該Web站點通信的客戶證書的信息存儲在集合Request.ClientCertficate(key[SubField])中。
對于Key,該集合具有如下的關(guān)鍵字:
1.Subject證書的主題。包含所有關(guān)于證書收據(jù)的信息,能和所有的子域后綴一起使用;
2.Issuer證書的發(fā)行人。包含所有關(guān)于證書驗證的信息,除了CN外,能和所有的子域后綴一起使用;
3.ValidFrom證書發(fā)行的日期,使用VBScript格式;
4.ValidUntel證書有效截止日期;
5.Seria1Number證書的序列號;
6.Certificate整個證書內(nèi)容的二進制流,使用ASN.1格式。
對于Subfield,Subject和Issuer關(guān)鍵字可以具有如下的子域后綴:(比如SubjectOU或IssuerL)
C表示國家,O表示公司或組織名稱,OU表示組織單元,CN表示用戶的常規(guī)名稱,L表示局部,S表示州(或。,T表示個人或公司的標題,GN表示給定名稱,I表示初始。
當文件cervbs.inc(VBScript使用)或cerjavas.inc(Jscript使用)通過使用#INCLUDE包含在你的Active Server Page里時,下面兩個標志可以使用:
ceCertPresent指明客戶證書是否存在,其值為TRUE或FALSE.
CeUnrecongnizedIssure指明在該鏈表中的最后的證書的發(fā)行者是否未知,其值為TRUE或FALSE.
(三)服務器環(huán)境變量中與證書有關(guān)的變量
由環(huán)境變量的集合Request.ServerVaribles檢測,可以通過使用HTTP前綴來讀取任何頭信息。與服務器證書有關(guān)的信息,可以使用下列變量獲得。
AUTHPASSWORD當使用基本驗證模式時,客戶在密碼對話框中輸入的密碼。
AUTHTYPE這是用戶訪問受保護的腳本時,服務器用于檢驗用戶的驗證方法。
AUTHUSER代驗證的用戶名。
CERTCOOKIE唯一的客戶證書ID號
CERTFLAG客戶證書標志,如有客戶端證書,則bit0為0.如果客戶端證書驗證無效,bit1被設置為1.
CERTISSUER用戶證書中的發(fā)行者字段。
CERTKEYSIZE安全套接字層連接關(guān)鍵字的位數(shù)。如128.
CERTSECRETKEYSIZE服務器驗證私人關(guān)鍵字的位數(shù)。如1024.
CERTSERIALNUMBER客戶證書的序列號字段。
CERTSERVERISSUER服務器證書的發(fā)行者字段。
CERTSERVERSUBJECT服務器證書的主題字段。
CERTSUBJECT客戶端證書的主題字段。
HTTPS如果請求穿過安全通道(SSL),則返回ON.如果請求來自非安全通道,則返回OFF.
HTTPSKEYSIZE安全套接字層連接關(guān)鍵字的位數(shù),如128.
HTTPSSECRETKEYSIZE服務器驗證私人關(guān)鍵字的位數(shù),如1024.
HTTPSSERVERISSUER服務器證書的發(fā)行者字段。
HTTPSSERVERSUBJECT服務器證書的主題字段。
相關(guān)熱詞: Windows200