提前祝大家元旦快乐,咨询下各位根证书如何自动添加到 Mac 及 Windows 系统中,网上搜到了 JavaScript 自动添加根证书到系统中,只针对 Windows 系统,且 clssid 等等应如何修改,依然无从下手,对 asp.net 和 ca 证书一窍不通,叩谢任何建议和意见!感谢!
1
no1xsyzy 2018-12-29 12:59:45 +08:00
win 下基本只能并且只要命令行调用 certmgr 或者 certutil 吧
mac 不清楚 |
2
jim9606 2018-12-29 13:22:23 +08:00 via Android
不存在自动添加的方法,必须通过运行本地程序或者指导手动导入。信任新证书是危险操作,不可能让 js 自己完成的。除 firefox 外的大部分浏览器都是使用系统证书库的
|
3
580a388da131 2018-12-29 13:28:25 +08:00 via iPhone
没有
|
4
elsagong OP @jim9606 你好,感谢回复,可以检测 Mac 及 Windows 系统是否安装,如果没有安装就弹出提供证书下载窗口吗?我搜了下,不知道怎么样来实现
|
5
elsagong OP @jim9606 你好,感谢回复,可以检测 Windows 系统是否安装,如果没有安装就弹出提供证书下载窗口吗?我搜了下,实在不知道怎么样来实现
|
6
jim9606 2018-12-29 14:05:42 +08:00
@elsagong 用 js 后台或者直接访问使用这个私有 CA 签发的域名证书的验证域名,如果连接出错就认为证书不被信任,就可以提示用户安装了
|
7
tomczhen 2018-12-29 14:06:45 +08:00 via Android 1
典型的 xy 问题,真有自动静默安装 ca 证书都方法,这个漏洞怕是要比你的项目值钱多了。
至于提示,浏览器已经有提示了啊。 |
8
lzvezr 2018-12-29 14:11:21 +08:00 via Android
感觉不可行,如果服务器提供的证书不受信任,在握手阶段就断开了,不可能再传输数据
有个思路,就是在 HTTP 页面加载一个 HTTPS 资源,通过 onerror 判断是否证书被信任(没用过,如果有错误码最好,没有的话可以从时间判断 |
9
julyclyde 2018-12-29 15:47:07 +08:00
你想多了……你这是攻击行为,怎么可能有正经方法
|
10
mmdsun 2018-12-29 19:06:18 +08:00 via Android
搜:let encrypt windows。win 有个软件自动生成证书的 let encrypt 的证书过期自动获取。
|
11
00oo00 2018-12-30 16:56:15 +08:00 via Android
自动添加证书的需求一律视作耍流氓
12306 之前要求用户手动导入证书都被 V2 喷的不行,你还想自动添加证书? |