购买证书基础知识 index文件格式 证书校验和证书吊销 CRL和OCSP使用说明

2019-09-23
admin
原创 2232
摘要:购买证书基础知识 index文件格式 证书校验和证书吊销 CRL和OCSP使用说明

一、购买证书基础知识

1、域名匹配以证书DNS信息为准,有DNS信息则不匹配CN,不存在DNS信息才匹配CN,Chrome只匹配DNS;

2、通配符证书覆盖:*.3scard.com不覆盖3scard.com,如果要覆盖则DNS信息需要增加条目;

3、通配证书可以买一级、二级域名通配证书,二级域名通配证书不能覆盖主域名;

4、证书安全级别:EV型证书 > 赛门铁克保真通配证书 > GeoTrust保真通配证书 > GeoTrust入门通配证书;

5、EV型证书只能是单域名证书,不能是通配符证书;

6、赛门铁克保真通配符证书可以使用Norton Secured Seal;

7、Digicert证书昂贵,Sectigo证书便宜,证书好坏在于安全性和兼容性;

8、供应商说的DN是RFC2253格式的证书主题,P10文件则是证书请求文件;


二、index文件格式

第1列:Certificate status flag(V=valid, R=revoked, E=expired);

第2列:Certificate expiration date in YYMMDDHHMMSSZ format;

第3列:Certificate revocation date in YYMMDDHHMMSSZ[,reason] format. Empty if not revoked;
第4列:Certificate serial number in hex;
第5列:Certificate filename or literal string 'unknown';
第6列:Certificate distinguished name;

附注:数据的时间是GMT时间,但双击证书时显示当地时间。


三、证书校验和吊销

证书比较:CN、CA、序列号、模数、指纹,指纹是DER格式证书的SHA1值,证书和私钥是否匹配可以比较模数;

根证书校验:火狐浏览器默认不使用操作系统根证书列表校验服务器证书,除非设置security.enterprise_roots.enabled;

查询外购证书:https://crt.sh,支持查询一级域名相关的所有证书,支持查询指定的证书状态以及信息

吊销外购证书:国内供应商仅仅提交吊销请求到国外机构,实际吊销时间无法确定,至少需要保证OCSP以及CRL看到证书吊销;

浏览器使用吊销信息:IE相对其它浏览器能够更快使用吊销信息,其它浏览器可能不是那么及时;

校验证书是否由CA签发:openssl verify -CAfile ca.crt  cert.crt,校验整个证书链;

吊销证书:openssl ca -revoke cert.crt,仅仅更新index文件中记录状态以及吊销时间;

获取证书状态:openssl ca -status serial,读取index文件中记录的V、R、E状态,并不做时间校验;


四、CRL以及OCSP使用说明

1、生成crl:openssl ca -gencrl -out crl.txt -crldays 365,使用index文件生成吊销列表,包含所有吊销证书的序列号;

2、使用crl:curl使用crlfile参数校验服务端证书有效性,nginx使用ssl_crl配置校验客户端证书有效性;

3、crl文件过期会导致服务端证书或者客户端证书有效性校验失败;


1、启动ocsp服务:openssl ocsp -text -CA ca.crt -index index.txt -rsigner ca.crt -rkey ca.key -port 8080 -ndays 1
2、访问ocsp服务:openssl ocsp -host 127.0.0.1:8080 -VAfile ca.crt -issuer ca.crt -serial 0x599546D388830178

3、ocsp校验服务端证书有效性可能导致ocsp服务负载过高,优化方案是使用stapling,即应用服务器缓存证书有效性;

4、企业使用ocsp一般是校验客户端证书有效性,但是这种场景使用crl更有利于应用服务的健壮性,所以推荐使用crl;

5、搭建ocsp服务推荐基于如下开源代码修改:https://github.com/xipki/xipki

发表评论
评论通过审核之后才会显示。