CN110766409A - Ssl证书校验方法、装置、设备及计算机存储介质 - Google Patents

Ssl证书校验方法、装置、设备及计算机存储介质 Download PDF

Info

Publication number
CN110766409A
CN110766409A CN201911017340.4A CN201911017340A CN110766409A CN 110766409 A CN110766409 A CN 110766409A CN 201911017340 A CN201911017340 A CN 201911017340A CN 110766409 A CN110766409 A CN 110766409A
Authority
CN
China
Prior art keywords
ssl certificate
certificate
path
configuration file
file
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.)
Pending
Application number
CN201911017340.4A
Other languages
English (en)
Inventor
姚朋波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WeBank Co Ltd
Original Assignee
WeBank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN201911017340.4A priority Critical patent/CN110766409A/zh
Publication of CN110766409A publication Critical patent/CN110766409A/zh
Priority to PCT/CN2020/121224 priority patent/WO2021078062A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及金融科技(Fintech)技术领域,本发明公开了一种SSL证书校验方法,该方法包括:在接收到SSL证书校验指令时,获取应用进程的进程信息;获取所述进程信息中的配置文件路径,解析所述配置文件路径对应的配置文件,获得已配置的SSL证书路径和密码;根据所述密码解密所述SSL证书路径对应的SSL证书,并获取所述SSL证书中证书信息;根据所述证书信息对所述SSL证书进行校验,并输出校验结果。本发明还公开了一种SSL证书校验装置、设备及计算机存储介质。本发明实现了SSL证书实时灵活地检测校验,有效地避免了由于SSL证书过期等原因,导致的应用进程终止的情况发生。

Description

SSL证书校验方法、装置、设备及计算机存储介质
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及SSL证书校验方法、装置、设备及计算机存储介质。
背景技术
随着互联网技术,尤其是互联网金融科技(Fintech)的飞速发展,越来越多的技术(大数据、分布式、区块链Blockchain、人工智能等)应用在金融领域,金融业务的交互场景越来越多。
金融业务交互时交易双方需要使用数字签名来表明自己的身份,并使用数字签名来进行有关的交易操作。部分金融服务中的数字签名为SSL证书,SSL证书过期等原因会造成通信故障,严重时会导致服务不可用从而造成损失,因此需要对SSL证书进行校验。当前SSL证书校验是通过定期扫描的方式,定期扫描对资源的消耗大、缺乏实时性,并且对于需要密码的SSL证书,还需要人工运营一个密码本,也就是说当前SSL证书校验较为麻烦。
发明内容
本发明的主要目的在于提出一种SSL证书校验方法、装置、设备及计算机存储介质,旨在解决当前SSL证书检测验证资源消耗大,不具有实时性和灵活性的技术问题。
为实现上述目的,本发明提供一种SSL证书校验方法,所述SSL证书校验方法包括如下步骤:
在接收到SSL证书校验指令时,获取应用进程的进程信息;
获取所述进程信息中的配置文件路径,解析所述配置文件路径对应的配置文件,获得已配置的SSL证书路径和密码;
根据所述密码解密所述SSL证书路径对应的SSL证书,并获取所述SSL证书中证书信息;
根据所述证书信息对所述SSL证书进行校验,并输出校验结果。
在一实施例中,所述获取所述进程信息中的配置文件路径,解析所述配置文件路径对应的配置文件,获得已配置的SSL证书路径和密码的步骤,包括:
获取所述进程信息中的进程文件,若所述进程文件为nginx类型的文件,则判断所述进程文件中是否包含预设参数;
若所述进程文件中包含预设参数,则根据所述预设参数提取所述进程文件中的配置文件路径;
若所述进程文件中不包含预设参数,则通过nginx-v提取所述进程文件中的配置文件路径;
解析所述配置文件路径对应的配置文件,获取所述配置文件中路径配置项对应的SSL证书路径和密码配置项对应的密码。
在一实施例中,所述获取所述进程信息中的配置文件路径,解析所述配置文件路径对应的配置文件,获得已配置的SSL证书路径和密码的步骤,包括:
获取所述进程信息中的进程文件,若所述进程文件为java类型或jsvc类型的文件,则判断所述进程文件中是否包含预设关键字;
若所述进程文件中包含预设关键字,则根据所述进程文件对应的server.xml文件构建语法树;
查询所述语法树,获得所述语法树中路径节点对应的SSL证书路径和密码节点对应的密码。
在一实施例中,所述获取所述进程信息中的配置文件路径,解析所述配置文件路径对应的配置文件,获得已配置的SSL证书路径和密码的步骤,包括:
获取所述进程信息中的进程文件,若所述进程文件为httpd类型的文件,则通过httpd-V提取所述进程文件中的配置文件路径;
解析所述配置文件路径对应的配置文件,获取所述配置文件中路径配置项对应的SSL证书路径和密码配置项对应的密码。
在一实施例中,所述根据所述密码解密所述SSL证书路径对应的SSL证书,并获取所述SSL证书中证书信息的步骤,包括:
根据所述密码解密所述SSL证书路径对应的SSL证书,并获取所述SSL证书的类型;
在所述SSL证书为jks类型时,则通过keystool命令解析所述SSL证书获得证书信息;
在所述SSL证书不是jks类型时,则通过openssl命令解析所述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证书校验程序,所述SSL证书校验程序被所述处理器执行时实现如上所述的SSL证书校验方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有SSL证书校验程序,所述SSL证书校验程序被处理器执行时实现如上所述的SSL证书校验方法的步骤。
本发明提供一种SSL证书校验方法、装置、设备及计算机存储介质。本发明实施例中服务器在接收到SSL证书校验指令时,获取应用进程的进程信息;根据进程信息获取应用进程的配置文件路径,解析配置文件路径对应的配置文件,获得已配置的SSL证书路径和密码;服务器解析SSL证书路径对应的SSL证书,获取SSL证书中证书信息;服务器根据证书信息对SSL证书进行校验,并输出校验结果。本实施例中服务器由进程信息确定配置文件,再由配置文件确定SSL证书,通过对SSL证书解析得到证书信息,以根据证书信息进行SSL证书检测判断,实现了SSL证书实时灵活检测校验,有效地避免了由于SSL证书过期等原因,导致的应用进程终止的情况发生。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明SSL证书校验方法第一实施例的流程示意图;
图3为本发明SSL证书校验装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现有的SSL证书校验是通过定期扫描的方式,定期扫描对资源的消耗大、缺乏实时性,并且对于需要密码的SSL证书,还需要人工运营一个密码本,也就是说当前SSL证书校验较为麻烦,此外,部分用户采用另外一种SSL证书校验方式,即,用户模拟正常客户,通过外网定时访问业务服务,拉取到服务器的SSL证书,然后解析证书内容,判断是否需要进行告警,这样的SSL证书校验方式能够适用于一部分业务场景,但是对于机构与机构之间的这种白名单相互访问的场景,并不适用。
本发明提供了一种SSL证书校验方法,在接收到SSL证书校验指令时,获取应用进程的进程信息;获取所述进程信息中的配置文件路径,解析所述配置文件路径对应的配置文件,获得已配置的SSL证书路径和密码;根据所述密码解密所述SSL证书路径对应的SSL证书,并获取所述SSL证书中证书信息;根据所述证书信息对所述SSL证书进行校验,并输出校验结果。本发明还公开了一种SSL证书校验装置、设备及计算机存储介质。本发明实现了SSL证书实时灵活地检测校验,有效地避免了由于SSL证书过期等原因,导致的应用进程终止的情况发生。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例SSL证书校验设备可以是PC机或服务器。
如图1所示,该SSL证书校验设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及SSL证书校验程序。
在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的SSL证书校验程序,并执行下述SSL证书校验方法中的操作,在所述处理器上运行的SSL证书校验程序被执行时所实现的方法可参照本发明SSL证书校验方法各个实施例,此处不再赘述。
基于上述硬件结构,提出本发明SSL证书校验方法实施例。
参照图2,图2为本发明SSL证书校验方法第一实施例的流程示意图,所述SSL证书校验方法包括:
步骤S10,在接收到SSL证书校验指令时,获取应用进程的进程信息。
本实施例中的SSL证书校验方法应用于SSL证书校验设备(又叫服务器),服务器接收SSL证书校验指令,SSL证书校验指令的触发方式不作具体限定,即,SSL证书校验指令可以是用户主动触发的,例如,用户在业务节点的显示界面上,输出文字“SSL证书校验”并点击“监测”按键,主动触发SSL证书校验指令,业务节点将SSL证书校验指令发送至服务器,服务器接收SSL证书校验指令;此外,SSL证书校验指令还可以是服务器自动触发的,例如,服务器中预先设置SSL证书校验指令触发条件:执行指定业务,服务器在执行指定业务时,服务器自动触发SSL证书校验指令。
服务器在接收到SSL证书校验指令时,服务器获取各个应用进程的进程信息,进程信息包括进程标识(例如进程名称)、进程相关的进程文件、进程描述信息和进程类型等等。
服务器获取应用进程的进程信息之后,服务器解析应用进程的进程信息,以确定应用进程涉及到的SSL证书,并根据SSL证书的证书内容确定SSL证书的有效性,具体地:
步骤S20,获取所述进程信息中的配置文件路径,解析所述配置文件路径对应的配置文件,获得已配置的SSL证书路径和密码。
服务器获取进程信息,服务器逐个遍历进程信息中/proc/目录下的文件,服务器找到所有/proc/${PID}/exe信息,服务器根据查找到的/proc/${PID}/exe信息确定进程文件的类型,服务器根据进程文件的类型对进程文件进行解析,获取进程文件中的配置文件路径,服务器解析配置文件路径下的配置文件,获得已配置的SSL证书路径和密码。
本实施例中进程文件的类型不作具体限定,例如,进程文件可以是nginx类型、java类型、jsvc类型或者httpd类型等等,具体地:
若进程文件是nginx类型,服务器查询进程文件中-p参数或-c参数对应的配置文件路径conf_file。若进程文件的参数中不包含-p参数或-c参数,则服务器通过nginx-V找到进程文件中配置文件路径。
若进程文件是java类型或者jsvc类型,服务器解析进程文件(又叫/proc/${PID}/cmdline文件),服务器判断进程文件中是否包含"org.apache.catalina.startup.Bootstrap"关键字,若进程文件中不包含"org.apache.catalina.startup.Bootstrap"关键字,服务器确定应用进程不涉及到数据签名校验,服务器终止后续的SSL证书检测步骤;若进程文件中包含"org.apache.catalina.startup.Bootstrap"关键字,服务器判定应用进程为则为tomcat程序,服务器根据/proc/${PID}/exe信息,查找tomcat的server.xml文件,服务器构建语法树,服务器遍历语法树,以获取Server→Service→Connector→keystoreFile|keystorePass(服务器→服务→连接器→密钥存储库|密钥存储库),服务器将进程文件和keystoreFile集合,解析到SSL证书路径,并进一步地根据keystorePass指令找到容器密码,服务器将解析得到的SSL证书路径和容器密码作为已配置的SSL证书路径和密码。
若进程文件是httpd类型,服务器通过httpd-V配置文件路径,服务器解析配置文件路径下的配置文件,服务器根据SSLCertificateFile配置项,找到已配置的SSL证书路径和密码。
本实施例中服务器根据进程文件的类型解析进程文件,获取应用进程的配置文件路径,服务器解析配置文件路径对应的配置文件,获得已配置的SSL证书路径和密码,不需要用户人工维护一个密码本,减少了用户的操作,同时服务器灵活地根据SSL证书路径和密码进行SSL证书进行,具体地:
步骤S30,根据所述密码解密所述SSL证书路径对应的SSL证书,并获取所述SSL证书中证书信息。
服务器获取SSL证书路径对应的SSL证书,服务器根据密码对SSL证书进行解密操作,得到解密后的SSL证书,服务器从解密后SSL证书中获取证书信息,具体地,包括:
步骤a1,根据所述密码解密所述SSL证书路径对应的SSL证书,并获取所述SSL证书的类型;
步骤a2,在所述SSL证书为jks类型时,则通过keystool命令解析所述SSL证书获得证书信息;
步骤a3,在所述SSL证书不是jks类型时,则通过openssl命令解析所述SSL证书获得证书信息。
即,服务器获取SSL证书路径对应的SSL证书,服务器根据密码对SSL证书进行解密操作,在SSL证书解密之后,服务器获取SSL证书的类型,若SSL证书为jks类型时,服务器通过keystool命令解析SSL证书获得证书信息;若SSL证书不是jks类型时(SSL证书为普通类型),服务器通过openssl命令解析SSL证书获得证书信息。
本实施例中,服务器根据SSL证书的类型解析SSL证书,获取SSL证书中的证书信息,以根据证书信息进行有效性判断,具体地:
步骤S40,根据所述证书信息对所述SSL证书进行校验,并输出校验结果。
服务器获取证书信息中的有效期限和证书链信息,服务器将有效期限和证书链信息输入至规则引擎,以判断SSL证书是否有效,具体地,包括:
步骤b1,提取所述证书信息中的有效期限和证书链信息,根据所述有效期限判断所述SSL证书是否超期;
步骤b2,若所述SSL证书超期,则输出SSL证书无效的校验结果;
步骤b3,若所述SSL证书没有超期,则根据所述证书链信息判断所述SSL证书是否符合所述应用进程的标准;
步骤b4,若所述SSL证书不符合所述应用进程的标准,则输出SSL证书无效的校验结果。
即,服务器提取证书信息中的有效期限和证书链信息,证书链信息中记录有证书的授权机构等信息,服务器根据有效期限判断SSL证书是否超期;若SSL证书超期,服务器输出SSL证书无效的校验结果;若SSL证书没有超期,服务器则根据证书链信息判断SSL证书是否符合应用进程的标准;即,服务器按照证书链信息进行追溯,得到SSL证书的签发机构,若SSL证书的签发机构具有业务操作权限,则SSL证书符合应用进程的标准;若SSL证书的签发机构不具有业务操作权限,则SSL证书你符合应用进程的标准,服务器确定SSL证书不符合应用进程的标准时,输出SSL证书无效的校验结果。
可以理解的是,服务器可以根据有效期限和证书链信息设置不同类型的提示,比如,若SSL证书已过期,服务器进行报警;若SSL证书一个月内过期,服务器设置一级提示,若SSL证书三个月内过期,服务器设置一级提示,此外,服务器还可以根据是否为自签名证书,证书的CA是否合法,等设置不同的告警。
本实施例中服务器由进程信息确定配置文件,再由配置文件确定SSL证书,通过对SSL证书解析得到证书信息,以根据证书信息进行SSL证书检测判断,实现了SSL证书实时灵活检测校验,有效地避免了由于SSL证书过期等原因,导致的应用进程终止的情况发生。
进一步地,基于本发明SSL证书校验方法第一实施例,提出了本发明SSL证书校验方法第二实施例。
本实施例是第一实施例中步骤S20的细化,本实施例中给出了第一种服务器获得已配置的SSL证书路径和密码的具体实现方式,包括:
获取所述进程信息中的进程文件,若所述进程文件为nginx类型的文件,则判断所述进程文件中是否包含预设参数;
若所述进程文件中包含预设参数,则根据所述预设参数提取所述进程文件中的配置文件路径;
若所述进程文件中不包含预设参数,则通过nginx-v提取所述进程文件中的配置文件路径;
解析所述配置文件路径对应的配置文件,获取所述配置文件中路径配置项对应的SSL证书路径和密码配置项对应的密码。
即,服务器遍历进程信息,以获取进程信息对应的进程文件,及进程文件的文件类型;若进程文件为nginx类型,服务器则判断进程文件中是否包含预设参数(例如,预设参数为-p参数);若进程文件中包含预设参数,则根据预设参数确定进程文件中的配置文件路径;例如,服务器获取-p参数对应的配置文件路径;若进程文件中不包含预设参数,则通过nginx-v确定初始配置路径,服务器判断进程文件中是否包含-c参数,若进程文件中不包含-c参数,服务器则将初始配置路径作为配置文件路径;若进程文件中包含-c参数,服务器判定配置文件路径的路径为相对路径,服务器获取-c参数对应的工作路径,服务器将初始配置路径和工作路径拼接作为进程文件中的配置文件路径。
服务器在得到配置文件路径之后,服务器解析配置文件路径对应的配置文件,服务器获取配置文件中路径配置项对应的SSL证书路径和密码配置项对应的密码;本实施例中减少了配置文件解析的时间,提高了SSL证书检测判断的效率。
进一步地,基于本发明SSL证书校验方法上述实施例,提出了本发明SSL证书校验方法第三实施例。
本实施例是第一实施例中步骤S20的细化,本实施例中给出了第二种服务器根据获得已配置的SSL证书路径和密码的具体实现方式,包括:
获取所述进程信息中的进程文件,若所述进程文件为java类型或jsvc类型的文件,则判断所述进程文件中是否包含预设关键字;
若所述进程文件中包含预设关键字,则根据所述进程文件对应的server.xml文件构建语法树;
查询所述语法树,获得所述语法树中路径节点对应的SSL证书路径和密码节点对应的密码。
即,服务器获取进程信息中的进程文件,若进程文件是java类型或者jsvc类型的文件,服务器解析进程文件(又叫/proc/${PID}/cmdline文件),服务器判断进程文件中是否包含"org.apache.catalina.startup.Bootstrap"关键字,其中,"org.apache.catalina.startup.Bootstrap"为java类型或者jsvc类型的文件中SSL证书关联信息的标识信息,若进程文件中不包含"org.apache.catalina.startup.Bootstrap"关键字,服务器确定应用进程不涉及到数据签名校验,服务器终止后续的SSL证书检测步骤;若进程文件中包含"org.apache.catalina.startup.Bootstrap"关键字,服务器判定应用进程为则为tomcat程序,服务器根据/proc/${PID}/exe信息,查找tomcat的server.xml文件,服务器构建语法树,服务器遍历语法树,以获取Server→Service→Connector→keystoreFile|keystorePass(服务器→服务→连接器→密钥存储库|密钥存储库),服务器将进程文件和keystoreFile集合,解析到SSL证书路径,并进一步地根据keystorePass指令找到容器密码,服务器将解析得到的SSL证书路径和容器密码作为已配置的SSL证书路径和密码。本实施例中减少了配置文件解析的时间,提高了SSL证书检测判断的效率。
进一步地,基于本发明SSL证书校验方法上述实施例,提出了本发明SSL证书校验方法第四实施例。
本实施例是第一实施例中步骤S20的细化,本实施例中给出了第三种服务器获得已配置的SSL证书路径和密码的具体实现方式,包括:
获取所述进程信息中的进程文件,若所述进程文件为httpd类型的文件,则通过httpd-V提取所述进程文件中的配置文件路径;
解析所述配置文件路径对应的配置文件,获取所述配置文件中路径配置项对应的SSL证书路径和密码配置项对应的密码。
本实施例中服务器获取进程信息中的进程文件,若进程文件是httpd类型的文件,即,进程文件中包含关键字“httpd”,服务器通过httpd–V提取进程文件中的配置文件路径,服务器解析配置文件路径下的配置文件,服务器根据SSLCertificateFile配置项,找到已配置的SSL证书路径和密码。本实施例中减少了配置文件解析的时间,提高了SSL证书检测判断的效率。
进一步地,基于本发明SSL证书校验方法上述实施例,提出本发明SSL证书校验方法第五实施例。
本实施例是第一实施例中步骤S40之后的步骤,本实施例与上述实施例的区别在于:
在检测到所述配置文件更新时,解析更新的配置文件,获得所述更新的配置文件中的SSL证书路径和密码;并执行根据所述密码解密所述SSL证书路径对应的SSL证书,并获取所述SSL证书中证书信息的步骤;
在检测到所述SSL证书更新时,解析更新的SSL证书,获取所述更新的SSL证书中证书信息,并执行根据所述证书信息对所述SSL证书进行校验,并输出校验结果的步骤。
本实施例中用户基于配置文件触发配置文件更新指令,服务器接收到配置文件更新指令时,服务器检测配置文件的状态,服务器在检测到配置文件更新时,解析更新的配置文件,获得更新的配置文件中的SSL证书路径和密码;并执行第一实施例中步骤S30:根据所述密码解密所述SSL证书路径对应的SSL证书,并获取所述SSL证书中证书信息。
服务器在检测到SSL证书更新时,服务器解析更新的SSL证书,服务器获取更新的SSL证书中证书信息,并执行第一实施例中步骤S40:根据所述证书信息对所述SSL证书进行校验,并输出校验结果的步骤。
本实施例中服务器在检测到配置文件或者SSL证书更新时,自动地对配置文件或者SSL证书进行解析,得到SSL证书的证书信息,以实现SSL证书的灵活检测校验。
参考图3,本发明实施例还提供一种SSL证书校验装置,所述SSL证书校验装置包括:
请求接收模块10,用于在接收到SSL证书校验指令时,获取应用进程的进程信息;
第一解析模块20,用于获取所述进程信息中的配置文件路径,解析所述配置文件路径对应的配置文件,获得已配置的SSL证书路径和密码;
第二解析模块30,用于根据所述密码解密所述SSL证书路径对应的SSL证书,并获取所述SSL证书中证书信息;
检测判断模块40,用于根据所述证书信息对所述SSL证书进行校验,并输出校验结果。
在一实施例中,所述第一解析模块20,包括:
参数判断单元,用于获取所述进程信息中的进程文件,若所述进程文件为nginx类型的文件,则判断所述进程文件中是否包含预设参数;
第一判定单元,用于若所述进程文件中包含预设参数,则根据所述预设参数提取所述进程文件中的配置文件路径;
第二判定单元,用于若所述进程文件中不包含预设参数,则通过nginx-v提取所述进程文件中的配置文件路径;
解析获取单元,用于解析所述配置文件路径对应的配置文件,获取所述配置文件中路径配置项对应的SSL证书路径和密码配置项对应的密码。
在一实施例中,所述第一解析模块20,包括:
第一判断单元,用于获取所述进程信息中的进程文件,若所述进程文件为java类型或jsvc类型的文件,则判断所述进程文件中是否包含预设关键字;
语法树构建单元,用于若所述进程文件中包含预设关键字,则根据所述进程文件对应的server.xml文件构建语法树;
信息获取单元,用于查询所述语法树,获得所述语法树中路径节点对应的SSL证书路径和密码节点对应的密码。
在一实施例中,所述第一解析模块20,包括:
第二判断单元,用于获取所述进程信息中的进程文件,若所述进程文件为httpd类型的文件,则通过httpd-V提取所述进程文件中的配置文件路径;
解析获取单元,用于解析所述配置文件路径对应的配置文件,获取所述配置文件中路径配置项对应的SSL证书路径和密码配置项对应的密码。
在一实施例中,所述第二解析模块30,包括:
证书获取单元,用于根据所述密码解密所述SSL证书路径对应的SSL证书,并获取所述SSL证书的类型;
第一解析单元,用于在所述SSL证书为jks类型时,则通过keystool命令解析所述SSL证书获得证书信息;
第二解析单元,用于在所述SSL证书不是jks类型时,则通过openssl命令解析所述SSL证书获得证书信息。
在一实施例中,所述检测判断模块40,包括:
提取判断单元,用于提取所述证书信息中的有效期限和证书链信息,根据所述有效期限判断所述SSL证书是否超期;
第一输出单元,用于若所述SSL证书超期,则输出SSL证书无效的校验结果;
符合所述应用进程的标准性判断单元,用于若所述SSL证书没有超期,则根据所述证书链信息判断所述SSL证书是否符合所述应用进程的标准;
第二输出单元,用于若所述SSL证书不符合所述应用进程的标准,则输出SSL证书无效的校验结果。
在一实施例中,所述的SSL证书校验装置,包括:
第一检测模块,用于在检测到所述配置文件更新时,解析更新的配置文件,获得所述更新的配置文件中的SSL证书路径和密码;并执行根据所述密码解密所述SSL证书路径对应的SSL证书,并获取所述SSL证书中证书信息的步骤;
第二检测模块,用于在检测到所述SSL证书更新时,解析更新的SSL证书,获取所述更新的SSL证书中证书信息,并执行根据所述证书信息对所述SSL证书进行校验,并输出校验结果的步骤。
上述各程序模块所执行的方法可参照本发明SSL证书校验方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台服务器设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种SSL证书校验方法,其特征在于,所述SSL证书校验方法包括如下步骤:
在接收到SSL证书校验指令时,获取应用进程的进程信息;
获取所述进程信息中的配置文件路径,解析所述配置文件路径对应的配置文件,获得已配置的SSL证书路径和密码;
根据所述密码解密所述SSL证书路径对应的SSL证书,并获取所述SSL证书中证书信息;
根据所述证书信息对所述SSL证书进行校验,并输出校验结果。
2.如权利要求1所述的SSL证书校验方法,其特征在于,所述获取所述进程信息中的配置文件路径,解析所述配置文件路径对应的配置文件,获得已配置的SSL证书路径和密码的步骤,包括:
获取所述进程信息中的进程文件,若所述进程文件为nginx类型的文件,则判断所述进程文件中是否包含预设参数;
若所述进程文件中包含预设参数,则根据所述预设参数提取所述进程文件中的配置文件路径;
若所述进程文件中不包含预设参数,则通过nginx-v提取所述进程文件中的配置文件路径;
解析所述配置文件路径对应的配置文件,获取所述配置文件中路径配置项对应的SSL证书路径和密码配置项对应的密码。
3.如权利要求1所述的SSL证书校验方法,其特征在于,所述获取所述进程信息中的配置文件路径,解析所述配置文件路径对应的配置文件,获得已配置的SSL证书路径和密码的步骤,包括:
获取所述进程信息中的进程文件,若所述进程文件为java类型或jsvc类型的文件,则判断所述进程文件中是否包含预设关键字;
若所述进程文件中包含预设关键字,则根据所述进程文件对应的server.xml文件构建语法树;
查询所述语法树,获得所述语法树中路径节点对应的SSL证书路径和密码节点对应的密码。
4.如权利要求1所述的SSL证书校验方法,其特征在于,所述获取所述进程信息中的配置文件路径,解析所述配置文件路径对应的配置文件,获得已配置的SSL证书路径和密码的步骤,包括:
获取所述进程信息中的进程文件,若所述进程文件为httpd类型的文件,则通过httpd-V提取所述进程文件中的配置文件路径;
解析所述配置文件路径对应的配置文件,获取所述配置文件中路径配置项对应的SSL证书路径和密码配置项对应的密码。
5.如权利要求1所述的SSL证书校验方法,其特征在于,所述根据所述密码解密所述SSL证书路径对应的SSL证书,并获取所述SSL证书中证书信息的步骤,包括:
根据所述密码解密所述SSL证书路径对应的SSL证书,并获取所述SSL证书的类型;
在所述SSL证书为jks类型时,则通过keystool命令解析所述SSL证书获得证书信息;
在所述SSL证书不是jks类型时,则通过openssl命令解析所述SSL证书获得证书信息。
6.如权利要求1所述的SSL证书校验方法,其特征在于,所述根据所述证书信息对所述SSL证书进行校验,并输出校验结果的步骤,包括:
提取所述证书信息中的有效期限和证书链信息,根据所述有效期限判断所述SSL证书是否超期;
若所述SSL证书超期,则输出SSL证书无效的校验结果;
若所述SSL证书没有超期,则根据所述证书链信息判断所述SSL证书是否符合所述应用进程的标准;
若所述SSL证书不符合所述应用进程的标准,则输出SSL证书无效的校验结果。
7.如权利要求1至6任意一项所述的SSL证书校验方法,其特征在于,所述根据所述证书信息对所述SSL证书进行校验,并输出校验结果的步骤之后,包括:
在检测到所述配置文件更新时,解析更新的配置文件,获得所述更新的配置文件中的SSL证书路径和密码;并执行根据所述密码解密所述SSL证书路径对应的SSL证书,并获取所述SSL证书中证书信息的步骤;
在检测到所述SSL证书更新时,解析更新的SSL证书,获取所述更新的SSL证书中证书信息,并执行根据所述证书信息对所述SSL证书进行校验,并输出校验结果的步骤。
8.一种SSL证书校验装置,其特征在于,所述SSL证书校验装置包括:
请求接收模块,用于在接收到SSL证书校验指令时,获取应用进程的进程信息;
第一解析模块,用于获取所述进程信息中的配置文件路径,解析所述配置文件路径对应的配置文件,获得已配置的SSL证书路径和密码;
第二解析模块,用于根据所述密码解密所述SSL证书路径对应的SSL证书,并获取所述SSL证书中证书信息;
检测判断模块,用于根据所述证书信息对所述SSL证书进行校验,并输出校验结果。
9.一种SSL证书校验设备,其特征在于,所述SSL证书校验设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的SSL证书校验程序,所述SSL证书校验程序被所述处理器执行时实现如权利要求1至7中任一项所述的SSL证书校验方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有SSL证书校验程序,所述SSL证书校验程序被处理器执行时实现如权利要求1至7中任一项所述的SSL证书校验方法的步骤。
CN201911017340.4A 2019-10-24 2019-10-24 Ssl证书校验方法、装置、设备及计算机存储介质 Pending CN110766409A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911017340.4A CN110766409A (zh) 2019-10-24 2019-10-24 Ssl证书校验方法、装置、设备及计算机存储介质
PCT/CN2020/121224 WO2021078062A1 (zh) 2019-10-24 2020-10-15 Ssl证书校验方法、装置、设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911017340.4A CN110766409A (zh) 2019-10-24 2019-10-24 Ssl证书校验方法、装置、设备及计算机存储介质

Publications (1)

Publication Number Publication Date
CN110766409A true CN110766409A (zh) 2020-02-07

Family

ID=69333373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911017340.4A Pending CN110766409A (zh) 2019-10-24 2019-10-24 Ssl证书校验方法、装置、设备及计算机存储介质

Country Status (2)

Country Link
CN (1) CN110766409A (zh)
WO (1) WO2021078062A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021078062A1 (zh) * 2019-10-24 2021-04-29 深圳前海微众银行股份有限公司 Ssl证书校验方法、装置、设备及计算机存储介质
CN112738206A (zh) * 2020-12-25 2021-04-30 北京浪潮数据技术有限公司 一种分布式集群和云平台的对接方法及组件
CN114448655A (zh) * 2020-10-19 2022-05-06 西门子股份公司 技术设施的证书管理
CN114448655B (zh) * 2020-10-19 2024-06-07 西门子股份公司 技术设施的证书管理

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634324A (zh) * 2013-12-09 2014-03-12 飞天诚信科技股份有限公司 一种实时监控证书的方法
CN106230602A (zh) * 2016-09-09 2016-12-14 上海携程商务有限公司 数字证书的证书链的完整性检测系统及方法
CN108270610A (zh) * 2017-02-16 2018-07-10 广州市动景计算机科技有限公司 数字证书监控的方法与装置
CN108989046A (zh) * 2018-07-18 2018-12-11 成都知道创宇信息技术有限公司 一种ssl证书链自动补全方法
CN110225013A (zh) * 2019-05-30 2019-09-10 世纪龙信息网络有限责任公司 服务证书的监控和更新系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102638346B (zh) * 2012-05-12 2014-09-10 杭州迪普科技有限公司 一种用户数字证书的认证方法及装置
US9077546B1 (en) * 2012-11-27 2015-07-07 Symnatec Corporation Two factor validation and security response of SSL certificates
US9560038B2 (en) * 2014-06-20 2017-01-31 Adobe Systems Incorporated Method and apparatus for verifying an application to authorize content repository access using SSL certificates
CN107493174B (zh) * 2017-09-05 2020-12-15 成都知道创宇信息技术有限公司 基于cdn网络的ssl证书智能绑定与管理方法
CN110766409A (zh) * 2019-10-24 2020-02-07 深圳前海微众银行股份有限公司 Ssl证书校验方法、装置、设备及计算机存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634324A (zh) * 2013-12-09 2014-03-12 飞天诚信科技股份有限公司 一种实时监控证书的方法
CN106230602A (zh) * 2016-09-09 2016-12-14 上海携程商务有限公司 数字证书的证书链的完整性检测系统及方法
CN108270610A (zh) * 2017-02-16 2018-07-10 广州市动景计算机科技有限公司 数字证书监控的方法与装置
CN108989046A (zh) * 2018-07-18 2018-12-11 成都知道创宇信息技术有限公司 一种ssl证书链自动补全方法
CN110225013A (zh) * 2019-05-30 2019-09-10 世纪龙信息网络有限责任公司 服务证书的监控和更新系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张戈: "Linux+Nginx/Apache/Tomcat新增SSL证书,开启https访问教程", pages 1 - 7, Retrieved from the Internet <URL:https://cloud.tencent.com/developer/article/107216> *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021078062A1 (zh) * 2019-10-24 2021-04-29 深圳前海微众银行股份有限公司 Ssl证书校验方法、装置、设备及计算机存储介质
CN114448655A (zh) * 2020-10-19 2022-05-06 西门子股份公司 技术设施的证书管理
CN114448655B (zh) * 2020-10-19 2024-06-07 西门子股份公司 技术设施的证书管理
CN112738206A (zh) * 2020-12-25 2021-04-30 北京浪潮数据技术有限公司 一种分布式集群和云平台的对接方法及组件
CN112738206B (zh) * 2020-12-25 2022-08-23 北京浪潮数据技术有限公司 一种分布式集群和云平台的对接方法及组件

Also Published As

Publication number Publication date
WO2021078062A1 (zh) 2021-04-29

Similar Documents

Publication Publication Date Title
CN110602052B (zh) 微服务处理方法及服务器
Costin et al. A {Large-scale} analysis of the security of embedded firmwares
US9118713B2 (en) System and a method for automatically detecting security vulnerabilities in client-server applications
CN107196950B (zh) 校验方法、装置及服务端
CN113240258B (zh) 一种工业资产探测方法、设备及装置
US8635602B2 (en) Verification of information-flow downgraders
Almorsy et al. Supporting automated vulnerability analysis using formalized vulnerability signatures
CN110855676A (zh) 网络攻击的处理方法、装置及存储介质
JP2005501325A (ja) ネットワーク型コンピュータデバイスのコンフィギュレーション情報を遠隔的に問い合わせて、安全に測定し、かつ安全に伝達する方法
CN110708335A (zh) 访问认证方法、装置及终端设备
Falkenberg et al. A new approach towards DoS penetration testing on web services
CN110333868A (zh) 用于生成子应用的安装包的方法和系统
CN110602043A (zh) 一种面向移动应用的api网关实现系统及方法
CN110766409A (zh) Ssl证书校验方法、装置、设备及计算机存储介质
US20090300049A1 (en) Verification of integrity of computing environments for safe computing
CN109088872B (zh) 带使用期限的云平台的使用方法、装置、电子设备及介质
Huynh et al. An empirical investigation into open source web applications’ implementation vulnerabilities
CN111314326A (zh) Http漏洞扫描主机的确认方法、装置、设备及介质
CN112528286B (zh) 终端设备安全检测方法、关联设备以及计算机程序产品
CN113032836B (zh) 数据脱敏方法和装置
Liu et al. Correlating ui contexts with sensitive api calls: Dynamic semantic extraction and analysis
CN112433752A (zh) 页面解析方法、装置、介质及电子设备
Gawron et al. Automatic detection of vulnerabilities for advanced security analytics
CN113138999B (zh) 数据处理方法及装置、计算机存储介质、电子设备
CN112417328B (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