IE中自动安装根数字证书
上一篇日志中介绍了tomcat+openssl实现双向认证,但第6步需要用户手工将个人证书及根证书手工导入到IE中去。这里介绍一种自动导入根证书到IE中去的方法。
  • 只自动导入根证书,在原有那篇文章的基础上不需要做什么改动,直接读出根证书内容即可实现。
  • 即自动导入根证书,又要自动导入个人证书,这种情况下,创建证书请求的工作要交给IE控件完成。
微软的ICEnroll接口中提供了createPKCS10acceptPKCS7方法来创建证书,安装证书功能。在ICEnroll3接口中提供了InstallPKCS7,可以使用它来安装根证书。

只自动导入根证书。

  1. <%   
  2.     StringTokenizer st = null;   
  3.     String line = null;   
  4.   
  5.     // ------------------------------------------------------------- 返回CA证书内容 >>>   
  6.     String server_cert = "开始用openssl生成的根证书内容";   
  7.     if (StringUtils.isBlank(server_cert)) {   
  8.         throw new BusinessException("读取CA证书失败");   
  9.     }   
  10.   
  11.     // 这里的这些操作,是为了生成vbscript中证书内容的变量定义   
  12.     String pkcs7ca = "sPKCS7ca=\"\" & vbcrlf\r\n";   
  13.     st = new StringTokenizer(server_cert, "\r\n");   
  14.   
  15.     while (st.hasMoreTokens()) {   
  16.         line = st.nextToken();   
  17.         if (line.equals("\r\n"))   
  18.             continue;   
  19.         pkcs7ca += "sPKCS7ca=sPKCS7ca & \"" + line + "\" & vbcrlf\r\n";   
  20.     }   
  21. %>   
  22.   
  23. <OBJECT id=XEnroll codeBase=xenroll.dll classid=clsid:127698e4-e730-4e5c-a2b1-21490a70c8a1></OBJECT>   
  24.   
  25. <SCRIPT type=text/vbscript>   
  26.     ON ERROR resume next   
  27.     <%=pkcs7ca%>   
  28.     XEnroll.InstallPKCS7 sPKCS7ca   
  29.     If err.number = 438 then   
  30.         msgbox err.description & err.number   
  31.     Elseif err.number <> 0 then   
  32.         msgbox err.description & err.number   
  33.     Else   
  34.         msgbox "根证书安装成功"  
  35.     End If   
  36. </SCRIPT>  
 

本文相关评论|Comments

 

发表该文评论|Send Comment