网页安装证书是怎么实现的? 页面上有个链接,点一下就能在本地安一个证书,这是怎么实现的?单纯的下载? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在web上如何自动安装用户证书及根证书微软的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 nextsPKCS7 = 你取到证书内容err.clearXEnroll.AcceptPkcs7(sPKCS7)if err.Number <> 0 thenif err.number = -2146885628 thenMsgBox "系统中已经存在该证书,或证书不是在这台机器申请的"elseMsgBox "证书下载时出错,错误号="&err.descriptionend ifelseMsgBox "证书已成功装入"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 nextXEnroll.InstallPKCS7 sPKCS7If err.number = 438 thenmsgbox "install root certificate fail ."Elseif err.number <> 0 thenmsgbox "install root certificate fail ."Elsemsgbox "install root certificate success ."End ifwindow.close()</script></html> 其中do while...loop的目的就是想生成一段vbscript代码,生成的结果如下: sPKCS7=""sPKCS7=sPKCS7 & "-----BEGIN CERTIFICATE-----" & vbcrlfsPKCS7=sPKCS7 & "MIICMjCCAZugAwIBAgIBATANBgkqhkiG9w0BAQUFADAUMRIwEAYDVQQKEwlIWWRy" & vbcrlfsPKCS7=sPKCS7 & "b2luZm8wHhcNMDQwNDExMDczMzI0WhcNMzQwNDA0MDczMzI0WjAUMRIwEAYDVQQK" & vbcrlf............sPKCS7=sPKCS7 & "BQADgYEAjYHzQkIp1dE5zyPcrybDvpoT/MmMcZ3q7GANncp9Kq8b0Bj0It8kPPyN" & vbcrlfsPKCS7=sPKCS7 & "JPit6rmgErPqPdj789Sr1H7/XjY+tuBJLV1idDPlqV44b3rBk/8GjYmTmLuDOYBI" & vbcrlfsPKCS7=sPKCS7 & "XKqIEuO50QNJIdinCsCRyZ8h9O/VDTyMH4VUQsJ3YdZk2w3PrwU=" & vbcrlfsPKCS7=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中第一次出现 一个Hibernate使用存储过程的示例报错!请帮助检查! 为什么我的tomcat不能安装成功? 求Hibernate和Spring的视频教程 用JAVA开发新闻发布系统的几个问题!!! 寻求Excel和SQL数据库表互导的JAVA例子或代码 hibernate的异常。什么原因? 线程相关,别笑 急切求助:xml+xsl做表单提交,乱码问题!! 使用java开发桌面应用可以使用那些数据库?请指教。 不同的.ear部署后,可以共享session值吗 关于Java开发的程序国际化的问题。 关于表单设计器
<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
elseMsgBox "证书已成功装入"
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 nextXEnroll.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中第一次出现