一种数字证书的验证方法和装置的制造方法_2

文档序号:9828239阅读:来源:国知局
不通过验证,则确定第二验证信息为该数字证书验证不通过。或者,方式二、接收端检查该数字证书是否在有效期内;如果不在有效期内,则确定第二验证信息为该数字证书验证不通过;如果在有效期内,则检查该数字证书的签名是否通过验证;如果该数字证书的签名不通过验证,则确定第二验证信息为该数字证书验证不通过;如果该数字证书的签名通过验证,则检查该数字证书是否为吊销状态的数字证书;如果是吊销状态的数字证书,则确定第二验证信息为该数字证书验证不通过;如果不是吊销状态的数字证书,则确定第二验证信息为该数字证书验证通过。
[0027]其中,接收端可以在缓存中记录数字证书的标识信息与第二验证信息(即数字证书验证通过或数字证书验证不通过)之间的对应关系。
[0028]其中,在第二验证信息为数字证书验证不通过时,当验证不通过的原因是数字证书不在有效期内时,则接收端不记录数字证书的标识信息与第二验证信息之间的对应关系;当验证不通过的原因不是数字证书不在有效期内时,则接收端记录数字证书的标识信息与第二验证信息之间的对应关系。进一步的,当第二验证信息为数字证书验证不通过时,在记录数字证书的标识信息与第二验证信息之间的对应关系之后,接收端还可以在数字证书的标识信息与第二验证信息之间的对应关系中记录验证不通过的原因,其中,该验证不通过的原因具体可以为数字证书处于吊销状态或者数字证书的签名不通过验证。
[0029]本发明实施例中,在记录数字证书的标识信息与第二验证信息(验证通过或者验证不通过)之间的对应关系之后,当用于对数字证书进行验证的条件发生变化时,则接收端还可以删除数字证书的标识信息与第二验证信息之间的对应关系,如从缓存中删除数字证书的标识信息与第二验证信息之间的对应关系。
[0030]进一步的,在本发明实施例中,用于对数字证书进行验证的条件发生变化,具体可以包括但不限于以下之一或者任意组合:用于对数字证书进行验证的CA (CertificateAuthority,证书颁发机构)证书发生变化;用于检查数字证书的吊销状态的CRL(Certificate Revocat1n List,证书吊销列表)发生变化;是否对数字证书进行CRL检查的配置发生变化等。
[0031]基于上述技术方案,本发明实施例中,通过维护数字证书的标识信息与验证通过/验证不通过之间的对应关系,在不降低安全性的情况下,可以基于该对应关系确定数字证书验证通过/验证不通过,不需要每次都对数字证书进行验证,从而减少数字证书的验证过程,对数字证书的验证过程进行加速,减轻CPU的运行时间,降低设备的计算开销,提高设备的处理性能。
[0032]参加图2,结合具体的应用场景,对上述数字证书的验证方法进行说明。
[0033]步骤201,接收端接收发送端第一次发送的数字证书,并对该数字证书进行验证,得到第二验证信息。其中,由于是发送端第一次发送的数字证书,因此,当前不存在该数字证书的hash值,直接对该数字证书进行验证。
[0034]在对数字证书进行验证的过程中,可以包括检查数字证书的有效期、检查数字证书的吊销状态、检查数字证书的签名等过程。考虑到检查数字证书的签名的过程耗时较大,而与此相比,检查数字证书的有效期的过程耗时较小,因此先执行检查数字证书的有效期的过程,后执行检查数字证书的签名的过程。此外,对检查数字证书的吊销状态的过程的顺序可以不做限制。
[0035]基于上述分析,对数字证书进行验证的一种优选的验证方式可以为:接收端检查该数字证书是否在有效期内;如果不在有效期内,则确定第二验证信息为该数字证书验证不通过;如果在有效期内,则检查该数字证书是否为吊销状态的数字证书;如果是吊销状态的数字证书,则确定第二验证信息为该数字证书验证不通过;如果不是吊销状态的数字证书,则检查该数字证书的签名是否通过验证;如果该数字证书的签名通过验证,则确定第二验证信息为该数字证书验证通过;如果该数字证书的签名不通过验证,则确定第二验证信息为该数字证书验证不通过。其中,如果对数字证书进行CRL检查的配置为对数字证书进行CRL检查时,则检查该数字证书是否为吊销状态的数字证书;如果对数字证书进行CRL检查的配置为不对数字证书进行CRL检查时,则不检查该数字证书是否为吊销状态的数字证书,而是直接检查该数字证书的签名是否通过验证。
[0036]其中,在数字证书内会包含该数字证书的有效期,如数字证书的起始时间和终止时间。在接收到数字证书后,如果接收端的系统当前时间位于数字证书的起始时间与终止时间之间,则说明数字证书在有效期内。如果接收端的系统当前时间不位于数字证书的起始时间与终止时间之间(如位于起始时间之前或者终止时间之后),则说明数字证书不在有效期内。
[0037]其中,CRL内会记录处于吊销状态的数字证书的身份信息(如序列号),且数字证书内会包含本数字证书的身份信息(如序列号)。因此,接收端在接收到数字证书后,如果CRL内记录了该数字证书内包含的身份信息,则说明该数字证书是吊销状态的数字证书。如果CRL内没有记录该数字证书内包含的身份信息,则说明该数字证书不是吊销状态的数字证书。
[0038]其中,接收端在接收到数字证书之后,使用CA证书的公钥对数字证书的签名进行验证,具体的验证方式在此不再赘述,对数字证书的签名进行验证的验证结果,可以为签名通过验证或不通过验证。
[0039]步骤202,如果第二验证信息为数字证书验证通过,则接收端在缓存中记录该数字证书的hash值与第二验证信息(即验证通过)之间的对应关系。如果第二验证信息为数字证书验证不通过,则当验证不通过的原因不是该数字证书不在有效期内时,则接收端在缓存中记录该数字证书的hash值与第二验证信息(即验证不通过)之间的对应关系;当验证不通过的原因是该数字证书不在有效期内时,则接收端不在缓存中记录该数字证书的hash值与第二验证信息(即验证不通过)之间的对应关系,即不用记录对应关系。
[0040]其中,当验证不通过的原因不是数字证书不在有效期内时,接收端在缓存中记录数字证书的hash值与第二验证信息之间的对应关系后,还可以在该数字证书的标识信息与第二验证信息之间的对应关系中记录验证不通过的原因,验证不通过的原因为数字证书处于吊销状态或数字证书的签名不通过验证。其中,如果在检查数字证书是否为吊销状态的数字证书时,获知是吊销状态的数字证书,验证不通过的原因为数字证书处于吊销状态。如果在检查数字证书的签名是否通过验证时,获知数字证书的签名不通过验证,验证不通过的原因为数字证书的签名不通过验证。
[0041]其中,当验证不通过的原因是数字证书不在有效期内时,接收端不在缓存中记录数字证书的hash值与第二验证信息之间的对应关系的原因是:当接收端本地的系统当前时间不稳定,导致数字证书验证不通过时,如果接收端本地的系统当前时间稳定到正确时间,此时,数字证书验证可能会通过。如果此时接收端已经在缓存中记录数字证书的hash值与第二验证信息之间的对应关系,则会直接确定数字证书验证不通过,而实际上数字证书验证可能会通过。进一步的,即使不在缓存中记录数字证书的hash值与第二验证信息之间的对应关系,由于数字证书是由于不在有效期内导致验证不通过,因此再次对数字证书进行验证时,先执行检查数字证书的有效期的过程,后执行检查数字证书的签名的过程,而数字证书在执行检查数字证书的有效期的过程中,就会被检查出来验证不通过,不会再执行检查数字证书的签名的过程,因此避免了最耗时的运算(检查数字证书的签名的过程消耗的时间在总验证时间中占据
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1