针对数字证书到期日的监控方法和装置与流程

文档序号:18884856发布日期:2019-10-15 20:44阅读:243来源:国知局
针对数字证书到期日的监控方法和装置与流程

本公开涉及网络安全技术领域,特别是涉及一种针对数字证书到期日的监控方法和装置。



背景技术:

随着网络安全技术的发展,用户对网络信息传输的保密性和完整性要求越来越高。在信息传输过程中使用数字证书进行数据加密和身份验证,可以提高信息传输的保密性和完整性。

现行的数字证书格式一般遵循itutx.509国际标准。一个标准的x.509数字证书可以包含以下内容:版本信息、唯一的序列号、签名算法、发行机构名称、有效期、证书所有人的名称、公钥、证书发行者对证书的签名信息。可见每个数字证书均有一定的时效性,即具有到期日。数字证书到期日仅取决于数字证书认证中心(certificateauthority,简称ca)签发日期和有效期。如果数字证书到期更新不及时,则会引起通信故障。如何准确、高效地监控到每一台设备、每一个文件路径下的数字证书及其到期日,并及时更换数字证书,避免通信故障,是亟待解决的问题。



技术实现要素:

本公开的一个方面提供了一种针对数字证书到期日的监控方法,包括:获取数字证书信息,所述数字证书信息包括多个数字证书的部署地址;根据所述多个数字证书的部署地址,获取所述多个数字证书中的每个数字证书;以及针对获取到的所述每个数字证书进行数字证书到期日监控。

可选地,该方法还包括:确定所述每个数字证书的证书类型;以及所述针对获取到的所述每个数字证书进行数字证书到期日监控包括:基于所述证书类型获取所述每个数字证书的数字证书认证中心ca签发日期和有效期,以便对所述每个数字证书进行数字证书到期日监控。

可选地,所述证书类型包括:未加密未封装类,加密类和封装类;以及所述基于所述证书类型获取所述每个数字证书的数字证书认证中心ca签发日期和有效期,包括:针对属于所述未加密未封装类的第一数字证书,直接读取所述第一数字证书的ca签发日期和有效期;针对属于所述加密类的第二数字证书,先下载并解析所述第二数字证书,再基于解析内容获取所述第二数字证书的ca签发日期和有效期;以及针对属于所述封装类的第三数字证书,调用预定工具并利用调用的所述预定工具读取所述第三数字证书的ca签发日期和有效期。

可选地,所述根据所述多个数字证书的部署地址,获取所述多个数字证书中的每个数字证书,包括:采用第一通信方式,根据所述第一数字证书的部署地址获取所述第一数字证书;采用第二通信方式,根据所述第二数字证书的部署地址获取所述第二数字证书;以及采用第三通信方式,根据所述第三数字证书的部署地址获取所述第三数字证书。

可选地,所述第一通信方式包括:https方式;和/或所述第二通信方式包括:ftp方式;和/或所述第三通信方式包括:ssh2方式。

本公开的另一个方面提供了一种针对数字证书到期日的监控装置,包括:第一获取模块,用于获取数字证书信息,所述数字证书信息包括多个数字证书的部署地址;第二获取模块,用于根据所述多个数字证书的部署地址,获取所述多个数字证书中的每个数字证书;以及监控模块,用于针对获取到的所述每个数字证书进行数字证书到期日监控。

可选地,该装置还包括:确定模块,用于确定所述每个数字证书的证书类型;以及所述监控模块还用于:基于所述证书类型获取所述每个数字证书的数字证书认证中心ca签发日期和有效期,以便对所述每个数字证书进行数字证书到期日监控。

可选地,所述证书类型包括:未加密未封装类,加密类和封装类;以及所述监控模块包括:第一监控单元,用于针对属于所述未加密未封装类的第一数字证书,直接读取所述第一数字证书的ca签发日期和有效期;第二监控单元,用于针对属于所述加密类的第二数字证书,先下载并解析所述第二数字证书,再基于解析内容获取所述第二数字证书的ca签发日期和有效期;以及第三监控单元,用于针对属于所述封装类的第三数字证书,调用预定工具并利用调用的所述预定工具读取所述第三数字证书的ca签发日期和有效期。

本公开的另一方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。

本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。

本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。

附图说明

为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:

图1示意性示出了根据本公开实施例的适于针对数字证书到期日的监控方法和装置的应用场景;

图2示意性示出了根据本公开另一实施例的适于针对数字证书到期日的监控方法和装置的应用场景;

图3示意性示出了根据本公开实施例的针对数字证书到期日的监控方法的流程图;

图4示意性示出了根据本公开实施例的针对数字证书到期日的监控装置的框图;

图5示意性示出了根据本公开另一实施例的针对数字证书到期日的监控装置的框图;以及

图6示意性示出了根据本公开实施例的电子设备的框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。在使用类似于“a、b或c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b或c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。

附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。

针对数字证书到期日的监控,一种解决方案在于根据域名读取数字证书的到期日并进行监控。这种监控方案在集中式部署数字证书以及多域名下不同节点使用1张多域名数字证书的场景下监控效率低,而在单域名下不同节点使用不同的数字证书的场景下监控不全面。

本公开的实施例提供了一种针对数字证书到期日的监控方法以及能够应用该方法的针对数字证书到期日的监控装置。该方法包括获取数字证书信息,数字证书信息包括多个数字证书的部署地址。根据多个数字证书的部署地址,获取多个数字证书中的每个数字证书。针对获取到的每个数字证书进行数字证书到期日监控。

图1示意性示出了根据本公开实施例的适于针对数字证书到期日的监控方法和装置的应用场景。图2示意性示出了根据本公开另一实施例的适于针对数字证书到期日的监控方法和装置的应用场景。

需要注意的是,图1和图2所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

目前大型互联网公司一般都会将很多数字证书部署在不同设备上。例如根据网络划分不同,将数字证书部署在软负载、负载均衡设备和服务器上。例如如图1所示,对于域名不同的多个业务节点例如节点1~节点n而言,如果这些业务节点的数字证书具有相同的ca签发日期和有效期,则可以将这些业务节点的数字证书整合在1张数字证书(如1张多域名数字证书)上,并且可以将该数字证书部署在这些业务节点的负载均衡设备上使用。再例如如图2所示,对于域名相同的多个业务节点例如节点1~节点n而言,如果这些业务节点的数字证书并不具有相同的ca签发日期和有效期,则需要将各业务节点的数字证书部署在各业务节点上使用。而对于不同域名但使用1张多域名数字证书的情况,使用相关技术中提供的数字证书到期日监控方案,需要多次重复获取并监控同一数字证书的到期日,因而监控效率低。而对于使用相同域名但使用不同数字证书的情况,使用相关技术中提供的数字证书到期日监控方案,却只会获取并监控其中1张数字证书的到期日,因而监控不全面。

通过本公开实施例提供的技术方案,能够基于部署地址对数字证书进行数字证书到期日监控。并且针对图1所示的应用场景,由于所有的业务节点具有相同的到期日,因此不需要根据域名遍历每个业务节点来对每个业务节点进行单独监控,只需要监控负载均衡设备上的多域名数字证书即可,因此可以提高监控效率。而针对图2所示的应用场景,由于不同的业务节点具有不同的到期日,并且这些业务节点使用了相同的域名,因此根据部署地址遍历每个业务节点来对每个业务节点进行单独监控,可以避免根据域名监控而导致部分节点被漏监,进而可以避免监控不全面。

以下参考附图并结合具体实施例详细阐述本公开。

图3示意性示出了根据本公开实施例的针对数字证书到期日的监控方法的流程图。

如图3所示,该方法包括操作s310~s330。

在操作s310,获取数字证书信息,数字证书信息包括多个数字证书的部署地址。

在本公开实施例中,部署数字证书时可以记录数字证书信息并将记录内容存储在数字证书信息存储模块。

具体地,针对一个互联网公司而言,可以将该公司部署的所有数字证书的数字证书信息存储在一个数字证书信息存储模块中。

更具体地,在本公开实施例中,数字证书信息除了包括数字证书(如供一个互联网公司使用的所有数字证书)的部署地址之外,还可以包括但不限于设备类型、文件名、读取方式、监控时间、密码等数字证书相关信息。

数字证书信息获取模块与数字证书信息存储模块连接,用于当开始进行数字证书到期日监控时,从数字证书信息存储模块查询数字证书信息。例如,查询每个数字证书的部署地址等。

接下来,在操作s320,根据多个数字证书的部署地址,获取多个数字证书中的每个数字证书。

由于数字证书是部署在具体设备(如服务器、负载均衡设备、软负载等)的具体路径上的,因此可以按照如下方式之一获取每个数字证书。

方式1,针对每个数字证书,先确定部署该数字证书的具体设备,然后与该具体设备建立连接。响应于与具体设备建立连接,再确定该具体设备部署该数字证书的文件路径,然后根据该文件路径获取该数字证书。

方式2,先确定所有部署有数字证书的具体设备,然后遍历每个具体设备,并针对每个具体设备遍历所有的数字证书路径,从而获取部署在该具体设备上的所有数字证书。

应该理解,在本公开实施例中,不同类型的数字证书可以采用不同的手段获取。

然后,在操作s330,针对获取到的每个数字证书进行数字证书到期日监控。

具体地,在获取每个数字证书后,进而可以通过数字证书信息获取模块获取每个数字证书的到期日。然后通过时间及阈值获取模块获取当前日期和预设阀值。并针对每个数字证书,通过比较模块比较其到期日与当前日期。如果比较结果表明当前日期提前于数字证书的到期日,且当前日期与该数字证书的到期日的时间差小于或等于预设阈值,则通过比较模块向报警模块发送报警信息。

在本公开实施例中,报警模块用于向数字证书管理人员发送报警信息并接收管理人员对此回复的短信,同时将报警信息和管理人员回复的短信内容发送给日志记录模块。

应该理解,如果管理人员无回复或者回复的短信内容为空,则认为没有收到反馈。这种情况下,可以在日终时,即每日24时,可以通过报表模块,根据当日的日志信息进行汇总并给管理人员发送邮件通知。如果管理人员回复的短信内容不为空,则为了防止监控不到数字证书过期,可以更新数字证书信息,设置为在预设延后时间后,再次发起监控行为。

具体地,除了通过比较模块向报警模块发送报警信息之外,还可以通过比较模块向数字证书信息存储模块发送预设延后时间。如此,如果管理人员回复的短信内容不为空,则在预设延后时间后,再次发起监控行为。

与现有技术按域名获取数字证书进行监控,在集中式部署数字证书以及多域名数字证书的场景下监控效率低,而在单域名下不同节点使用不同的数字证书的场景下监控不全面相比,通过本公开实施例,采用根据部署地址获取数字证书的监控手段,可以克服现有技术中的上述缺陷,能够全面监控并提高监控效率,进而可以避免由于数字证书到期更新不及时而导致的通信失败。

作为一种可选的实施例,该方法例如还可以包括确定每个数字证书的证书类型。

对应地,在本公开实施例中,上述操作针对获取到的每个数字证书进行数字证书到期日监控例如可以包括:基于证书类型获取每个数字证书的ca签发日期和有效期,以便对每个数字证书进行数字证书到期日监控。

由于普通的数字证书(如未加密未封装的数字证书),可以直接读取到期日,而特殊的数字证书(如加密或者封装的数字证书),则无法直接读取到期日。因此,在本公开实施例中,对于不同类型的数字证书,可以采用不同的获取方式获取相应的到期日。

作为一种可选的实施例,上述证书类型例如可以包括但不限于:未加密未封装类,加密类和封装类。

对应地,在本公开实施例中,上述操作基于证书类型获取每个数字证书的数字证书认证中心ca签发日期和有效期例如可以包括:针对属于未加密未封装类的第一数字证书,直接读取第一数字证书的ca签发日期和有效期;针对属于加密类的第二数字证书,先下载并解析第二数字证书,再基于解析内容获取第二数字证书的ca签发日期和有效期;以及针对属于封装类的第三数字证书,调用预定工具并利用调用的预定工具读取第三数字证书的ca签发日期和有效期。

具体地,在本公开实施例中,对于未加密未封装的数字证书,可以直接读取数字证书的ca签发日期和有效期。对于加密的数字证书(即存在密码保护的数字证书),可以采取将数字证书下载到监控设备或者服务器再处理的方式,获取数字证书的ca签发日期和有效期。对于封装的数字证书,可以采取远程调用专用工具即预定工具再处理的方式,获取数字证书的ca签发日期和有效期。

即,数字证书信息获取模块针对不同种类的数字证书,主要采取三种方式获取数字证书的过期日:直接读取、下载后解析、远程调用专用工具。

例如,对于https(hypertexttransportprotocolserver,超文本传送协议服务器)站点证书,可以通过模拟访问https站点去读取此类数字证书的到期日。例如,jks(javakeystore)是一种java语言的密钥库文件,jks文件包含数字证书和其它信息,因此可以通过监控设备下载jks文件并输入jks文件密码进行文件解析,从而获取到相应的到期日。例如,ibm(internationalbusinessmachinescorporation,国际商业机器公司)的密钥数据库文件kdb(knowledgedatabase)文件,需要使用ibm的密钥管理ikeyman工具并输入密码,才可以获取数字证书到期日。

作为一种可选的实施例,上述操作根据多个数字证书的部署地址,获取多个数字证书中的每个数字证书例如可以包括:采用第一通信方式,根据第一数字证书的部署地址获取第一数字证书;采用第二通信方式,根据第二数字证书的部署地址获取第二数字证书;以及采用第三通信方式,根据第三数字证书的部署地址获取第三数字证书。

具体地,数字证书信息获取模块从数字证书信息存储模块查询数字证书信息,并根据数字证书信息选择通信方式。其中通信方式包括但不限于https、ftp(filetransferprotocol,文件传输协议)和ssh2(secureshell2,远程管理协议)。

作为一种可选的实施例,第一通信方式包括但不限于https方式。和/或,第二通信方式包括但不限于ftp方式。和/或,第三通信方式包括但不限于ssh2方式。

具体地,对于https站点证书,可以通过模拟访问https站点d的方式,直接读取站点证书的ca签发日期和有效期。读取jks文件内的数字证书,需要通过ftp方式将jks文件下载到监控设备或者服务器并输入jks文件密码进行文件解析,才可以获取数字证书到期日。对于ibm的密钥数据库文件kdb文件,需要通过ssh2方式远程调用ibm的密钥管理ikeyman工具并输入密码,才可以读取数字证书到期日。

图4示意性示出了根据本公开实施例的针对数字证书到期日的监控装置的框图。

如图4所示,针对数字证书到期日的监控装置400包括第一获取模块401、第二获取模块402和监控模块403。该监控装置可以执行上面参考方法实施例部分描述的方法,在此不再赘述。

具体地,第一获取模块401,用于获取数字证书信息,数字证书信息包括多个数字证书的部署地址。

第二获取模块402,用于根据多个数字证书的部署地址,获取多个数字证书中的每个数字证书。

监控模块403,用于针对获取到的每个数字证书进行数字证书到期日监控。

与现有技术按域名获取数字证书进行监控,在集中式部署数字证书以及多域名数字证书的场景下监控效率低,而在单域名下不同节点使用不同的数字证书的场景下监控不全面相比,通过本公开实施例,采用根据部署地址获取数字证书的监控手段,可以克服现有技术中的上述缺陷,能够全面监控并提高监控效率,进而可以避免由于数字证书到期更新不及时而导致的通信失败。

图5示意性示出了根据本公开另一实施例的针对数字证书到期日的监控装置的框图。

作为一种可选的实施例,如图5所示,该装置除了包括如图4所示的第一获取模块401、第二获取模块402和监控模块403之外,例如还可以包括:确定模块501。具体地,确定模块501用于确定每个数字证书的证书类型。并且,在本公开实施例中,监控模块403例如还可以用于基于证书类型获取每个数字证书的数字证书认证中心ca签发日期和有效期,以便对每个数字证书进行数字证书到期日监控。

作为一种可选的实施例,上述证书类型可以包括但不限于:未加密未封装类,加密类和封装类。对应地,在本公开实施例中,上述监控模块例如可以包括:第一监控单元、第二监控单元和第三监控单元。具体地,第一监控单元用于针对属于未加密未封装类的第一数字证书,直接读取第一数字证书的ca签发日期和有效期。第二监控单元用于针对属于加密类的第二数字证书,先下载并解析第二数字证书,再基于解析内容获取第二数字证书的ca签发日期和有效期。第三监控单元用于针对属于封装类的第三数字证书,调用预定工具并利用调用的预定工具读取第三数字证书的ca签发日期和有效期。

需要说明的是,装置部分的实施例方式与方法部分的实施例方式对应类似,并且所达到的技术效果也对应类似,在此不再赘述。

根据本公开的实施例的模块、单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,第一获取模块401、第二获取模块402和监控模块403中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一获取模块401、第二获取模块402和监控模块403中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块401、第二获取模块402和监控模块403中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

图6示意性示出了根据本公开实施例的电子设备的框图。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图6所示,电子设备600包括处理器610、计算机可读存储介质620。该电子设备600可以执行根据本公开实施例的方法。

具体地,处理器610例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器610还可以包括用于缓存用途的板载存储器。处理器610可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

计算机可读存储介质620,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(hdd);光存储装置,如光盘(cd-rom);存储器,如随机存取存储器(ram)或闪存;等等。

计算机可读存储介质620可以包括计算机程序621,该计算机程序621可以包括代码/计算机可执行指令,其在由处理器610执行时使得处理器610执行根据本公开实施例的方法或其任何变形。

计算机程序621可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序621中的代码可以包括一个或多个程序模块,例如包括621a、模块621b、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器610执行时,使得处理器610可以执行根据本公开实施例的方法或其任何变形。

根据本公开的实施例,第一获取模块401、第二获取模块402和监控模块403中的至少一个可以实现为参考图6描述的计算机程序模块,其在被处理器610执行时,可以实现上面描述的相应操作。

本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本领域技术人员可以理解,尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1