首 页
┆
源码下载
┆
IT学院
┆
字体下载
┆
模板下载
┆
源码发布
┆
广告合作
┆
网站地图
►
设为首页
►
加入收藏
►
联系我们
源码下载
>>
ASP源码
|
PHP源码
|
ASP.net源码
|
JSP源码
|
CGI源码
|
VC/C++源码
|
VB源码
|
Delphi源码
|
Flash源码
文章学院
>>
网络编程
|
网页设计
|
图形图象
|
数据库
|
服务器
|
网络媒体
|
网络安全
|
操作系统
|
办公软件
|
软件开发
|
黑客知识
字体下载
>>
精制字体
|
非英字体
|
艺术字体
|
著名字体
|
哥特式
|
简单字体
|
手写体
|
节假日
|
图案字体
|
精度像素
|
中文字体
模板下载
>>
企业门户
|
数码网络
|
休闲娱乐
|
影视音乐
|
旅游名胜
|
文化艺术
|
电子商务
|
个性展示
|
登陆导航
|
Flash模板
源码搜索
文章搜索
字体搜索
模板搜索
►►
您当前的位置:
源码园
→
IT学院
→
网络安全
→
基础知识
→ 文章内容
在web上如何自动安装用户证书及根证书
作者:郁郁小蝎 来源:中国站长学院 发布时间:2007-2-8 19:08:18
微软的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中第一次出现
[] [
返回上一页
] [
打 印
]
上一篇文章:
Win XP网络连接中常出现的问题及解决方法
下一篇文章:
排除四款常用软件的“假死”现象
相关文章:
在web上如何自动安装用户证书及根证书
在Web Service中使用ASP.net状态保持(6)
在Web Service中使用ASP.net状态保持(5)
在Web Service中使用ASP.net状态保持(4)
在Web Service中使用ASP.net状态保持(3)
在Web Service中使用ASP.net状态保持(2)
在Web Service中使用ASP.net状态保持(1)
在webshell基础上伪造SQL注入点--webshell,基础上,伪...
[组图]
在WEB程序中隐藏后门--WEB,程序,隐藏后门
[图文]
在Web界面下如何生成像资源管理器一样的树形目...
把数据库连接信息写在web.config文件里
关于数据绑定在Web页面呈现效果的一点小技巧
关于本站
-
网站帮助
-
广告合作
-
下载声明
-
友情连接
-
网站地图
-
源码发布
Copyright © 2003-2009
Ymyasp
.Com
. All Rights Reserved .
备案序号:粤ICP备07029071号