<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="java.lang.*,java.io.*,sun.misc.BASE64Encoder" %>
<html>
<head>
<title>IE中自动安装根证书</title>
</head><body>IE中使用XEnroll.InstallPKCS7自动安装根数字证书<br/>备注:这里测试的根证书采用Base64编码 X.509格式(CER)<br/>
<%
String strCert = "";
try {  String realPath = this.getClass().getClassLoader().getResource("RootAgency.cer").getPath();File file = new File(realPath);if (!file.exists()) {out.println("<HTML><BODY><P>");out.println("<h2>根证书文件不存在</h2> <br/>");System.out.println(realPath);out.println("</P></BODY></HTML>");out.flush();out.close();}else{FileInputStream fis = null;try {fis = new FileInputStream("D:/xinocom.cer");int len = fis.available();byte[] usercert = new byte[len];fis.read(usercert);fis.close();BASE64Encoder encl = new BASE64Encoder();strCert = encl.encode(usercert);strCert = "-----BEGIN CERTIFICATE-----" + strCert;strCert += "-----END CERTIFICATE-----";System.out.println(strCert);} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}out.print("<textarea rows=\"\" cols=\"\" id = \"mycert\">" + strCert + "</textarea>");}
}catch(Exception e){          out.println("<HTML><BODY><P>");out.println("<h2>读取证书文件出错</h2> <br/>");out.println(e.toString());out.println("</P></BODY></HTML>");out.flush();out.close();
}String Agent = request.getHeader("User-Agent");
StringTokenizer st = new StringTokenizer(Agent,";");
st.nextToken();
String userBrowser = st.nextToken();
String userOS = st.nextToken();
out.println("你的操作系统为:");
out.println(userOS);
String activexLib="XEnroll";//检查是否是Windows Vista,Windows 2008,Windows 7,在Vista,Windows 2008,Windows 7上,需要使用 CertEnroll.dll
//Windows 2008 Server, IE7 User-Agent header: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2;...
//Windows Vista, IE7 User-Agent header: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0;...
//Windows 7,IE8 User-Agent header: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1;...if(userOS.equals("Windows NT 6.0") || userOS.equals("Windows NT 6.1")|| userOS.equals("Windows NT 5.2"))activexLib="CertEnroll";
%><% if(activexLib.equals("XEnroll"))
{ %><object id="XEnroll" classid="clsid:127698e4-e730-4e5c-a2b1-21490a70c8a1" codebase="xenroll.dll"></object><script>document.write("正在安装证书");var enroll = document.getElementById("XEnroll");  var cer = document.getElementById("mycert").innerText;enroll.InstallPKCS7(cer);document.write("<br>证书安装成功");</script>
<% } else {%>//win7没测试过,因为没环境,自己尝试<object id="objCertEnrollClassFactory" classid="clsid:884e2049-217d-11da-b2a4-000e7bbb2b09"></object>    <script>function InstallCert() {        document.write("<br>开始安装");                      try {var certEnroll = document.getElementById("objCertEnrollClassFactory");var objEnroll = certEnroll.CreateObject("X509Enrollment.CX509Enrollment")var cer = document.getElementById("mycert").innerText;objEnroll.Initialize(1); // ContextUserobjEnroll.InstallResponse(4, sPKCS7, 6, ""); // AllowNone = 0, XCN_CRYPT_STRING_BASE64_ANY = 6document.write("<br>证书安装成功");  }catch (ex) {document.write("<br>" + ex.description);return false;}return true;}InstallCert(); </script><% } %>
</body></html>

IE中自动安装根证书相关推荐

  1. web 自动安装ca证书

    以下是自动安装数字证书,其中var cer="........"里边是是数字证书的内容.那么这个内容是如何得到的呢通过以下方法 try {       String realPat ...

  2. IE中自动安装根数字证书

    基本思路: 1.在XP.Windows 2003的IE上,通过XEnroll.dll控件来完成根数字证书的自动安装. 2.在Vista,Windows 2008,Windows 7 的IE上,需要使用 ...

  3. 中铁CA根证书安装不成功的解决办法

    中铁CA根证书安装不成功的解决办法(以下方法为网上找的,第一个方法亲试成功) 解决方案是(win7): 在左下角"开始"里面搜索"服务"(或者打开 " ...

  4. Web主机管理器(WHM)中如何安装SSL证书

    Web主机管理器(WHM)使用一个基于Web的应用程序,可帮助管理Web服务器上的托管账户.在Web主机管理器中如何安装SSL证书? 这里需要先购买SSL证书,选择受信任的CA机构(Digicert. ...

  5. Windows XP 中如何安装 pem 证书

    这里写自定义目录标题 1. Windows XP 中如何安装 pem 证书 1.1. 添加证书进 console 1.2. 添加证书 1. Windows XP 中如何安装 pem 证书 Window ...

  6. 实现手机安装根证书(系统证书)和使用drony 解决普通代理部分应用不能抓包的问题

    说明 Android证书分为"用户证书"和"系统证书"两种,在设置->安全->"查看安全证书"列表中,可以看到"系统& ...

  7. android不设密码装证书,安卓4.0不设置锁屏安装根证书教程

    Android 4.0 已经支持用户安装根证书了,只需要将根证书放到sdcard根目录,然后到设置(Settings) – 安全(Security) – 从存储设备安装(Install from st ...

  8. macbook安装根证书

    本文介绍了苹果电脑 MacOS 安装根证书相关的知识,希望对你有一定的参考价值.macbook安装根证书 当前以10.13.5版本为例,其余的mac版本请自行测试. macbook安装根证书1.打开钥 ...

  9. c# 自动安装X509证书\windows安装X509证书\端口绑定ssl\服务端开启ssl

    证书可以购买或者使用openssl.exe工具生成. 一. 首先我这里使用openssl.exe生成自认证证书 openssl.exe genrsa -des3 -out private-rsa.ke ...

最新文章

  1. sublime text3 怎么配置、运行python_【IT专家】Sublime Text3配置在可交互环境下运行python快捷键...
  2. 更改日期为英文_如何在 Linux 上检查所有用户密码到期日期 | Linux 中国
  3. 中原银行张本晨:中原银行数字化营销体系建设实践
  4. c#自动更新+安装程序的制作
  5. OEL6.1下oracle 11gr2 ASM安装
  6. 后序遍历二叉树(迭代 vs 递归)
  7. 一份阿里员工排查程序问题的命令列表
  8. 史上超强图像处理开源工具包--ImageMagick
  9. Git 连接码云 上传本地项目
  10. python-can库基于PCAN-USB使用方法
  11. xyz坐标转换ybc_GNSS仰角和方位角的计算及代码,XYZ转BLH坐标的代码及原理
  12. 万年历程序中十二生肖排列顺序及算法
  13. 猿人学web端爬虫攻防大赛赛题解析_第七题:动态字体,随风漂移
  14. python scipy拟合曲线optimize.curve_fit 50例
  15. 2021-2027全球与中国天然眼部卸妆产品市场现状及未来发展趋势
  16. 数据结构串之寻找整数
  17. Kria K26 SOM 在 KV260 开发板上的使用
  18. Eclipse的快捷键设置及使用
  19. javascript实现页面倒计时
  20. 参加2020Jam初赛记录与部分题目解答

热门文章

  1. 新手指南:到国外域名注册商注册域名
  2. ARCGIS中坐标转换及地理坐标、投影坐标的定义(转载)
  3. 习题 7.4 在上题的基础上,编写一个函数input,用来输入5个学生的数据。
  4. 邮箱容量满了怎么办?我的邮箱容量快满了如何解决?
  5. 字节跳动日常实习一二三面面经(后端开发)
  6. 13-新手小白如何选购笔记本电脑?
  7. dpkg-checkbuilddeps: error: Unmet build dependencies: libtest-mockmodule-perl
  8. oracle 考试资料,Oracle考试复习题
  9. Python——时间与时间戳之间的转换
  10. 2022年武汉专精特新小巨人企业奖励补贴以及申报条件汇总