CN114598549B - 客户ssl证书验证方法及装置 - Google Patents
客户ssl证书验证方法及装置 Download PDFInfo
- Publication number
- CN114598549B CN114598549B CN202210305012.XA CN202210305012A CN114598549B CN 114598549 B CN114598549 B CN 114598549B CN 202210305012 A CN202210305012 A CN 202210305012A CN 114598549 B CN114598549 B CN 114598549B
- Authority
- CN
- China
- Prior art keywords
- ssl
- client
- revocation list
- server
- certificate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开涉及一种客户SSL证书验证方法、装置、电子设备及计算机可读介质。该方法包括:SSL服务器定时由多个远端服务器获取吊销列表;基于所述吊销列表解析认证信息并存储在SSL服务器本地;在SSL服务器和客户端认证过程中,SSL服务器由客户端获取客户SSL证书;将所述客户SSL证书和本地的所述吊销列表中的认证信息进行匹配;根据匹配结果停止或继续SSL认证过程。本申请涉及的客户SSL证书验证方法、装置、电子设备及计算机可读介质,能够可以灵活的管理吊销列表,为不同的客户端提供不同的吊销列表认证服务,方便进行吊销列表的维护。
Description
技术领域
本申请涉及计算机信息处理领域,具体而言,涉及一种客户SSL证书验证方法、装置、电子设备及计算机可读介质。
背景技术
证书吊销列表(Certificate Revocation List,CRL)是在网络中使用公钥结构存取服务器的两种常用方法中的一个。现有的客户端认证方案主要就是把吊销列表导入设备或者SSL服务器,然后将其中的证书信息比如时间、颁发者、更新时间、序列号等信息存储到本地。客户端证书发过来时,查看其是否过期,是否已被吊销。如果验证通过,服务器获取客户端的公钥,继续SSL的后续流程。
现在吊销列表的方式,人为的把吊销列表导入设备或者服务器,难以管理和维护,限制服务器性能。其次CRL是由CA周期公布,吊销延迟不可避免地会给用户带来损失,减少吊销延迟和减少占用带宽总是矛盾的。
因此,需要一种新的客户SSL证书验证方法、装置、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本申请的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本申请提供一种客户SSL证书验证方法、装置、电子设备及计算机可读介质,能够可以灵活的管理吊销列表,为不同的客户端提供不同的吊销列表认证服务,方便进行吊销列表的维护。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请的一方面,提出一种客户SSL证书验证方法,该方法包括:SSL服务器定时由多个远端服务器获取吊销列表;基于所述吊销列表解析认证信息并存储在SSL服务器本地;在SSL服务器和客户端认证过程中,SSL服务器由客户端获取客户SSL证书;将所述客户SSL证书和本地的所述吊销列表中的认证信息进行匹配;根据匹配结果停止或继续SSL认证过程。
在本申请的一种示例性实施例中,还包括:根据预定设置将多个客户端对应的吊销列表存储在多个远端服务器中,所述远端服务器包括HTTP服务器、FTP服务器、LDAP服务器。
在本申请的一种示例性实施例中,还包括:根据所述多个远端服务器的类型在所述SSL服务器端配置对应的服务器URL地址和目录信息。
在本申请的一种示例性实施例中,SSL服务器定时由多个远端服务器获取吊销列表,包括:SSL服务器基于目录进程定时由多个远端服务器获取目录信息;基于所述目录信息获取所述吊销列表。
在本申请的一种示例性实施例中,SSL服务器基于目录进程定时由多个远端服务器获取目录信息,包括:SSL服务器基于目录进程定时轮询所述多个远端服务器;在远端服务器存在目录信息更新时,通过多线程获取所述远端服务器的目录信息。
在本申请的一种示例性实施例中,基于所述目录信息获取所述吊销列表,包括:SSL服务器基于列表进程和所述目录信息定时由多个远端服务器获取吊销列表。
在本申请的一种示例性实施例中,基于所述吊销列表解析认证信息并存储在SSL服务器本地,包括:基于所述吊销列表解析认证信息获取目录信息和吊销列表;基于远端服务器的标识将所述目录信息和其对应的吊销列表存储在预设内存中。
在本申请的一种示例性实施例中,基于远端服务器的标识将所述目录信息和其对应的吊销列表存储在预设内存中,包括:基于远端服务器的标识按照目录信息对应的目录关系将所述目录信息对应的吊销列表存储在预设内存;由所述吊销列表中提取多个客户SSL证书;将所述多个客户SSL证书存储在吊销列表的证书链中。
在本申请的一种示例性实施例中,将所述多个客户SSL证书存储在吊销列表的证书链中,包括:提取所述多个客户SSL证书的序列号;基于客户SSL证书的标识和序列号生成哈希值;将所述证书的标识和哈希值对应存储在吊销列表的证书链中。
在本申请的一种示例性实施例中,将所述客户SSL证书和本地的所述吊销列表中的认证信息进行匹配,包括:获取所述客户SSL证书的序列号;将所述序列号和本地所述吊销列表中的认证信息进行匹配。
根据本申请的一方面,提出一种客户SSL证书验证装置,该装置包括:列表模块,用于SSL服务器定时由多个远端服务器获取吊销列表;解析模块,用于基于所述吊销列表解析认证信息并存储在SSL服务器本地;证书模块,用于在SSL服务器和客户端认证过程中,SSL服务器由客户端获取客户SSL证书;匹配模块,用于将所述客户SSL证书和本地的所述吊销列表中的认证信息进行匹配;认证模块,用于根据匹配结果停止或继续SSL认证过程。
根据本申请的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本申请的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本申请的客户SSL证书验证方法、装置、电子设备及计算机可读介质,通过SSL服务器定时由多个远端服务器获取吊销列表;基于所述吊销列表解析认证信息并存储在SSL服务器本地;在SSL服务器和客户端认证过程中,SSL服务器由客户端获取客户SSL证书;将所述客户SSL证书和本地的所述吊销列表中的认证信息进行匹配;根据匹配结果停止或继续SSL认证过程的方式,能够可以灵活的管理吊销列表,为不同的客户端提供不同的吊销列表认证服务,方便进行吊销列表的维护。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
通过参照附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种客户SSL证书验证方法及装置的系统框图。
图2是根据一示例性实施例示出的一种客户SSL证书验证方法的流程图。
图3是根据另一示例性实施例示出的一种客户SSL证书验证方法的示意图。
图4是根据另一示例性实施例示出的一种客户SSL证书验证方法的流程图。
图5是根据另一示例性实施例示出的一种客户SSL证书验证方法的流程图。
图6是根据一示例性实施例示出的一种客户SSL证书验证装置的框图。
图7是根据一示例性实施例示出的一种电子设备的框图。
图8是根据一示例性实施例示出的一种计算机可读介质的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本申请概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的,因此不能用于限制本申请的保护范围。
本申请涉及的技术缩略语解释如下:
远程服务器,即存放证书的远程服务器,可以是http服务器、ftp服务器、ldap服务器,只要有支持证书的目录结构。
证书吊销列表(Certificate Revocation List,CRL)是在网络中使用公钥结构存取服务器的两种常用方法中的一个。
CRL是一个具有时间戳的列表,在其中列出了所有已经吊销或挂起的数字证书信息。在CRL中包含本次更新日期和下次更新日期两个字段,用户可由这两个日期信息确定当前拥有的CRL是否是最新的,以及管理CRL缓冲区(即在CRL下次更新之前,用户可以一直使用原来的CRL缓冲区)。由于CRL中含有CA的数字签名,因此CRL可以存储于网络上的任何节点。
SSL(Secure Sockets Layer安全套接字协议),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密。
SSL协议可分为两层:SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
SSL认证分为双向认证和单向认证。单向认证只要求站点部署了SSL证书就行,任何用户都可以去访问(IP被限制除外等),只是服务端提供了身份认证。双向认证则是需要服务端与客户端提供身份认证,只能是服务端允许的客户能去访问,安全性相对于要高一些(这里的服务器指SSL服务器)。
SSL双向认证的大致过程如下:
①浏览器发送一个连接请求给安全服务器。
②服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。
③客户浏览器检查服务器送过来的证书是否是由自己信赖的CA中心所签发的。如果是,就继续执行协议;如果不是,客户浏览器就给客户一个警告消息:警告客户这个证书不是可以信赖的,询问客户是否需要继续。
④接着客户浏览器比较证书里的消息,例如域名和公钥,与服务器刚刚发送的相关消息是否一致,如果是一致的,客户浏览器认可这个服务器的合法身份。
⑤服务器要求客户发送客户自己的证书。收到后,服务器验证客户的证书,如果没有通过验证,拒绝连接;如果通过验证,服务器获得用户的公钥。
⑥客户浏览器告诉服务器自己所能够支持的通讯对称密码方案。
⑦服务器从客户发送过来的密码方案中,选择一种加密程度最高的密码方案,用客户的公钥加过密后通知浏览器。
⑧浏览器针对这个密码方案,选择一个通话密钥,接着用服务器的公钥加过密后发送给服务器。
⑨服务器接收到浏览器送过来的消息,用自己的私钥解密,获得通话密钥。
⑩服务器、浏览器接下来的通讯都是用对称密码方案,对称密钥是加过密的。
本申请的客户SSL证书验证方法、装置中,提供了第五步中服务器验证客户端证书的一种优化解决方案。
图1是根据一示例性实施例示出的一种客户SSL证书验证方法、装置的系统框图。
如图1所示,系统架构10可以包括客户端101、102、103,网络104和SSL服务器105、应用服务器106、107,远端服务器108、109、110。网络104用以在客户端101、102、103和SSL服务器105之间;SSL服务器105和应用服务器106、107之间;SSL服务器105和远端服务器108、109、110之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用客户端101、102、103通过SSL服务器105认证之后与应用服务器106、107交互,以接收或发送消息等。客户端101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
客户端101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
应用服务器106、107可以在SSL服务器105认证通过之后与客户端101、102、103建立连接,应用服务器106、107可以是提供各种服务的服务器,例如对用户利用客户端101、102、103所浏览的购物类网站提供支持的后台服务器。后台服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果反馈给客户端101、102、103。
SSL服务器105可例如定时由远端服务器108、109、110获取吊销列表;SSL服务器105可例如基于所述吊销列表解析认证信息并存储在SSL服务器本地;可例如在SSL服务器105和客户端101、102、103认证过程中,SSL服务器由客户端101、102、103获取客户SSL证书;SSL服务器105可例如将所述客户SSL证书和本地的所述吊销列表中的认证信息进行匹配;SSL服务器105可例如根据匹配结果停止或继续SSL认证过程。
在一个实施例中,可根据预定设置将客户端101、102、103对应的吊销列表存储在远端服务器108、109、110中,所述远端服务器包括HTTP服务器、FTP服务器、LDAP服务器。
在一个实施例中,可根据远端服务器108、109、110的类型在所述SSL服务器105端配置对应的服务器URL地址和目录信息。
SSL服务器105可以是一个实体的服务器,还可例如为多个服务器组成,需要说明的是,本申请实施例所提供的客户SSL证书验证方法可以由SSL服务器105执行,相应地,客户SSL证书验证装置可以设置于SSL服务器105中。
图2是根据一示例性实施例示出的一种客户SSL证书验证方法的流程图。客户SSL证书验证方法20至少包括步骤S202至S210。
如图2所示,在S202中,SSL服务器定时由多个远端服务器获取吊销列表。可例如,SSL服务器基于目录进程定时由多个远端服务器获取目录信息;基于所述目录信息获取所述吊销列表。
更具体的,SSL服务器可基于目录进程定时轮询所述多个远端服务器;在远端服务器存在目录信息更新时,通过多线程获取所述远端服务器的目录信息。
更具体的,SSL服务器基于列表进程和所述目录信息定时由多个远端服务器获取吊销列表。
服务器目录信息存储和定期获取证书吊销列表分别放在两个进程单独处理,通过共享内存的方式,进行数据共享和通信,这种方式方便管理和维护。
在S204中,基于所述吊销列表解析认证信息并存储在SSL服务器本地。可基于所述吊销列表解析认证信息获取目录信息和吊销列表;基于远端服务器的标识将所述目录信息和其对应的吊销列表存储在预设内存中。
更具体的,可基于远端服务器的标识按照目录信息对应的目录关系将所述目录信息对应的吊销列表存储在预设内存;由所述吊销列表中提取多个客户SSL证书;将所述多个客户SSL证书存储在吊销列表的证书链中。
其中,将所述多个客户SSL证书存储在吊销列表的证书链中,包括:提取所述多个客户SSL证书的序列号;基于客户SSL证书的标识和序列号生成哈希值;将所述证书的标识和哈希值对应存储在吊销列表的证书链中。
在S206中,在SSL服务器和客户端认证过程中,SSL服务器由客户端获取客户SSL证书。
在S208中,将所述客户SSL证书和本地的所述吊销列表中的认证信息进行匹配。获取所述客户SSL证书的序列号;将所述序列号和本地所述吊销列表中的认证信息进行匹配。
根据上文中的设置,证书信息提取出序列号通过哈希算法存储到证书链信息中,相对应的附带上ID信息。这就使得在校验客户端证书时,只需根据序列号找到对应的节点,如果不存在说明未被吊销;如果存在,且ID也匹配,说明客户端证书已经被吊销。
在S210中,根据匹配结果停止或继续SSL认证过程。服务器验证客户的证书,如果没有通过验证,拒绝连接;如果通过验证,服务器获得用户的公钥。
在一个实施例中,根据本申请中的方法,在后续SSL服务器只需要引用对应的远程服务器配置,就可以在SSL双向认证的时候校验客户端证书的阶段,检测其合法性。
根据本申请的客户SSL证书验证方法,通过SSL服务器定时由多个远端服务器获取吊销列表;基于所述吊销列表解析认证信息并存储在SSL服务器本地;在SSL服务器和客户端认证过程中,SSL服务器由客户端获取客户SSL证书;将所述客户SSL证书和本地的所述吊销列表中的认证信息进行匹配;根据匹配结果停止或继续SSL认证过程的方式,能够可以灵活的管理吊销列表,为不同的客户端提供不同的吊销列表认证服务,方便进行吊销列表的维护。
本申请的通过SSL服务器对远程服务器目录式管理的方式、通过对吊销列表证书的根据序列号和ID的哈希算法存储、通过对不同远程服务器信息的并发式处理的方式,实现本申请中的客户SSL证书验证方法。
应清楚地理解,本申请描述了如何形成和使用特定示例,但本申请的原理不限于这些示例的任何细节。相反,基于本申请公开的内容的教导,这些原理能够应用于许多其它实施例。
图3是根据另一示例性实施例示出的一种客户SSL证书验证方法的流程图。如图3所示,可根据预定设置将多个客户端对应的吊销列表存储在多个远端服务器中,所述远端服务器包括HTTP服务器、FTP服务器、LDAP服务器。SSL服务器定期去远程服务器上获取吊销列表下载到本地,然后解析出序列号等信息存储起来。这样客户端和SSL服务器交互时,SSL服务器验证客户端证书时通过配置的远程服务器站点信息校验其是否通过。
在一个实施例中,还可例如,根据所述多个远端服务器的类型在所述SSL服务器端配置对应的服务器URL地址和目录信息。
首先将证书吊销列表放到对应的远程服务器上,可以设置个性化的目录,比如ldap服务器ip:127.0.0.1,dn=SSL1、ip:127.0.0.1,dn=SSL2,如果是http或者ftp服务器,则需要提供自己的服务器路径以及文件名称,例如127.0.0.1/test.crl。用户可以根据自己的需求和环境放置对应的证书吊销列表(可以增减)。
然后在SSL服务器上配置相应的远程服务器URL或者目录信息,可以多个,支持选择不同协议,设置不同的定时更新时间。SSL服务器根据服务器目录信息定期的去获取证书吊销列表。
在本申请中的这种通过配置把吊销列表放到不同远程服务器不同目录,设备定时去获取的方式,可以灵活的管理吊销列表。对不同的客户端提供不同的吊销列表认证服务。而且支持ftp、http、ldap等多种方式方便快捷,能给增量的管理吊销列表,方便维护。可以设置定时更新,并且展示上次更新时间以及文件数量等信息。
图4是根据另一示例性实施例示出的一种客户SSL证书验证方法的流程图。图4所示的流程40是对图2所示的流程中S204“基于所述吊销列表解析认证信息并存储在SSL服务器本地”的详细描述。
如图4所示,在S402中,基于远端服务器的标识按照目录信息对应的目录关系将所述目录信息对应的吊销列表存储在预设内存。
在S404中,由所述吊销列表中提取多个客户SSL证书。
在S406中,将所述多个客户SSL证书存储在吊销列表的证书链中。可包括:提取所述多个客户SSL证书的序列号;基于客户SSL证书的标识和序列号生成哈希值;将所述证书的标识和哈希值对应存储在吊销列表的证书链中。
在一个具体的实施例中,每条远程服务器配置都设置唯一ID以及一个标记位,通过轮询的方式检测某个服务器配置是否下发或者更新。拉取的时候根据不同远程服务器信息的标志位,通过多线程的方式把数据根据不同的协议不同的服务器目录存放到不同的目录。把对应的证书信息提取出序列号通过哈希算法存储到证书链信息中,相对应的附带上ID信息。这就使得在校验客户端证书时,只需根据序列号找到对应的节点,如果不存在说明未被吊销;如果存在,且ID也匹配,说明客户端证书已经被吊销。
图5是根据另一示例性实施例示出的一种客户SSL证书验证方法的流程图。图5所示的流程50是对图2所示的流程的补充描述。
如图5所示,在S502中,远程服务器配置下发。
在S504中,SSL服务器管理远程服务器。后台进程根据远程服务器配置去按目录或者文件下载、存储、解析吊销列表信息。
在一个具体的实施例中,LDAP服务器可是目录形式管理,ftp和http服务器可为是文件形式管理。对于SSL服务器来说,为每条配置专门对应一个目录去管理。
在S506中,后台进程处理链接下载解析。
在S508中,是否有远程服务器的更新。
在S510中,根据更新信息增删改进行处理。更具体的,远程服务器目录信息的配置增删改查处理可包括:协议例如FTP、HTTP、LDAP以及URL信息、定期时长等配置信息。
根据本申请的客户SSL证书验证装置,根据不同服务器不同目录实现SSL服务器对不同客户端的证书吊销校验定制,增减的配置,方便维护和管理。定时管理以及文件信息展示能给直观的给出上次更新信息以及一些文件信息,方便用户了解自己目前的配置情况。针对不同的场景支持大家广泛应用的http、ftp、以及ldap服务器,更加方便。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本申请提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图6是根据另一示例性实施例示出的一种客户SSL证书验证装置的框图。如图6所示,客户SSL证书验证装置60包括:列表模块602,解析模块604,证书模块606,匹配模块608,认证模块610。
列表模块602用于SSL服务器定时由多个远端服务器获取吊销列表;
解析模块604用于基于所述吊销列表解析认证信息并存储在SSL服务器本地;
证书模块606用于在SSL服务器和客户端认证过程中,SSL服务器由客户端获取客户SSL证书;
匹配模块608用于将所述客户SSL证书和本地的所述吊销列表中的认证信息进行匹配;
认证模块610用于根据匹配结果停止或继续SSL认证过程。
根据本申请的客户SSL证书验证装置,通过SSL服务器定时由多个远端服务器获取吊销列表;基于所述吊销列表解析认证信息并存储在SSL服务器本地;在SSL服务器和客户端认证过程中,SSL服务器由客户端获取客户SSL证书;将所述客户SSL证书和本地的所述吊销列表中的认证信息进行匹配;根据匹配结果停止或继续SSL认证过程的方式,能够可以灵活的管理吊销列表,为不同的客户端提供不同的吊销列表认证服务,方便进行吊销列表的维护。
图7是根据一示例性实施例示出的一种电子设备的框图。
下面参照图7来描述根据本申请的这种实施方式的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:至少一个处理单元710、至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730、显示单元740等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元710执行,使得所述处理单元710执行本说明书中描述的根据本申请各种示例性实施方式的步骤。例如,所述处理单元710可以执行如图2,图4,图5中所示的步骤。
所述存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(ROM)7203。
所述存储单元720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备700也可以与一个或多个外部设备700’(例如键盘、指向设备、蓝牙设备等)通信,使得用户能与该电子设备700交互的设备通信,和/或该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器760可以通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图8所示,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本申请实施方式的上述方法。
总体而言,本公开也涉及一种基于远程服务器的SSL证书吊销列表认证方法和装置,其通过配置把吊销列表放到不同远程服务器不同目录,设备定时去获取的方式,可以灵活的管理吊销列表。对不同的客户端提供不同的吊销列表认证服务。而且支持ftp、http、ldap等多种方式方便快捷,能给增量的管理吊销列表,方便维护。可以设置定时更新,并且展示上次更新时间以及文件数量等信息。具体而言,首先将证书吊销列表放到对应的远程服务器上,可以设置个性化的目录,比如ldap服务器ip:127.0.0.1,dn=SSL1、ip:127.0.0.1,dn=SSL2,如果是http或者ftp服务器,则需要提供自己的服务器路径以及文件名称,例如127.0.0.1/test.crl。用户可以根据自己的需求和环境放置对应的证书吊销列表(可以增减)。然后在SSL服务器上配置相应的远程服务器URL或者目录信息,可以多个,支持选择不同协议,设置不同的定时更新时间。SSL服务器根据服务器目录信息定期的去获取证书吊销列表。服务器目录信息存储和定期获取证书吊销列表分别放在两个进程单独处理,通过共享内存的方式,进行数据共享和通信,方便管理和维护。每条远程服务器配置都设置唯一ID以及一个标记位,通过轮询的方式检测某个服务器配置是否下发或者更新。拉取的时候根据不同远程服务器信息的标志位,通过多线程的方式把数据根据不同的协议不同的服务器目录存放到不同的目录。把对应的证书信息提取出序列号通过哈希算法存储到证书链信息中,相对应的附带上ID信息,这样每次校验客户端证书时,只需根据序列号找到对应的节点,如果不存在说明未被吊销;如果存在,且ID也匹配,说明客户端证书已经被吊销。相应的ssl服务器只需要引用对应的远程服务器配置,就可以在SSL双向认证的时候校验客户端证书的阶段,检测其合法性。本发明的系统涉及:远程服务器,如http服务器、ftp服务器、ldap服务器;SSL服务器定期去远程服务器上获取吊销列表下载到本地,然后解析出序列号等信息存储起来;客户端和SSL服务器交互时,SSL服务器验证客户端证书时通过配置的远程服务器站点信息校验其是否通过。远程服务器目录信息的配置增删改查处理。主要就是协议例如FTP、HTTP、LDAP以及URL信息、定期时长等配置信息。后台进程根据远程服务器配置去按目录或者文件下载、存储、解析吊销列表信息。(LDAP是目录形式,ftp和http是文件形式。但是对于SSL服务器来说,每条配置专门对应一个目录去管理。)SSL服务器和客户端的双向认证交互处理。因此,根据不同服务器不同目录实现SSL服务器对不同客户端的证书吊销校验定制,增减的配置,方便维护和管理。定时管理以及文件信息展示能给直观的给出上次更新信息以及一些文件信息,方便用户了解自己目前的配置情况。针对不同的场景支持大家广泛应用的http、ftp、以及ldap服务器,更加方便。
所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:SSL服务器定时由多个远端服务器获取吊销列表;基于所述吊销列表解析认证信息并存储在SSL服务器本地;在SSL服务器和客户端认证过程中,SSL服务器由客户端获取客户SSL证书;将所述客户SSL证书和本地的所述吊销列表中的认证信息进行匹配;根据匹配结果停止或继续SSL认证过程。该计算机可读介质还可实现如下功能:根据预定设置将多个客户端对应的吊销列表存储在多个远端服务器中,所述远端服务器包括HTTP服务器、FTP服务器、LDAP服务器。该计算机可读介质还可实现如下功能:根据所述多个远端服务器的类型在所述SSL服务器端配置对应的服务器URL地址和目录信息。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施例的方法。
以上具体地示出和描述了本申请的示例性实施例。应可理解的是,本申请不限于这里描述的详细结构、设置方式或实现方法;相反,本申请意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (6)
1.一种客户SSL证书验证方法,其特征在于,包括:
SSL服务器基于目录进程定时轮询多个远端服务器;
在远端服务器存在目录信息更新时,通过多线程获取所述远端服务器的目录信息;
基于列表进程和所述目录信息定时由多个远端服务器获取吊销列表;
基于所述吊销列表解析认证信息获取目录信息和吊销列表,并基于远端服务器的标识按照目录信息对应的目录关系将所述目录信息对应的吊销列表存储在预设内存,由所述吊销列表中提取多个客户SSL证书,将所述多个客户SSL证书存储在吊销列表的证书链中;
在SSL服务器和客户端认证过程中,SSL服务器由客户端获取客户SSL证书;
将所述客户SSL证书和本地的所述吊销列表中的认证信息进行匹配;
根据匹配结果停止或继续SSL认证过程。
2.如权利要求1所述的方法,其特征在于,还包括:
根据预定设置将多个客户端对应的吊销列表存储在多个远端服务器中,所述远端服务器包括HTTP服务器、FTP服务器、LDAP服务器。
3.如权利要求2所述的方法,其特征在于,还包括:
根据所述多个远端服务器的类型在所述SSL服务器端配置对应的服务器URL地址和目录信息。
4.如权利要求1所述的方法,其特征在于,将所述多个客户SSL证书存储在吊销列表的证书链中,包括:
提取所述多个客户SSL证书的序列号;
基于客户SSL证书的标识和序列号生成哈希值;
将所述证书的标识和哈希值对应存储在吊销列表的证书链中。
5.如权利要求1所述的方法,其特征在于,将所述客户SSL证书和本地的所述吊销列表中的认证信息进行匹配,包括:
获取所述客户SSL证书的序列号;
将所述序列号和本地所述吊销列表中的认证信息进行匹配。
6.一种客户SSL证书验证装置,其特征在于,包括:
列表模块,用于SSL服务器基于目录进程定时轮询多个远端服务器,在远端服务器存在目录信息更新时,通过多线程获取所述远端服务器的目录信息,基于列表进程和所述目录信息定时由多个远端服务器获取吊销列表;
解析模块,用于基于所述吊销列表解析认证信息获取目录信息和吊销列表,并基于远端服务器的标识按照目录信息对应的目录关系将所述目录信息对应的吊销列表存储在预设内存,由所述吊销列表中提取多个客户SSL证书,将所述多个客户SSL证书存储在吊销列表的证书链中;
证书模块,用于在SSL服务器和客户端认证过程中,SSL服务器由客户端获取客户SSL证书;
匹配模块,用于将所述客户SSL证书和本地的所述吊销列表中的认证信息进行匹配;
认证模块,用于根据匹配结果停止或继续SSL认证过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210305012.XA CN114598549B (zh) | 2022-03-25 | 2022-03-25 | 客户ssl证书验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210305012.XA CN114598549B (zh) | 2022-03-25 | 2022-03-25 | 客户ssl证书验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114598549A CN114598549A (zh) | 2022-06-07 |
CN114598549B true CN114598549B (zh) | 2023-07-07 |
Family
ID=81811223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210305012.XA Active CN114598549B (zh) | 2022-03-25 | 2022-03-25 | 客户ssl证书验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114598549B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116827648B (zh) * | 2023-07-07 | 2024-06-14 | 亚数信息科技(上海)有限公司 | 网站有效性检测方法、装置、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008252219A (ja) * | 2007-03-29 | 2008-10-16 | Nec Corp | サーバ装置およびsslサーバ証明書発行プログラム |
KR20110076474A (ko) * | 2009-12-29 | 2011-07-06 | 사단법인한국디지털케이블연구원 | 다운로드 가능한 제한수신시스템에서 crl 배포 및 적용 방법 |
CN104348870A (zh) * | 2013-08-02 | 2015-02-11 | 航天信息股份有限公司 | 基于可信时间戳的云存储系统的数据管理方法和系统 |
CN104573554A (zh) * | 2014-12-30 | 2015-04-29 | 北京奇虎科技有限公司 | 加载安全密钥存储硬件的方法和浏览器客户端装置 |
CN106921481A (zh) * | 2015-12-28 | 2017-07-04 | 航天信息股份有限公司 | 一种基于pki的租户划分及权限认证的系统和方法 |
CN107295000A (zh) * | 2017-07-12 | 2017-10-24 | 郑州云海信息技术有限公司 | 一种基于证书的通信方法及系统 |
CN112994897A (zh) * | 2021-03-22 | 2021-06-18 | 杭州迪普科技股份有限公司 | 证书查询方法、装置、设备及计算机可读存储介质 |
CN113872989A (zh) * | 2021-10-19 | 2021-12-31 | 南方电网数字电网研究院有限公司 | 基于ssl协议的认证方法、装置、计算机设备和存储介质 |
CN114157432A (zh) * | 2021-11-25 | 2022-03-08 | 上海派拉软件股份有限公司 | 数字证书获取方法、装置、电子设备、系统和存储介质 |
-
2022
- 2022-03-25 CN CN202210305012.XA patent/CN114598549B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008252219A (ja) * | 2007-03-29 | 2008-10-16 | Nec Corp | サーバ装置およびsslサーバ証明書発行プログラム |
KR20110076474A (ko) * | 2009-12-29 | 2011-07-06 | 사단법인한국디지털케이블연구원 | 다운로드 가능한 제한수신시스템에서 crl 배포 및 적용 방법 |
CN104348870A (zh) * | 2013-08-02 | 2015-02-11 | 航天信息股份有限公司 | 基于可信时间戳的云存储系统的数据管理方法和系统 |
CN104573554A (zh) * | 2014-12-30 | 2015-04-29 | 北京奇虎科技有限公司 | 加载安全密钥存储硬件的方法和浏览器客户端装置 |
CN106921481A (zh) * | 2015-12-28 | 2017-07-04 | 航天信息股份有限公司 | 一种基于pki的租户划分及权限认证的系统和方法 |
CN107295000A (zh) * | 2017-07-12 | 2017-10-24 | 郑州云海信息技术有限公司 | 一种基于证书的通信方法及系统 |
CN112994897A (zh) * | 2021-03-22 | 2021-06-18 | 杭州迪普科技股份有限公司 | 证书查询方法、装置、设备及计算机可读存储介质 |
CN113872989A (zh) * | 2021-10-19 | 2021-12-31 | 南方电网数字电网研究院有限公司 | 基于ssl协议的认证方法、装置、计算机设备和存储介质 |
CN114157432A (zh) * | 2021-11-25 | 2022-03-08 | 上海派拉软件股份有限公司 | 数字证书获取方法、装置、电子设备、系统和存储介质 |
Non-Patent Citations (1)
Title |
---|
Windows Server 2012系统的PKI与SSL网站安全连接研究;相成;《黑龙江科技信息》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114598549A (zh) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109165500B (zh) | 一种基于跨域技术的单点登录认证系统及方法 | |
CN113179323B (zh) | 用于负载均衡设备的https请求处理方法、装置及系统 | |
US10992656B2 (en) | Distributed profile and key management | |
CN111258602B (zh) | 信息更新方法和装置 | |
CN110611657A (zh) | 一种基于区块链的文件流处理的方法、装置及系统 | |
CN112039826A (zh) | 一种应用于小程序端的登录方法和装置 | |
CN108923925B (zh) | 应用于区块链的数据存储方法和装置 | |
CN110839004A (zh) | 访问认证的方法和装置 | |
CN113364795B (zh) | 一种数据传输方法和代理服务器 | |
CN113271296A (zh) | 一种登录权限管理的方法和装置 | |
US11443023B2 (en) | Distributed profile and key management | |
CN111049789B (zh) | 域名访问的方法和装置 | |
CN114598549B (zh) | 客户ssl证书验证方法及装置 | |
CN112560003A (zh) | 用户权限管理方法和装置 | |
CN113709111B (zh) | 连接的建立方法及装置 | |
CN111814131A (zh) | 一种设备注册和配置管理的方法和装置 | |
CN114584381A (zh) | 基于网关的安全认证方法、装置、电子设备和存储介质 | |
JP2013008140A (ja) | シングルサインオンシステム、シングルサインオン方法および認証サーバ連携プログラム | |
CN111787044A (zh) | 物联网终端平台 | |
CN112966286B (zh) | 用户登录的方法、系统、设备和计算机可读介质 | |
CN115134088A (zh) | 客户端证书验证方法、系统及电子设备 | |
CN113343155B (zh) | 一种请求处理方法及装置 | |
CN110602074B (zh) | 一种基于主从关联的业务身份使用方法、装置及系统 | |
CN110166226B (zh) | 一种生成秘钥的方法和装置 | |
CN113765876A (zh) | 报表处理软件的访问方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |