網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據資源、信息資源、知識資源、專家資源、大型數據庫、網絡、傳感器等。 當前的互聯網只限于信息共享,網絡則被認為是互聯網發展的第三階段。 微軟的xenroll中有一個接口acceptpkcs7提供了證書的安裝功能,本文將為您講述如何通過該接口實現在web上自動安裝用戶證書及根證書,并提供部分實例代碼。 一、證書的安裝 微軟的xenroll中有一個接口acceptpkcs7提供了證書的安裝功能。具體的參數如下: HRESULT acceptPKCS7(BSTR PKCS7) 其中參數pkcs7就是經過base64編碼的證書。 如果要在web頁中安裝證書,過程如下: 1、初始化xenroll.dll 在html代碼中加入 <OBJECT id=XEnroll classid=clsid:127698e4-e730-4e5c-a2b1-21490a70c8a1 codebase="xenroll.dll"> </OBJECT> 2、讀證書 證書可以從LDAP或數據庫中讀取,這不是我們的主題,所以在這里略過。有關細節可以參看本站的LDAP等主題。 3、調用acceptPKCS7接口 代碼示例如下: on error resume next sPKCS7 = 你取到證書內容 err.clear XEnroll.AcceptPkcs7(sPKCS7) if err.Number <> 0 then if err.number = -2146885628 then MsgBox "系統中已經存在該證書,或證書不是在這臺機器申請的" else MsgBox "證書下載時出錯,錯誤號="&err.description end if else MsgBox "證書已成功裝入" end if 說明:只有在本機生成的證書請求才可以這樣安裝證書。 二、根證書的安裝 微軟的xenroll中的另外一個接口acceptpkcs7提供了根證書的安裝功能。具體的參數如下: [ c++]HRESULT InstallPKCS7(BSTR PKCS7) [ vb ]Sub InstallPKCS7( ByVal PKCS7 As String ) 其中參數pkcs7就是經過base64編碼的根證書,如果要在web頁中安裝證書,過程和安裝用戶證書一樣。 1、在asp如何自動下載并安裝根證書 注://開頭的為注解 <html> <object id="XEnroll" classid="clsid:127698e4-e730-4e5c-a2b1-21490a70c8a1" codebase="xenroll.dll"></object> <script Language="VBScript"> ON ERROR resume next XEnroll.InstallPKCS7 sPKCS7 If err.number = 438 then msgbox "install root certificate fail ." Elseif err.number <> 0 then msgbox "install root certificate fail ." Else msgbox "install root certificate success ." End if window.close() </script> </html> 其中do while...loop的目的就是想生成一段vbscript代碼,生成的結果如下: sPKCS7="" sPKCS7=sPKCS7 & "-----BEGIN CERTIFICATE-----" & vbcrlf sPKCS7=sPKCS7 & "MIICMjCCAZugAwIBAgIBATANBgkqhkiG9w0BAQUFADAUMRIwEAYDVQQKEwlIWWRy" & vbcrlf sPKCS7=sPKCS7 & "b2luZm8wHhcNMDQwNDExMDczMzI0WhcNMzQwNDA0MDczMzI0WjAUMRIwEAYDVQQK" & vbcrlf ...... ...... sPKCS7=sPKCS7 & "BQADgYEAjYHzQkIp1dE5zyPcrybDvpoT/MmMcZ3q7GANncp9Kq8b0Bj0It8kPPyN" & vbcrlf sPKCS7=sPKCS7 & "JPit6rmgErPqPdj789Sr1H7/XjY+tuBJLV1idDPlqV44b3rBk/8GjYmTmLuDOYBI" & vbcrlf sPKCS7=sPKCS7 & "XKqIEuO50QNJIdinCsCRyZ8h9O/VDTyMH4VUQsJ3YdZk2w3PrwU=" & vbcrlf sPKCS7=sPKCS7 & "-----END CERTIFICATE-----" & vbcrlf 2、在php如何自動下載并安裝根證書 首先也要取到證書,假如放在變量$cert中。 這樣只需要將asp中生成sPKCS字符串部分替換成下面這段代碼就可以了,生成的新內容在$newcert中。 $newcert = "sPKCS7=\"\"\r\n"; $line=strtok($cert,"\r\n"); while($line) { $newcert=$newcert." sPKCS7=sPKCS7 & \"".$line."\" & vbcrlf\r\n"; $line=strtok("\r\n"); } echo $newcert; ?> 三、installPKCS7與acceptPKCS7的不同 1、InstallPKCS7可以安裝證書鏈 2、在ICEnroll3中第一次出現 網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發展,這正是網絡迅速走向進步的催化劑。 |
溫馨提示:喜歡本站的話,請收藏一下本站!