验证证书的过程

         证书的结构中的关键内容包括:序列号、公钥、用户名称、签发者、CA签名和其他一些附属信息等。证书验证过程就是依赖于这信息和公钥对应的私钥进行。通常的证书验证过程包括以下要点:

        1、确认证书内容是正确的和完整的,没有被篡改,CA签名是正确的;

        2、确认证书是有效的,在有效期内并且没有被吊销(CRL中没有该证书序列号);

        3、确认CA证书是可以被信任的证书,如果CA证书不是根证书,还要继续对CA证书进行验证;

        4、通过与用户的交互,基于证书中的公钥和公开密钥算法确认用户的身份。

 

      确认用户身份的过程是基于公开密钥算法的,基本过程如下:

        1、被验证方发送自己的用户证书给验证书;

        2、验证方提取证书中的公钥,并产生一个随机数Rp,使用该公钥加密该随机数得到加密的随机数Re并发给被验证方;

        3、被验证方使用自己的私钥解密Re得到Rep并发回给验证方;

        4、验证方对比Rp和Rep,如果一致,则验证通过,否则,验证不通过。

      如果被验证方能够正确解密使用该证书上的公钥加密的信息,即可认为被验证方确实是证书的持有人,也就可以确定其身份。

      无论何种类型的证书,其验证过程都是基本一致的,当然,根据具体的情况,其验证协议和要求提供的材料可能有一些区别。关于证书验证的有很多种情况。

      OpenSSL提供了证书验证的一些指令,包括普通验证和一种标准的OCSP协议处理指令。

 

 

 

你可能感兴趣的:(算法,加密,解密)