签名验签服务器规范明确写出签名验签服务器应支持与CA基础设施的连接功能,包括CRL连接配置、OSCP连接配置。看完后一头雾水,首先需要了解什么是CRL
1、证书吊销列表(Certificate Revocation List,简称:CRL)
是PKI系统系统中的一个结构化的数据文件,该文件包含了证书颁发机构(CA)已经吊销的证书的序列号及其吊销日期。CRL文件中还包含证书颁发机构信息、吊销列表失效时间和下一次更新时间、以及采用的签名算法等。证书吊销列表最短的有效期为1个小时,一般为1天,甚至1个月不等,由各个证书颁发机构在设置其证书颁发系统时设置。这些是标准的定义方式:
拿度娘证书来说:可以双击查看证书详细信息
此时可以看到CRL分发点,复制下面的URL在浏览器中会自动下载crl文件,这样看才有了大概的印象。
此时双击CRL文件可以看到
2、 证书状态在线查询协议(OCSP)
OCSP,Online Certificate Status Protocol,证书状态在线查询协议,是IETF颁布的用于实时查询数字证书在某一时间是否有效的标准。
一般CA都只是每隔一定时间(几天或几个月)才发布新的吊销列表,因此CRL是不能及时反映证书的实际状态的。而OCSP就能满足实时在线查询证书状态的要求。它为电子商务网站提供了一种实时检验数字证书有效性的途径,比下载和处理CRL的传统方式更快、更方便和更具独立性。请求者发送查询请求,OCSP服务器会放回证书可能的三个状态:正常、吊销和未知。
如果证书没有吊销列表,浏览器访问的时候会出现提示。
参考文章:证书吊销列表(CRL)
3、LDAP
就是一个存储协议,要求可以快速响应用户的查找需求。比如用户的认证,这可能会有大量的并发。结合签名验签服务器的需求,那就是快速的进行CA认证。快速的化第一反应可以是Cache,但是此时使用有些浪费。结合签名验签服务器LDAP就是一张表,只需要用户名和口令,和一些证书相关的信息,发证机关有效期等,结构和数据简单。
从效率和结构上都可以满足认证的需求。这就是为什么LDAP成为现在很人们的统一认证的解决方案的优势所在。
至于为什么不用数据库实现,由于数据库结构分成了各个表,要满足认证这个非常简单的需求,每次都需要去搜索数据库,合成过滤,效率则会降低。