以下是自动安装数字证书,其中var cer=“........”里边是是数字证书的内容。那么这个内容是如何得到的呢通过以下方法
try {  
    String realPath = this.getClass().getClassLoader().getResource("RootAgency.cer").getPath();
    System.out.println();
    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:/RootAgency.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();
}
然后通过 var cer = document.getElementById("mycert").innerText;

注明:|| userOS.equals("Windows NT 5.2")网上资料 是在win7系统或者vista系统的。但是本人试验windows2003 是userOS.equals("Windows NT 5.2")

注明:如果放在liferay的jsp  中,会报错,原因是 Agent = request.getHeader("User-Agent"); 没有值,那么怎么得到呢 ?通过以下方法:
写在java文件中  然后把 userOS作为参数转递到jsp中就不会出错误了
public class XXXXXXAction extends PortletAction {

public ActionForward render(ActionMapping mapping, ActionForm form, PortletConfig config,
RenderRequest request, RenderResponse response)
throws Exception{
String Agent = ((com.liferay.portlet.PortletRequestImpl)request).getHttpServletRequest().getHeader("user-agent");
StringTokenizer st = new StringTokenizer(Agent,";");
st.nextToken();
String userBrowser = st.nextToken();//浏览器
String userOS = st.nextToken();//操作系统
     }
}

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="java.lang.*,java.io.*,sun.misc.BASE64Encoder" %>
<html>
<head>
<title>IE中自动安装根证书</title>
</head>
<object id="objCertEnrollClassFactory" classid="clsid:884e2049-217d-11da-b2a4-000e7bbb2b09"></object>    
    <script type="text/javascript">
 
    function InstallCertwin7() 
    {

try {
            var certEnroll = document.getElementById("objCertEnrollClassFactory");
         //   alert(certEnroll);
            var objEnroll = certEnroll.CreateObject("X509Enrollment.CX509Enrollment")
            var cer = "-----BEGIN CERTIFICATE-----MIIByjCCAXSgAwIBAgIQBjdsAKoAZIoRz7jUqlw19DANBgkqhkiG9w0BAQQFADAWMRQwEgYDVQQD EwtSb290IEFnZW5jeTAeFw05NjA1MjgyMjAyNTlaFw0zOTEyMzEyMzU5NTlaMBYxFDASBgNVBAMT C1Jvb3QgQWdlbmN5MFswDQYJKoZIhvcNAQEBBQADSgAwRwJAgVUiuYqkb+3W59lmD1W8183VvE5A AiGisfeHMIVe0vJEudybdbb7Rl9Ctp0jNgveVA/NvR+ZKhBYEctAy7WnQQIDAQABo4GeMIGbMFAG A1UEAwRJE0dGb3IgVGVzdGluZyBQdXJwb3NlcyBPbmx5IFNhbXBsZSBTb2Z0d2FyZSBQdWJsaXNo aW5nIENyZWRlbnRpYWxzIEFnZW5jeTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEU MBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwDQYJKoZIhvcNAQEEBQADQQAt Lj57iUKJP6ghF/rw9cOV22JpW8ncwbP68MRvb2SavecbJWhyg2e9VrCNAb0q98xLvYeluocgTEIR Qa0QFzuM-----END CERTIFICATE-----";
          
            objEnroll.Initialize(1); // ContextUser
           // objEnroll.InstallResponse(4, sPKCS7, 6, ""); // AllowNone = 0, XCN_CRYPT_STRING_BASE64_ANY = 6
         objEnroll.InstallResponse(4, cer, 6, "");
            document.write("<br>证书安装成功");  
        }
        catch (ex) {
            document.write("<br>" + ex.description);
            return false;
        }

return true;
    }

</script>
<script>
      function InstallCertwindows() 
    { 
     // document.write("正在安装证书xp");
      try
      {
      var enroll = document.getElementById("XEnroll");  
      alert(enroll);
       var cer = "-----BEGIN CERTIFICATE-----MIIByjCCAXSgAwIBAgIQBjdsAKoAZIoRz7jUqlw19DANBgkqhkiG9w0BAQQFADAWMRQwEgYDVQQD EwtSb290IEFnZW5jeTAeFw05NjA1MjgyMjAyNTlaFw0zOTEyMzEyMzU5NTlaMBYxFDASBgNVBAMT C1Jvb3QgQWdlbmN5MFswDQYJKoZIhvcNAQEBBQADSgAwRwJAgVUiuYqkb+3W59lmD1W8183VvE5A AiGisfeHMIVe0vJEudybdbb7Rl9Ctp0jNgveVA/NvR+ZKhBYEctAy7WnQQIDAQABo4GeMIGbMFAG A1UEAwRJE0dGb3IgVGVzdGluZyBQdXJwb3NlcyBPbmx5IFNhbXBsZSBTb2Z0d2FyZSBQdWJsaXNo aW5nIENyZWRlbnRpYWxzIEFnZW5jeTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEU MBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwDQYJKoZIhvcNAQEEBQADQQAt Lj57iUKJP6ghF/rw9cOV22JpW8ncwbP68MRvb2SavecbJWhyg2e9VrCNAb0q98xLvYeluocgTEIR Qa0QFzuM-----END CERTIFICATE-----";
    
       enroll.InstallPKCS7(cer);
      document.write("<br>证书安装成功");
      }
      catch (ex) {
            document.write("<br>" + ex.description);
            return false;
        }
      }
</script>
<body>

IE自动安装根数字证书<br/><br/>
<%     
String strCert = "";

//

//可以在此位置获取数字证书的内容,上边的代码复制过来即可

//

String Agent="";
 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";
if(userOS.indexOf("Windows NT 6.0")>-1 || userOS.indexOf("Windows NT 6.1")>-1)
{

activexLib="CertEnroll";
    }
 
%>

<% if(activexLib.equals("XEnroll")) 
{ %>
    <object id="XEnroll" classid="clsid:127698e4-e730-4e5c-a2b1-21490a70c8a1" codebase="xenroll.dll"></object>
    <table>
<tr>
<td>
 <input name="tijiao" id="tijiao" type="button" value=" 下载证书windows " style="cursor:hand" onClick="InstallCertwindows();" >
</td>
</tr>
</table>
<% } else {%>

<object id="objCertEnrollClassFactory" classid="clsid:884e2049-217d-11da-b2a4-000e7bbb2b09"></object>    
    <table>
<tr>
<td>
 <input name="tijiao" id="tijiao" type="button" value=" 下载证书 win7" style="cursor:hand" onClick="InstallCertwin7();" >
</td>
</tr>
</table>

<% } %>
</body>

</html>

<% } %>
</div>
</body>

</html>

web 自动安装ca证书相关推荐

  1. 如何自动安装CA证书

    原帖:http://blog.csdn.net/superdiablo/archive/2009/03/14/3990484.aspx 安装CA证书手工双击运行证书文件即可,但是中间会弹出一些确认对话 ...

  2. 安装CA证书服务的一系列过程

    安装CA证书服务的过程 打开一台server 2008服务器以及一台普通客户机win 7虚拟机. 下面是server 2008上面的IP地址和DNS地址的配置. 下面这是win 7上面的IP配置一定要 ...

  3. eap wifi 证书_如何以编程方式在Android中安装CA证书(用于EAP WiFi配置)?

    我的目标:在Android programmitcally中创建一个EAP WiFi配置 - 包括CA证书 . 问题:如何以编程方式安装CA证书(然后在EAP WiFi配置中引用该证书)? 但是,假设 ...

  4. eap方法 华为手机怎么连wifi_如何以编程方式在Android中安装CA证书(用于EAP WiFi配置)?...

    我的目标: 在 Android programmitcally中创建EAP WiFi配置 – 包括CA证书. 问题: 如何以编程方式安装CA证书(然后在EAP WiFi配置中引用该证书)? 但是,这假 ...

  5. IE中自动安装根证书

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...

  6. linux自动生成证书,linux shell自动创建ca证书脚本linux操作系统 -电脑资料

    在linux下创建证书大概是大多数人很头疼的事情,今天我在网上搜到个不错的shell自动创建ca证书的脚本,来分享给大家. 脚本内容:代码如下复制代码 #!/bin/bash # Author: MO ...

  7. Android11小黄鸟安装CA证书以及解决抓包没网问题

    目录 安装CA证书 解决没网 解决没有system读写权限 安装CA证书 首先没有CA证书是这个样子的 1 准备一个MT管理器 2 进入到 /data/data/com.guoshi.httpcana ...

  8. httpd svn 编译安装_如何安装CA证书?

    故障描述: 大家在希望使用https访问域名,同时有CA证书认证,却不会部署.经常会遇到以下一些问题: apache的主配置文件httpd.conf的配置 apache的https的虚拟主机访问解析 ...

  9. Linux怎么安装ca证书,如何在CentOS上安装自定义CA证书?

    我正在尝试在一系列CentOS系统上为我的内部证书服务器安装证书,而且我发现这方面的文档几乎不存在. 我的最终目标是能够在没有错误的情况下对内部安全服务器使用git,curl和其他服务器. 在Ubun ...

最新文章

  1. 强化学习(七) - 函数近似方法 - 随机梯度下降, 半梯度下降,及瓦片编码(Tile Coding)实例
  2. java开源的cms系统jsp cms系统
  3. ubuntu中的日志文件位置,用于错误查找
  4. 再见了 Docker!Go 落地的 K8S 云原生架构已成气候!
  5. 基于python的性能测试工具–locust
  6. 中国移动公布5G核心网大单 全面加快5G网络部署
  7. 详解Android源码的编译
  8. 边工作边刷题:70天一遍leetcode: day 2
  9. failed to load ldlinux.c32
  10. Qt 中利用 GNU barcode 生成一维条形码
  11. 计算机函数求销售额公式,excel用函数求出销售额 使用TREND函数来对销售额进行预测的方法...
  12. Casbin之基于角色的控制访问RBAC
  13. 《编程的原则:改善代码质量的101个方法》读书笔记
  14. (差分)洛谷P4231 三步必杀
  15. Google play billing(Google play 内支付) 上篇
  16. 关于解决文件夹变成*.EXE可执行文件的问题
  17. curl unmatched close brace/bracket 处理
  18. 手写webserver
  19. development 和 production 模式的区别
  20. 学习OpenFOAM Tutorial snappyHexMesh

热门文章

  1. EPUB和PDF的区别
  2. java的多态,多态具体的体现
  3. 沃拼图游戏软件测试,拼图游戏
  4. SOA成功案例—中远集运全球EDI平台建设
  5. 计算机组成英语阅读,计算机英语阅读理解.docx
  6. R语言学习 day_8
  7. 五分钟搭建基于 Prometheus + Grafana 实时监控系统
  8. TI OMAP Bootloader Project 关于启动过程
  9. 玻尔兹曼熵方程:一段从克劳修斯到普朗克的历史
  10. 岩板铺地好吗_岩板可以铺贴地面吗