解决企业子CA无法检查吊销的问题

简介:

【引言】

“大数据时代的到来已经势不可挡。在海量的数据面前,已经有越来越多的人意识到大数带来的挑战。其中非常重要的一项挑战就是信息的安全。在这样的背景下,加密技术得到了非常广泛的应用,而证书,作用加密技术中密钥传递的载体,也已被广泛。

对于较大型的企业,单一的证书颁发机构(后简称CA)已不能满足业务和管理的需求,在部署层级CA的过程中,很多管理员会遇到子CA的服务无法启动的情况,本文将带你探索原因并解决问题。

【正文】

1.           设计离线根CA

CACA证书为自签名,在证书的信任链中,处于顶端,保护根CA的安全对整个证书的结构非常重要。为此,我们可以用工作组服务器部署离线根CA

离线的根CA,并不直接面向证书申请者,而仅仅是为子CA颁发CA证书。也不需要与企业的网络环境相连,申请证书时,用移动存储设备将子CA的申请文件复制到根CA即可。之所以要用工作组状态的计算机,是因为域内的计算机脱离域环境60天后,安全通道会过期,即信任关系失效。

2.           部署企业子CA

在按照正常的方式部署完成企业子CA,申请并安装完证书后,很多管理员会遇到如下的报错,并无法启用子CA

                            wKiom1N7KUyD6sGiAAHJj_qbyms996.jpg

 

出现这一错误,是因为我们的根CA是处于工作组状态,并不能成功发布吊销列表。由于我们的根CA仅仅是为子CA颁发CA证书,所以其吊销列表意义并不大,我们可以通过一行命令,关闭子CA验证吊销列表这一动作。命令如下:

certutil.exe -setregca\CRLFLags +CRLF_REVCHECK_IGNORE_OFFLINE

wKioL1N7KS-Tn31fAAFpZ2ap18U242.jpg

再次启用子CA,即可成功开启:

wKiom1N7KW2BvkntAACpyy3MnHw871.jpg

如果要再次开启验证吊销服务器,可以将+变成-

certutil.exe -setreg ca\CRLFLags -CRLF_REVCHECK_IGNORE_OFFLINE

3.           刨根问底

其实问题至此,已经解决了。但本着刨根问底的劲头,我们再来深入挖掘一下。因为有些管理在部署层级CA的时候,并没有遇到这个问题。

那是因为,这部分管理员部署的根CA并不是工作组状态的,而是域内的成员计算机。为此,我们来看一下,成员计算机默认情况下的吊销列表发布信息:CA管理控制台-右键点击CA服务器-选择属性-点击扩展标签。

在这一标签中,我们可以看到默认情况下,吊销列表会发布到AD的配置分区下面。

wKioL1N7KUuwirZeAAJtq-Nsbn4446.jpg

接下来我们按照这个路径,利用ADSI编辑器查看一下已发布的吊销列表:

wKiom1N7KYOQNDY9AAFdVZMzmGI049.jpg

这就是为什么当根CA是成员计算机时,并无报错,但是当根CA是工作组计算机时,便无法开启的根本原因……



本文转自天鬼皇 51CTO博客,原文链接:http://blog.51cto.com/ghostlan/1414329,如需转载请自行联系原作者
相关文章
|
Linux
linux下搭建tftp服务器教程
在Linux中搭建TFTP服务器,需安装`tftp-server`(如`tftpd-hpa`)。步骤包括:更新软件包列表,安装`tftpd-hpa`,启动并设置开机自启,配置服务器(编辑`/etc/default/tftpd-hpa`),添加选项,然后重启服务。完成后,可用`tftp`命令进行文件传输。例如,从IP`192.168.1.100`下载`file.txt`: ``` tftp 192.168.1.100 <<EOF binary put file.txt quit EOF ```
937 4
交叉证书
## 证书4要素 pubkey(公钥) ,有一个其一一对应的私钥,由证书拥有者保存。 subject(名字),可以理解为证书的名字,你可以理解为 网站的域名。 issuer(颁发者的名字),即上级证书的subject。 signature(签名) ,上级证书使用私钥对当前证书进行签名的值。 ## 证书签名 假设 有 3 级 证书 ![image.png](
5813 0
|
测试技术
elf格式转换为hex格式文件的两种方法
这周工作终于不太忙了,可以写点笔记总结一下了。 之前的文章如何在Keil-MDK开发环境生成Bin格式文件,介绍了如何在Keil开发环境使用fromelf软件,将生成的axf文件转换为bin文件,这次我们再来介绍一下如何将elf文件转换为hex文件。
2488 0
|
测试技术 开发工具 git
利用Git Hooks自动化你的开发流程
Git Hooks 是 Git 的强大功能,允许在特定事件(如提交、推送、合并请求)发生时自动执行脚本。通过合理设置和使用 Git Hooks,可以自动化测试、代码风格检查等任务,提高代码质量和开发效率。本文介绍了如何设置和使用常用的 Git Hooks,包括 `pre-commit`、`pre-push` 和 `post-merge`,并提供了最佳实践建议。
|
Web App开发 JSON 缓存
GET 和 POST 请求的请求头有哪些常见字段
【10月更文挑战第27天】不同的应用场景和服务器要求可能会使用到其他一些请求头字段,这些字段在HTTP请求和响应的交互过程中起着重要的作用,帮助客户端和服务器更好地进行数据传输和处理。
|
Ubuntu Linux 编译器
通过qemu和docker搭建交叉编译环境
通过qemu和docker搭建交叉编译环境
|
运维 监控 Linux
强大的strace命令用法详解
强大的strace命令用法详解
2567 0
|
虚拟化 数据安全/隐私保护 网络安全
|
Shell PHP
strace详解及实战
详细参数: -c 统计每一系统调用的所执行的时间,次数和出错的次数等. -d 输出strace关于标准错误的调试信息. -f 跟踪由fork调用所产生的子进程. -ff 如果提供-o filename,则所有进程的跟踪结果输出到相应的filename.
2258 0
|
Java
Version 1.8.0_201 of the JVM is not suitable for this product. Version: 11 or greater is required.
Version 1.8.0_201 of the JVM is not suitable for this product. Version: 11 or greater is required.
651 0