一. 证书模板问题: 要包含这两个增强密钥用法.
二. 证书无效问题. 要把证书的根导入到本地计算机相应存储区.具体略.
三. 吊销检查失败问题.
1. 根证书中不要包含crl属性.
2. 要保证子CA证书中的crl属性正确,可正常下载crl. crl下载正常时,可无需手动导入crl. 可以修改hosts文件来解决crl地址中域名解析问题.但改完后要过一段时间才能生效.(可能几分钟--几十分钟)
3. 如果crl地址不正确,手动导入的crl根本无用.
4. 如果子CA证书中不包含crl属性, 则需要手动导入crl. 但crl是有有效期的,一般是24小时. 24小时后证书仍然会显示吊销检查失败.解决办法为:调整CA系统配置,签发一个有效期长一点的crl,比如几年,导入到exchange server.
2018/7/17 补充:
1.子CA中如果包含了颁发机构信息访问属性,则要保证ocsp可用. 否则仍然会报吊销检查失败. 删掉这个属性,证书一样用.
2.如果直接用root签exchange证书,windows好像根本不检查root证书的ocsp和crl (待确认! 20180807补充:已确认不检查!)
3.可以下载一个digicert提供的小工具帮你检查exchange证书的状态. https://www.digicert.com/util/DigiCertUtil.exe
4.用openssl可以创建一个 ocsp 服务: https://blog.csdn.net/andylau00j/article/details/79745673
当然验证一个证书的ocsp也是没问题的. 注意index.txt的生成方法. 这个文件的实际内容如果只是00或01什么的是不行地,而应该是酱婶儿的(各个字段间用的是tab,不是空格):
V 220712064317Z 1582EF50C462F31E662DF2B01059F629748D34FC unknown /C=CN/ST=Beijing/L=Beijing/O=Moxiaobei.com/OU=Test2/
CN=www.test.com/[email protected]
5.这有一篇文章(https://blog.csdn.net/wuwenlong527/article/details/1826812)说,有一个www.openvalidation.org网站可以模拟ocsp服务端, 访问不同的端口就可以返回不同的ocsp验证结果. 不过是07年的文章,现在已经访问不到这个网站了,不知道是被墙了还是网站已挂.
参考资料:
1. https://www.digicert.com/util/utility-test-ocsp-and-crl-access-from-a-server.htm
2.https://docs.microsoft.com/zh-cn/previous-versions/office/exchange-server-2010/dd298096(v=exchg.141)
3.https://blog.csdn.net/andylau00j/article/details/79745673
4.https://blog.csdn.net/wuwenlong527/article/details/1826812