CN112187708A - 数字证书的证书链的自动补全方法及设备 - Google Patents
数字证书的证书链的自动补全方法及设备 Download PDFInfo
- Publication number
- CN112187708A CN112187708A CN201910604279.7A CN201910604279A CN112187708A CN 112187708 A CN112187708 A CN 112187708A CN 201910604279 A CN201910604279 A CN 201910604279A CN 112187708 A CN112187708 A CN 112187708A
- Authority
- CN
- China
- Prior art keywords
- certificate
- certificate chain
- path
- chain
- information
- 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.)
- Granted
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/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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/3265—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 chains, trees or paths; Hierarchical trust model
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明的目的是提供一种数字证书的证书链的自动补全方法及设备,本发明可以实现用户在配置数字证书时,自动检测数字证书及证书链有效性,并且能够在证书链不完整或证书链出现错误时,自动补全或自动更正证书链;另外,可在证书链完整且存在更优的证书链路径时,提供更优的证书链路径方案。从而大大提高上线部署效率,减少运维及时间成本,并能通过更优证书链路径提升网站访问体验。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种数字证书的证书链的自动补全方法及设备。
背景技术
随着互联网的发展,越来越多的网站开始关注自身网站的安全问题,由于HTTP协议是明文传输的,这就很难避免网站在访问过程中数据被窃听、被篡改(即中间人攻击)的风险,解决中间人攻击的最优手段就是网站开启数字证书。目前甚至一些浏览器直接会将未使用数字证书的网站标记为不安全,这就促使了越来越多的网站开始启用数字证书。
网站使用数字证书在提升了网站访问安全性的同时,也带来了一些问题:数字证书的证书链问题。网站在配置证书时,经常会遇到忘记配置完整的证书链,结果导致访问时报证书错误,导致网站无法正常访问,造成不良影响和损失。
现有方案一中:通过在生产环境或测试环境中部署,并进行各种浏览器访问,以检测证书链是否存在问题。如果存在证书链问题,就需要进行证书链的问题排查。很显然,这种方式效率较低,耗费相应的人力、时间成本,无法快速部署上线。而且,如果忘记测试这一步,而直接上线,则会造成更大的问题。
现有方案二中:通过相应的程序检测证书链的完整性,该程序可以给出证书链是否完整的结果。显然,该方案,只能给出是否完整的结论,并不能提供一个有效的补全方案,更不能提供更优的证书链补全方案。在证书链存在不完整时,仍需要人工介入来进行后继处理。显然,这种方式依旧没能达到更好的解决问题方式,依旧不能提高上线效率。
发明内容
本发明的一个目的是提供一种数字证书的证书链的自动补全方法及设备。
根据本发明的一个方面,提供了一种数字证书的证书链的自动补全方法,该方法包括:
采集信任的数字证书的证书链信息,并保存到数据库模块中;
获取API请求,并从所述API请求中获取待检查的数字证书,对所述待检查的数字证书中的证书链的路径完整性进行检测;
在检测到所述待检查的数字证书的证书链的路径不完整时,根据所述数据库模块中的信任的数字证书的证书链信息,对所述待检查的数字证书的证书链的路径进行自动补全。
进一步的,上述方法中,获取API请求,并从所述API请求中获取待检查的数字证书,对所述待检查的数字证书中的证书链的路径完整性进行检测,包括:
获取API请求;
从所述API请求中递归解析待检查的数字证书中的内容及其证书链;
对解析到的内容和证书链进行证书格式校验,以得到具有有效路径的证书链;
对具有有效路径的证书链的路径完整性进行检测。
进一步的,上述方法中,对解析到的内容和证书链进行证书格式校验,以得具有有效路径的证书链,包括:
基于所述解析到的内容,对待检查的数字证书的证书格式进行校验,
若证书格式校验成功,依次对解析到的证书链中的每两个相邻的证书的父亲关键信息标识进行比对,以验证每两个相邻的证书的父子关系是否成立,
若证书链中的每两个相邻的证书的父子关系均成立,则将该证书链,作为具有有效路径的证书链;
若证书链中的某两个相邻的证书的父子关系不成立,则丢弃所述证书链中父子关系不成立的该两个相邻的证书及其之后的证书,并将所述证书链中剩余的未丢弃的父子关系成立的证书,作为具有有效路径的证书链。
进一步的,上述方法中,在检测到所述待检查的数字证书的证书链的路径不完整时,根据所述数据库模块中的信任的数字证书的证书链信息,对所述待检查的数字证书的证书链的路径进行自动补全,包括:
在检测到具有有效路径的证书链的路径不完整时,根据所述数据库模块中的信任的数字证书的证书链信息,对所述具有有效路径的证书链的路径进行自动补全。
进一步的,上述方法中,,根据所述数据库模块中的信任的数字证书的证书链信息,对所述具有有效路径的证书链的路径进行自动补全,包括:
根据所述数据库模块中的信任的数字证书的证书链信息,将所述具有有效路径的证书链的路径自动补全为具有最优完整路径的证书链。
进一步的,上述方法中,所述具有最优完整路径的证书链包括:
具有支持浏览器服务的平台的数量最多、且路径最短的完整路径的证书链。
进一步的,上述方法中,根据所述数据库模块中的信任的数字证书的证书链信息,将所述具有有效路径的证书链的路径自动补全为具有最优完整路径的证书链,包括:
根据具有有效路径的证书链中的最后一个辈分最高证书中的父亲关键信息标识,在所述数据库模块中查找符合该父亲关键信息标识、并且是支持浏览器服务的平台的数量最多且最短的路径,作为剩余证书路径;
根据所述剩余证书路径中的关键信息证书指纹值,在所述数据库模块中查找到对应的证书内容,依次追加找到的证书内容到所述具有有效路径的证书链中,以得具有最优完整路径的证书链。
进一步的,上述方法中,采集信任的数字证书的证书链信息,并保存到数据库模块中之后,还包括:
基于采集到的信任的数字证书的证书链信息,计算采集到的信任的数字证书的证书链的支持平台数及路径长度值,保存到所述数据库模块中。
根据本发明的另一方面,还提供一种数字证书的证书链的自动补全系统,其中,该系统包括:
证书链信息采集服务模块,用于采集信任的数字证书的证书链信息,并保存到数据库模块中;
数据库模块,用于保存所述信任的数字证书的证书链信息;
证书链自动补全服务模块,用于获取API请求,并从所述API请求中获取待检查的数字证书,对所述待检查的数字证书中的证书链的路径完整性进行检测;并在检测到所述待检查的数字证书的证书链的路径不完整时,根据所述数据库模块中的信任的数字证书的证书链信息,对所述待检查的数字证书的证书链的路径进行自动补全。
根据本发明的另一方面,还提供一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述任一项所述的方法。
根据本发明的另一方面,还提供一种用于在网络设备端信息处理的设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行上述任一项所述的方法。
与现有技术相比,本发明可以实现用户在配置数字证书时,自动检测数字证书及证书链有效性,并且能够在证书链不完整或证书链出现错误时,自动补全或自动更正证书链;另外,可在证书链完整且存在更优的证书链路径时,提供更优的证书链路径方案。从而大大提高上线部署效率,减少运维及时间成本,并能通过更优证书链路径提升网站访问体验。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出本发明一实施例的数字证书的证书链的自动补全系统的示意图;
图2示出本发明一实施例的证书链自动补全服务模块的示意图;
图3示出本发明一实施例的证书链信息采集服务模块的示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
如图1所示,本发明提供一种数字证书的证书链的自动补全方法,所述方法包括:
步骤S1,证书链信息采集服务模块采集信任的数字证书的证书链信息,并保存到数据库模块中;
在此,所述证书链信息可以包含最优证书链路径、证书内容、关键信息标识、有效期、指纹信息、签发机构名称、证书类型、是否可信任标识等;
步骤S2,证书链自动补全服务模块获取API请求,并从所述API请求中获取待检查的数字证书,对所述待检查的数字证书中的证书链的路径完整性进行检测;
步骤S3,证书链自动补全服务模块在检测到所述待检查的数字证书的证书链的路径不完整时,根据所述数据库模块中的信任的数字证书的证书链信息,对所述待检查的数字证书的证书链的路径进行自动补全。
在此,证书链自动补全系统由三大部分中组成:证书链自动补全服务模块、数据库模块、证书链信息采集模块。
证书链信息采集服务模块可以定期主动在网络空间中采集所有根证书及中间证书的信息,并按照一定的数据格式要求,更新到数据库模块模块中;
证书链自动补全服务模块,可以通过提供的API接口,对外直接提供数字证书的完整性检测,并在证书链存在不完整对问题时,可以基于数据库模块中的信任的数字证书的证书链信息,对待检查的数字证书的证书链进行自动补全。
本发明可以实现用户在配置数字证书时,自动检测数字证书的证书链完整性,并且能够在证书链不完整(包括证书链出现错误)时,自动补全(自动更正)证书链。本发明不仅可以验证书链的完整性,还能够在证书链存在不完整的情况下,提供完整证书链的内容,可以网站上线部署数字证书的效率,减轻运维人员的工作量。
如图2所示,本发明的数字证书的证书链的自动补全方法一实施例中,步骤S2,证书链自动补全服务模块获取API请求,并从所述API请求中获取待检查的数字证书,对所述待检查的数字证书的的证书链的路径完整性进行检测,包括:
步骤S21,API服务模块获取API请求;
在此,API服务模块可以对外直接提供证书链自动补全服务,主要负责处理API请求,从请求中获取网站域名、网站证书链内容等,并负责响应处理结果;
步骤S22,递归解析格式校验模块从所述API请求中递归解析待检查的数字证书中的内容及其证书链;
在此,在递归解析格式校验模块中,会按照API服务模块中获取到的数字证书的证书链,递归解析每个数字证书的证书链,同时会对每个数字证书的证书链做证书格式的校检;
步骤S23,证书链验证模块对解析到的内容和证书链进行证书格式校验,以得到具有有效路径的证书链;
在此,证书链验证模块可以根据解析后的证书链内容中的关键信息进行当前证书链的有效性验证;
步骤S24,证书链更优补全模块对具有有效路径的证书链的路径完整性进行检测。
在此,说明一下证书链的结构由前向后的组成为:
网站自身证书->中间证书1->中间证书2;
处于这个链中,两个相邻的证书,它们属于父子关系,前面的属于孩子(称呼为子证书),后面的属于父亲(称呼为父证书)。
如图2所示,证书链自动补全服务模块,可以通过提供的API接口,对外直接提供数字证书有效性、证书链有效性及路径完整性检测,并在证书链存在路径不完整的问题时,可以基于数据库模块中的信任的数字证书的证书链信息,对待检查的数字证书的证书链进行自动补全。
本实施例通过在对所述待检查的数字证书的的证书链的路径完整性进行检测之前,先进行证书格式校验,保证后面对完整性检测效率更高、更准确。
本发明的数字证书的证书链的自动补全方法一实施例中,步骤S23,证书链验证模块对解析到的内容和证书链进行证书格式校验,以得具有有效路径的证书链,包括:
步骤S231,基于所述解析到的内容,对待检查的数字证书的证书格式进行校验,
步骤S232,若证书格式校验成功,依次对解析到的证书链中的每两个相邻的证书的父亲关键信息标识key进行比对,以验证每两个相邻的证书的父子关系是否成立,
在此,如图2所示,可以通过在关键信息提取模块提取待检查的数字证书的证书有效期等信息,所述关键信息提取模块还可以提取证书格式校验成功的数字证书的证书链中的父亲关键信息标识key;
步骤S233,若证书链中的每两个相邻的证书的父子关系均成立,则将该证书链,作为具有有效路径的证书链;
步骤S234,若证书链中的某两个相邻的证书的父子关系不成立,则丢弃所述证书链中父子关系不成立的该两个相邻的证书及其之后的证书,并将所述证书链中剩余的未丢弃的父子关系成立的证书,作为具有有效路径的证书链。
在此,如果证书格式校检失败,说明网站自身的数字证书就有问题,则会终止,可以直接返回,并提示网站证书格式错误;
如果证书格式校验通过,而是证书链中的某个中间证书校检失败,此时会终止递归解析模块,只使用已经校检成功的部分,丢弃失败及之后的证书内容,继续对所述待检查的数字证书的的证书链的路径完整性进行检测。
具体的,根据前面提到的证书链的结构:两个相邻的证书,子证书中会存储父证书的父亲关键信息标识key,且父证书中也会存储自己的这个父亲关键信息标识key。
所以证书格式有效性验证,就是通过对解析后的证书,提取父亲关键信息标识key,比对提取出的父亲关键信息标识key值,以证明其父子关系是否成立。
当父子关系验证不成立,此时只会保留已经验证父子关系成立的数字链的部分,丢弃到未通过父子关系验证及及以后的部分的数字链,继续对所述待检查的数字证书的的证书链的路径完整性进行检测。
具有有效路径的证书链,是指即证书链中所有相邻的证书都符合父子关系;
具有完整路径的证书链,是指除了具备有效路径特征外,证书链还具备:最后面的证书(即辈分最高的证书)的父亲是根证书,这样的就是完整路径的证书链。
根证书即各大平台、浏览器内置的可信任根证书,网站证书+中间证书+根证书,这样的一条结构角色构成了路径完整的信任链。
本发明的数字证书的证书链的自动补全方法一实施例中,步骤S3,在检测到所述待检查的数字证书的证书链的路径不完整时,根据所述数据库模块中的信任的数字证书的证书链信息,对所述待检查的数字证书的证书链的路径进行自动补全,包括:
在检测到具有有效路径的证书链的路径不完整时,根据所述数据库模块中的信任的数字证书的证书链信息,对所述具有有效路径的证书链的路径进行自动补全。
在此,在具有有效路径的证书链的基础上,对所述有效路径的证书链的路径进行自动补全,可以提供证书链的路径补全的效率和准确率。
本发明的数字证书的证书链的自动补全方法一实施例中,根据所述数据库模块中的信任的数字证书的证书链信息,对所述具有有效路径的证书链的路径进行自动补全,包括:
根据所述数据库模块中的信任的数字证书的证书链信息,将所述具有有效路径的证书链的路径自动补全为具有最优完整路径的证书链。
在此,可以有证书链更优补全模块,根据上一步获取到的具有有效路径的证书链,联动数据库模块模块,以得出当前具有有效路径的证书链是否是完整路径,是否是最优路径。
即使在当前具有有效路径的证书链已经是完整的情况下,如果存在更优的证书链路径,可以提供更优证书链,从而进一步提升了网站上线部署数字证书的效率,减轻运维人员的工作量,通过提供的更优证书链路径,提升网站访问体验。
本发明的数字证书的证书链的自动补全方法一实施例中,所述具有最优完整路径的证书链包括:
具有支持浏览器服务的平台的数量最多、且路径最短的完整路径的证书链。
本发明的数字证书的证书链的自动补全方法一实施例中,根据所述数据库模块中的信任的数字证书的证书链信息,将所述具有有效路径的证书链的路径自动补全为具有最优完整路径的证书链,包括:
步骤S31,根据具有有效路径的证书链中的最后一个辈分最高证书中的父亲关键信息标识key,在所述数据库模块中查找符合该父亲关键信息标识key、并且是支持浏览器服务的平台的数量最多且最短的路径,作为剩余证书路径;
步骤S32,根据所述剩余证书路径中的关键信息证书指纹值,在所述数据库模块中查找到对应的证书内容,依次追加找到的证书内容到所述具有有效路径的证书链中,以得具有最优完整路径的证书链。
在此,根据当前有效路径的证书链中的最后一个证书(辈分最高的证书)的,其存储的父亲关键信息标识key,在数据库模块中查找符合该父亲关键信息标识key、并且是支持平台最广、路径最短的,作为剩余证书路径(即具有有效路径的证书链的补全证书路径,该路径信息可以由证书链信息采集模块在采集证书信息时构建,并存储在数据库模块中,供证书链自动补全服务模块直接使用。
剩余证书路径是由数字证书中的另外一个关键信息证书指纹值组成,根据这些关键信息证书指纹值,可在数据库模块中查找到具体对应的证书内容,依次追加这些内容,则即是自动补全具有有效路径的证书链。
这里所支持的平台指的是提供浏览器服务的几大厂商平台分类。主要包括:目前分为四大平台:Apple iOS and macOS、Google、Microsoft Windows、Mozilla NSS。
补全时,根据父亲关键信息标识key查询可能会得到多条完整路径,此时会进入到最优路径选择逻辑:根据数据库中支持的平台数、路径最短这两个字段进行寻找:支持平台数最广,并且路径最短的最优完整路径的证书链。
本发明的数字证书的证书链的自动补全方法一实施例中,步骤S1,证书链信息采集服务模块采集信任的数字证书的证书链信息,并保存到数据库模块中之后,还包括:
基于采集到的信任的数字证书的证书链信息,计算采集到的信任的数字证书的证书链的支持平台数及路径长度值,保存到所述数据库模块中。
在此,信任的数字证书的证书链的支持平台数及路径长度值,可以是由证书链信息采集服务模块在采集信息时计算得到的,并存储到数据库中;在使用证书链自动补全服务模块进行证书链补全时,直接查询数据库模块的这些支持平台数及路径长度值的字段就可获得最优路径,无需额外复杂的计算,从而可大大提高补全服务的服务效率。
具体的,以Microsoft Windows一证书信息平台举例,证书链信息采集服务模块执行如下任务:
1)定时任务,如每天定时启动,执行一次信任的数字证书的证书链信息的采集任务;
2)基于该定时任务,从第三方证书信息平台采集信任的数字证书的证书链信息,根据不同的平台,其信息呈现方式不同,具体的采集逻辑会略微不同。但大体采集逻辑为:先采集根证书,由根证书信息再采集中间证书信息。如Microsoft Windows官方提供的查询根证书列表信息的网址中,查询获取Microsoft Windows支持的所有可信任根证书内容;
3)根据获取到的所有根证书信息,依次解析这些根证书内容,获取根证书中的签发机构信息(如父亲关键信息标识key、关键信息证书指纹值等)。之后,一方面将得到的签发机构信息存储到数据库模块中;另一面根据获取到的签发机构信息,再次查询获取该证书签发机构签发的中间证书信息;
4)根据获取到的中间证书信息,解析中间证书内容,获取该中间证书中的签发机构信息(如父亲关键信息标识key、关键信息证书指纹值等)。一方面将得到的信息与与上一轮查询到信息相关联(因为上一轮的证书,在亲属关系上为当前证书的父亲),整合证书链路径信息、证书链长度等信息,存储到数据库中;另一面根据获取到的签发机构信息,再次查询获取该证书签发机构签发的中间证书信息。以此类推,直至查到网站自身证书之前的中间证书;
5)采集查询结束后,将对此次任务涉及到更新的信任的数字证书的证书链信息,根据在采集过程中标记的支持平台(目前分为四大平台:Apple iOS and macOS、Google、Microsoft Windows、Mozilla NSS),计算该条证书链支持的平台数;并计算并校检当前证书链的路径长度;更新这些信息并存储到数据库模块中。
如图3所示,证书链信息采集模块中:
由定时任务模块驱动,将定时启动。在指定的网络空间中采集根证书和中间证书的信息;
采集根证书模块,可以负责对各大类浏览器信任的根证书的信息采集;
采集中间证书模块,通过采集到的根证书信息,进而根据根证书,采集由该根证书签发的可信任中间证书信息。该模块是一个多次迭代模块,因为存在中间证书签发中间证书的情况,所以该模型部分逻辑是根据已经获得的中间证书信息,进一步采集其签发的下一级可信任中间证书信息
证书信息整合模块,可以负责对采集模块采集到的证书信息做关键信息的整合,证书与证书之间的信息关联,并存储到数据库模块模块中;
这里的关键信息主要就是指上面里提到的父亲关键信息标识key(可以根据这个关键信息关联出证书的父子关系),以及关键信息证书指纹值(证书的唯一标识)。
证书链路径计算模块,在采集的收尾阶段,负责对此次更新的证书信息,进行综合的计算任务,主要负责对数据库中当前每条证书链的路径,重新计算其支持的平台数、路径长度,并更新数据库中表示支持平台数和路径长度的字段,并存储数据库模块中。以便辅助后续最优路径的计算(最优路径评判标准:选取支持平台数最多的,在支持平台数一致的情况下,选取路径长度最短的)。
根据本发明的另一方面,还提供一种数字证书的证书链的自动补全系统,其中,该系统包括:
证书链信息采集服务模块,用于采集信任的数字证书的证书链信息,并保存到数据库模块中;
数据库模块,用于保存所述信任的数字证书的证书链信息;
证书链自动补全服务模块,用于获取API请求,并从所述API请求中获取待检查的数字证书,对所述待检查的数字证书中的证书链的路径完整性进行检测;并在检测到所述待检查的数字证书的证书链的路径不完整时,根据所述数据库模块中的信任的数字证书的证书链信息,对所述待检查的数字证书的证书链的路径进行自动补全。
根据本发明的另一方面,还提供一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述任一项所述的方法。
根据本发明的另一方面,还提供一种用于在网络设备端信息处理的设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行上述任一项所述的方法。
本发明的各设备和存储介质实施例的详细内容,具体可参见各方法实施例的对应部分,在此,不再赘述。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (11)
1.一种数字证书的证书链的自动补全方法,其中,该方法包括:
采集信任的数字证书的证书链信息,并保存到数据库模块中;
获取API请求,并从所述API请求中获取待检查的数字证书,对所述待检查的数字证书中的证书链的路径完整性进行检测;
在检测到所述待检查的数字证书的证书链的路径不完整时,根据所述数据库模块中的信任的数字证书的证书链信息,对所述待检查的数字证书的证书链的路径进行自动补全。
2.根据权利要求1所述的方法,其中,获取API请求,并从所述API请求中获取待检查的数字证书,对所述待检查的数字证书中的证书链的路径完整性进行检测,包括:
获取API请求;
从所述API请求中递归解析待检查的数字证书中的内容及其证书链;
对解析到的内容和证书链进行证书格式校验,以得到具有有效路径的证书链;
对具有有效路径的证书链的路径完整性进行检测。
3.根据权利要求2所述的方法,其中,对解析到的内容和证书链进行证书格式校验,以得具有有效路径的证书链,包括:
基于所述解析到的内容,对待检查的数字证书的证书格式进行校验,
若证书格式校验成功,依次对解析到的证书链中的每两个相邻的证书的父亲关键信息标识进行比对,以验证每两个相邻的证书的父子关系是否成立,
若证书链中的每两个相邻的证书的父子关系均成立,则将该证书链,作为具有有效路径的证书链;
若证书链中的某两个相邻的证书的父子关系不成立,则丢弃所述证书链中父子关系不成立的该两个相邻的证书及其之后的证书,并将所述证书链中剩余的未丢弃的父子关系成立的证书,作为具有有效路径的证书链。
4.根据权利要求2或3所述的方法,其中,在检测到所述待检查的数字证书的证书链的路径不完整时,根据所述数据库模块中的信任的数字证书的证书链信息,对所述待检查的数字证书的证书链的路径进行自动补全,包括:
在检测到具有有效路径的证书链的路径不完整时,根据所述数据库模块中的信任的数字证书的证书链信息,对所述具有有效路径的证书链的路径进行自动补全。
5.根据权利要求4所述的方法,其中,根据所述数据库模块中的信任的数字证书的证书链信息,对所述具有有效路径的证书链的路径进行自动补全,包括:
根据所述数据库模块中的信任的数字证书的证书链信息,将所述具有有效路径的证书链的路径自动补全为具有最优完整路径的证书链。
6.根据权利要求5所述的方法,其中,所述具有最优完整路径的证书链包括:
具有支持浏览器服务的平台的数量最多、且路径最短的完整路径的证书链。
7.根据权利要求5所述的方法,其中,根据所述数据库模块中的信任的数字证书的证书链信息,将所述具有有效路径的证书链的路径自动补全为具有最优完整路径的证书链,包括:
根据具有有效路径的证书链中的辈分最高证书中的父亲关键信息标识,在所述数据库模块中查找符合该父亲关键信息标识、并且是支持浏览器服务的平台的数量最多且最短的路径,作为剩余证书路径;
根据所述剩余证书路径中的关键信息证书指纹值,在所述数据库模块中查找到对应的证书内容,依次追加找到的证书内容到所述具有有效路径的证书链中,以得具有最优完整路径的证书链。
8.根据权利要求7所述的方法,其中,采集信任的数字证书的证书链信息,并保存到数据库模块中之后,还包括:
基于采集到的信任的数字证书的证书链信息,计算采集到的信任的数字证书的证书链的支持平台数及路径长度值,保存到所述数据库模块中。
9.一种数字证书的证书链的自动补全系统,其中,该系统包括:
证书链信息采集服务模块,用于采集信任的数字证书的证书链信息,并保存到数据库模块中;
数据库模块,用于保存所述信任的数字证书的证书链信息;
证书链自动补全服务模块,用于获取API请求,并从所述API请求中获取待检查的数字证书,对所述待检查的数字证书中的证书链的路径完整性进行检测;并在检测到所述待检查的数字证书的证书链的路径不完整时,根据所述数据库模块中的信任的数字证书的证书链信息,对所述待检查的数字证书的证书链的路径进行自动补全。
10.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现权利要求1至8中任一项所述的方法。
11.一种用于在网络设备端信息处理的设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910604279.7A CN112187708B (zh) | 2019-07-05 | 2019-07-05 | 数字证书的证书链的自动补全方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910604279.7A CN112187708B (zh) | 2019-07-05 | 2019-07-05 | 数字证书的证书链的自动补全方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112187708A true CN112187708A (zh) | 2021-01-05 |
CN112187708B CN112187708B (zh) | 2023-07-28 |
Family
ID=73915177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910604279.7A Active CN112187708B (zh) | 2019-07-05 | 2019-07-05 | 数字证书的证书链的自动补全方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112187708B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114070587A (zh) * | 2021-10-27 | 2022-02-18 | 阿里云计算有限公司 | 一种ssl证书的检测方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6134550A (en) * | 1998-03-18 | 2000-10-17 | Entrust Technologies Limited | Method and apparatus for use in determining validity of a certificate in a communication system employing trusted paths |
US20110004763A1 (en) * | 2009-07-01 | 2011-01-06 | Sato Akane | Certificate validation method and certificate validation server and storage medium |
CN106533691A (zh) * | 2016-10-18 | 2017-03-22 | 北京信安世纪科技有限公司 | 一种数字证书有效性的验证方法及装置 |
US20180219857A1 (en) * | 2017-01-27 | 2018-08-02 | Soumendra Bhattacharya | Systems and methods for certificate chain validation of secure elements |
CN108989046A (zh) * | 2018-07-18 | 2018-12-11 | 成都知道创宇信息技术有限公司 | 一种ssl证书链自动补全方法 |
-
2019
- 2019-07-05 CN CN201910604279.7A patent/CN112187708B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6134550A (en) * | 1998-03-18 | 2000-10-17 | Entrust Technologies Limited | Method and apparatus for use in determining validity of a certificate in a communication system employing trusted paths |
US20110004763A1 (en) * | 2009-07-01 | 2011-01-06 | Sato Akane | Certificate validation method and certificate validation server and storage medium |
CN106533691A (zh) * | 2016-10-18 | 2017-03-22 | 北京信安世纪科技有限公司 | 一种数字证书有效性的验证方法及装置 |
US20180219857A1 (en) * | 2017-01-27 | 2018-08-02 | Soumendra Bhattacharya | Systems and methods for certificate chain validation of secure elements |
CN108989046A (zh) * | 2018-07-18 | 2018-12-11 | 成都知道创宇信息技术有限公司 | 一种ssl证书链自动补全方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114070587A (zh) * | 2021-10-27 | 2022-02-18 | 阿里云计算有限公司 | 一种ssl证书的检测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112187708B (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106656536B (zh) | 一种用于处理服务调用信息的方法与设备 | |
CN107122296B (zh) | 用于测试接口的数据断言的方法及设备 | |
US20140136893A1 (en) | System file repair method and apparatus | |
CN109376291B (zh) | 一种基于网络爬虫的网站指纹信息扫描的方法及装置 | |
CN111159514B (zh) | 网络爬虫的任务有效性检测方法、装置和设备及存储介质 | |
US10379844B2 (en) | Validating user interface templates for software probe configuration | |
CN112199277B (zh) | 一种基于浏览器的缺陷复现方法、装置、设备及存储介质 | |
CN109426611A (zh) | 一种软件测试方法和装置 | |
CN109324958B (zh) | 一种rest统一校验方法、装置、设备及可读存储介质 | |
CN114201408A (zh) | 回归测试方法、装置、计算机设备及存储介质 | |
CN111309586A (zh) | 一种命令测试方法、装置及其存储介质 | |
CN112328499A (zh) | 一种测试数据生成方法、装置、设备及介质 | |
WO2016086784A1 (zh) | 一种网页数据采集方法、装置及系统 | |
CN112187708B (zh) | 数字证书的证书链的自动补全方法及设备 | |
US20220046039A1 (en) | Method, device, and computer program product for abnormality detection | |
CN109508204B (zh) | 一种前端代码质量检测方法及装置 | |
US10372513B2 (en) | Classification of application events using call stacks | |
CN114465926B (zh) | 递归服务器监测方法、装置、设备及存储介质 | |
CN103577758A (zh) | 程序的代码审核方法和装置 | |
CN113672233B (zh) | 一种基于Redfish的服务器带外管理方法、装置及设备 | |
CN114238733A (zh) | 关键信息提取方法及装置、计算机存储介质、电子设备 | |
CN112000958A (zh) | 应用程序登录时逻辑漏洞的检测方法、装置及存储介质 | |
CN111104328A (zh) | 用例生成方法、装置、计算机设备和可读存储介质 | |
CN113037521A (zh) | 识别通讯设备状态的方法、通讯系统及存储介质 | |
CN111160583A (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 |