IE中自动安装根证书
<%@ 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中自动安装根证书相关推荐
- web 自动安装ca证书
以下是自动安装数字证书,其中var cer="........"里边是是数字证书的内容.那么这个内容是如何得到的呢通过以下方法 try { String realPat ...
- IE中自动安装根数字证书
基本思路: 1.在XP.Windows 2003的IE上,通过XEnroll.dll控件来完成根数字证书的自动安装. 2.在Vista,Windows 2008,Windows 7 的IE上,需要使用 ...
- 中铁CA根证书安装不成功的解决办法
中铁CA根证书安装不成功的解决办法(以下方法为网上找的,第一个方法亲试成功) 解决方案是(win7): 在左下角"开始"里面搜索"服务"(或者打开 " ...
- Web主机管理器(WHM)中如何安装SSL证书
Web主机管理器(WHM)使用一个基于Web的应用程序,可帮助管理Web服务器上的托管账户.在Web主机管理器中如何安装SSL证书? 这里需要先购买SSL证书,选择受信任的CA机构(Digicert. ...
- Windows XP 中如何安装 pem 证书
这里写自定义目录标题 1. Windows XP 中如何安装 pem 证书 1.1. 添加证书进 console 1.2. 添加证书 1. Windows XP 中如何安装 pem 证书 Window ...
- 实现手机安装根证书(系统证书)和使用drony 解决普通代理部分应用不能抓包的问题
说明 Android证书分为"用户证书"和"系统证书"两种,在设置->安全->"查看安全证书"列表中,可以看到"系统& ...
- android不设密码装证书,安卓4.0不设置锁屏安装根证书教程
Android 4.0 已经支持用户安装根证书了,只需要将根证书放到sdcard根目录,然后到设置(Settings) – 安全(Security) – 从存储设备安装(Install from st ...
- macbook安装根证书
本文介绍了苹果电脑 MacOS 安装根证书相关的知识,希望对你有一定的参考价值.macbook安装根证书 当前以10.13.5版本为例,其余的mac版本请自行测试. macbook安装根证书1.打开钥 ...
- c# 自动安装X509证书\windows安装X509证书\端口绑定ssl\服务端开启ssl
证书可以购买或者使用openssl.exe工具生成. 一. 首先我这里使用openssl.exe生成自认证证书 openssl.exe genrsa -des3 -out private-rsa.ke ...
最新文章
- sublime text3 怎么配置、运行python_【IT专家】Sublime Text3配置在可交互环境下运行python快捷键...
- 更改日期为英文_如何在 Linux 上检查所有用户密码到期日期 | Linux 中国
- 中原银行张本晨:中原银行数字化营销体系建设实践
- c#自动更新+安装程序的制作
- OEL6.1下oracle 11gr2 ASM安装
- 后序遍历二叉树(迭代 vs 递归)
- 一份阿里员工排查程序问题的命令列表
- 史上超强图像处理开源工具包--ImageMagick
- Git 连接码云 上传本地项目
- python-can库基于PCAN-USB使用方法
- xyz坐标转换ybc_GNSS仰角和方位角的计算及代码,XYZ转BLH坐标的代码及原理
- 万年历程序中十二生肖排列顺序及算法
- 猿人学web端爬虫攻防大赛赛题解析_第七题:动态字体,随风漂移
- python scipy拟合曲线optimize.curve_fit 50例
- 2021-2027全球与中国天然眼部卸妆产品市场现状及未来发展趋势
- 数据结构串之寻找整数
- Kria K26 SOM 在 KV260 开发板上的使用
- Eclipse的快捷键设置及使用
- javascript实现页面倒计时
- 参加2020Jam初赛记录与部分题目解答
热门文章
- 新手指南:到国外域名注册商注册域名
- ARCGIS中坐标转换及地理坐标、投影坐标的定义(转载)
- 习题 7.4 在上题的基础上,编写一个函数input,用来输入5个学生的数据。
- 邮箱容量满了怎么办?我的邮箱容量快满了如何解决?
- 字节跳动日常实习一二三面面经(后端开发)
- 13-新手小白如何选购笔记本电脑?
- dpkg-checkbuilddeps: error: Unmet build dependencies: libtest-mockmodule-perl
- oracle 考试资料,Oracle考试复习题
- Python——时间与时间戳之间的转换
- 2022年武汉专精特新小巨人企业奖励补贴以及申报条件汇总