|
| |
精品推荐 |
 |
|
| |
|
|
|
|
openssl的man中文文档
|
日期:2007年10月24日 作者: 查看:[大字体
中字体 小字体]
|
要一次验证多个证书,把那些证书名都写在后面就好了。 验证操作解释: S/MIME和本指令使用完全相同的函数进行验证。 我们进行的验证和真正的验证有个根本的区别: 在我们对整个证书链进行验证的时候,即使中途有问题,我们也会验证到最后,而真实的验证一旦有一个环节出问题,那么整个验证过程就告吹。 验证操作包括几个独立的步骤。 首先建立证书链,从我们目前的证书为基础,一直上溯到Root CA的证书. 如果中间有任何问题,比如找不到某个证书的颁发者的证书,那么这个步骤就挂。有任何一个证书是字签名的,就被认为是Root CA的证书。 寻找一个证书的颁发CA也包过几个步骤。在openssl0.9.5a之前的版本,如果一个证书的颁发者和另一个证书的拥有着相同,就认为后一个证书的拥有者就是前一个证书的签名CA. openssl0.9.6及其以后的版本中,即使上一个条件成立,还要进行更多步骤的检验。包括验证系列号等。到底有哪几个我也没看明白。 得到CA的名称之后首先去看看是否是不信任的CA, 如果不是,那么才去看看是否是信任的CA. 尤其是Root CA, 更是必须是在信任CA列表里面。 现在得到链条上所有CA的名称和证书了,下一步是去检查第一个证书的用途是否和签发时候批准的一样。其他的证书则必须都是作为CA证书而颁发的。 证书的用途在x509指令里会详细解释。 过了第二步,现在就是检查对Root CA的信任了。可能Root CA也是每个都负责不同领域的证书签发。缺省的认为任何一个Root CA都是对任何用途的证书有签发权。 最后一步,检查整条证书链的合法性。比如是否有任何一个证书过期了?签名是否是正确的?是否真的是由该证书的颁发者签名的? 任何一步出问题,所有该证书值得怀疑,否则,证书检验通过。 如果验证操作有问题了,那么打印出来的结果可能会让人有点模糊。 一般如果出问题的话,会有类似这样子的结果打印出来: server.pem: /C=AU/ST=Queensland/O=CryptSoft Pty Ltd/CN=Test CA (1024 bit) error 24 at 1 depth lookup:invalid CA certificate 第一行说明哪个证书出问题,后面是其拥有者的名字,包括几个字段。 第二行说明错误号,验证出错在第几层的证书,以及错误描述。 下面是错误号及其描述的详细说明,注意,有的错误虽然有定义, 但真正使用的时候永远不会出现。用unused标志. 0 X509_V_OK 验证操作没有问题 2 X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT 找不到该证书的颁发CA的证书。 3 X509_V_ERR_UNABLE_TO_GET_CRL (unused) 找不到和该证书相关的CRL 4 X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE 无法解开证书里的签名。
上一篇:商务技术-SET安全协议和SSl安全协议
下一篇:献给破解新手:破解的原理
|
| 相关文章: |
|
|
|
| 相关软件: |
|
|
|
|