技术实用帖——如何安装所信任的根证书

在这里插入图片描述
我们在日常使用软件和开发系统时,可能需要信任某个证书颁发机构(CA).根据之前(PKI的最后一公里——数字证书和CA)介绍的,也就是要将CA的根证书安装在系统的“受信任的根证书颁发机构”里。今天就介绍一下如何安装。

一、手工安装

将CA的根证书(cer文件)拷贝到计算机上,右键选中——选择“安装证书”,进入安装向导。

在这里插入图片描述

选择“下一步”,弹出选择证书存储位置的对话框。
在这里插入图片描述

选择“将所有的证书放入下列存储”,点击“浏览”,选择“受信任的根证书颁发机构”。如果需要计算机的所有用户都信任此根证书,则应勾选“显示物理存储区”,选择“受信任的根证书颁发机构”下边的“本地计算机”。
在这里插入图片描述

继续点击“下一步”。
在这里插入图片描述

单击“完成”,等上几秒钟,系统会弹出一个安全性警告对话框,再一次让你确认是否安装此根证书。因为安装了它,Windows就会自动信任该CA颁发的所有证书。
在这里插入图片描述

到这个地步,你肯定是选择“是”了,最后一个提示导入成功的对话框就不贴了。

二、自动安装

虽然手工安装已经足够简单,但很多情况下仍需要自动安装根证书,尤其是制作安装程序时,让小白用户自己手工操作还是比较费神的。自动安装并不难,这里就用到之前介绍的CAPICOM,示例代码用JS实现。

// 安装根证书到受信任区域

function injectRootCert() {

//证书内容较长,不全部贴出

var RootCA = "MIIFhDCCA2ygA“+…+“7MUxcHtwTzFUX7WUI”;

// 存储区对象

try {

var store = new ActiveXObject(“CAPICOM.Store”);

} catch (e) {

throw new Error("无法创建CAPICOM的Store组件: " + e.message);

}

// 证书对象

try {

var cert = new ActiveXObject(“CAPICOM.Certificate”);

} catch (e) {

throw new Error("无法创建CAPICOM的Certificate组件: " + e.message);

}

// 打开windows证书库的受信任根证书存储区

var CAPICOM_CURRENT_USER_STORE = 2;

var CAPICOM_ROOT_STORE = “Root”;

CAPICOM_STORE_OPEN_READ_WRITE = 1;

store.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_ROOT_STORE, CAPICOM_STORE_OPEN_READ_WRITE);

//证书对象导入根证书的BASE64数据

cert.Import(RootCA);

//将证书加入打开的证书存储区

store.Add(cert);

}

代码也很好懂,看注释即可。如果想针对计算机上的所有用户,则store.Open的第一个参数选择2(CAPICOM_LOCAL_MACHINE_STORE),这就相当于手工安装时选择的“本地计算机”。要说明的是,这里导入的是证书的BASE64编码值,用记事本打开BASE64 编码的cer文件,就可以看到值。此外,执行上述JS代码最后也会弹出对话框询问用户是否安装证书。但如果用VC/VB等高级语言调用CAPICOM同样的接口,设置同样的参数,完成证书安装,则不会有提示框弹出。

好了,现在你就可以在“受信任的根证书颁发机构”里看到所安装的证书了。
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_45303938

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值