CN115801426B - 批量检测子域名ssl证书剩余有效期的方法、装置及介质 - Google Patents
批量检测子域名ssl证书剩余有效期的方法、装置及介质 Download PDFInfo
- Publication number
- CN115801426B CN115801426B CN202211506503.7A CN202211506503A CN115801426B CN 115801426 B CN115801426 B CN 115801426B CN 202211506503 A CN202211506503 A CN 202211506503A CN 115801426 B CN115801426 B CN 115801426B
- Authority
- CN
- China
- Prior art keywords
- subdomain
- name
- sub
- validity
- domain name
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提出了一种批量检测子域名ssl证书剩余有效期的方法、装置及介质,包括以下步骤:输入顶级域名信息,根据所述顶级域名信息获取所述顶级域名下属的所有子域名;构造子域名数据库,使用插入语句将获取到的所有子域名信息逐条插入到所述子域名数据库中;所述子域名数据库获取用户的http请求并基于所述http请求构建RequestSslApi接口方法,RequestSslApi接口方法返回请求的子域名;利用BatchInspection方法将所述子域名保存到list容器中,并获取所述list容器中的每一子域名的ssl证书有效期,通过TimeCalculation方法对每一所述子域名ssl证书剩余有效期进行判断。通过本方案可以对大量子域名进行ssl证书的ssl证书有效期进行判断,保证子域名的稳定性,方便子域名的管理和统计。
Description
技术领域
本申请涉及网络技术领域,特别是涉及一种批量检测子域名ssl证书剩余有效期的方法、装置及介质。
背景技术
ssl证书是数字证书的一种,也称为ssl服务器证书,ssl证书就是遵守ssl协议,由受信任的数字证书办法机构CA在验证服务器身份后颁发的一种证据,其具有服务器身份验证和数据传输加密功能,ssl证书通过在客户端浏览器和web服务器之间建立一条ssl安全通道,通过ssl安全通道可以激活ssl协议,实现数据信息在客户端和服务器之间的加密传输,由于数据是在ssl安全通道内进行传输故可以防止数据信息的泄露,保证了双方传递信息的安全性,而且用户可以通过ssl证书验证他所访问的网站是否真实可靠。
若ssl证书到期,会使得网站失去原有的数据加密和网站验证功能,导致网站内的数据处于裸奔状态,存在较大的安全风险。当ssl证书到期后,当用户在访问网站时会弹出安全告警提示,导致用户的信任度降低,而运营人员在很多情况下无法及时更新ssl证书,这样就会导致网站出现数据泄漏、停机等故障,降低网站的稳定性。目前,运营人员主要是通常通过PHP代码或者直接在浏览器内查看的方式查看网站的ssl证书有效期,之后进行人为监管判断,这种方式容易出现疏漏,且通过代码的方式查看网站的ssl证书有效期也不够直观,不方便对多个域名的管理和统计,所以亟需一种可以快速对多个域名的ssl证书有效期进行检测的方法。
发明内容
本申请实施例提供了一种批量检测子域名ssl证书剩余有效期的方法、装置及介质,可以对大量子域名进行ssl证书的剩余有效期进行判断,确保子域名的稳定性。
第一方面,本申请实施例提供了一种批量检测子域名ssl证书剩余有效期的方法,所述方法包括:
输入顶级域名信息,根据所述顶级域名信息获取所述顶级域名下属的所有子域名;
构造子域名数据库操作对象实例,使用插入语句将获取到的所有子域名信息逐条插入到子域名数据库中;
所述子域名数据库获取用户的http请求并基于所述http请求构建RequestSslApi接口方法,RequestSslApi接口方法返回请求的子域名;
利用BatchInspection方法将所述子域名保存到list容器中,并获取所述list容器中的每一子域名的ssl证书有效期,通过TimeCalculation方法对每一所述子域名ssl证书剩余有效期进行判断。
第二方面,本申请实施例提供了一种批量检测子域名ssl证书有效期的装置,包括:
获取模块:输入顶级域名信息,根据所述顶级域名信息获取所述顶级域名下属的所有子域名;
构造模块:构造子域名数据库操作对象实例,使用插入语句将获取到的所有子域名信息逐条插入到子域名数据库中;
调用模块:所述子域名数据库获取用户的http请求并基于所述http请求构建RequestSslApi接口方法,RequestSslApi接口方法返回请求的子域名;
判断模块:利用BatchInspection方法将所述子域名保存到list容器中,并获取所述list容器中的每一子域名的ssl证书有效期,通过TimeCalculation方法对每一所述子域名ssl证书剩余有效期进行判断。
第三方面,本申请实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行一种批量检测子域名ssl证书剩余有效期的方法。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序包括用于控制过程以执行过程的程序代码,所述过程包括一种批量检测子域名ssl证书剩余有效期的方法。
本发明的主要贡献和创新点如下:
本申请实施例通过go语言设置多个周期性的定时任务,可以全自动化的获取子域名信息,并且根据子域名信息来判断子域名ssl证书的剩余有效期,避免了因为子域名ssl证书过期或者忘记更换导致的业务故障问题;本方案通过构建子域名数据库,可以实现对子域名数据库的筛选,节省计算机的算力;本方案通过多协程并发获取子域名的有效期,提升了工作效率,且利用go语言sync包中的RWMutex锁机制避免的多协程并发获取有效期容器导致list库中的数据错乱问题。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种批量检测子域名ssl证书剩余有效期的方法的流程图;
图2是根据本申请实施例的子域名数据库的示意图;
图3是BatchInspection方法的结构示意图;
图4是本方案进行预警的整体流程示意图;
图5是根据本申请实施例的一种批量检测ssl证书剩余有效期的装置的结构框图;
图6是根据本申请实施例的电子装置的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
实施例一
本申请实施例提供了一种批量检测子域名ssl证书有效期的方法,可以对大量子域名进行ssl证书的剩余有效期进行判断,保证子域名的稳定性,方便子域名的管理和统计,具体地,参考图1,所述方法包括:
输入顶级域名信息,根据所述顶级域名信息获取所述顶级域名下属的所有子域名;
构造子域名数据库操作对象实例,使用插入语句将获取到的所有子域名信息逐条插入到子域名数据库中;
所述子域名数据库获取用户的http请求并基于所述http请求构建RequestSslApi接口方法,RequestSslApi接口方法返回请求的子域名;
利用BatchInspection方法将所述子域名保存到list容器中,并获取所述list容器中的每一子域名的ssl证书有效期,通过TimeCalculation方法对每一所述子域名ssl证书剩余有效期进行判断。
在一些实施例中,在“根据所述顶级域名信息获取所述顶级域名下属的所有子域名”步骤中,使用子域名扫描工具查询所述顶级域名信息的下属所有子域名,并获取每一子域名的相关信息。
具体的,所述子域名扫描工具基于subfinder SDK(一种开源的子域名发现工具)开发,执行速度快并且支持多种输出格式。
具体的,所述子域名的相关信息包括但不限于:子域名名称、子域名id、子域名类型、子域名状态、子域名创建时间,子域名更新时间、子域名ssl证书有效期、子域名时间戳。
进一步的,可以根据所述子域名扫描工具对获取的子域名相关信息进行自定义,以满足不同的业务需求。
示例性的,qupeiyin.net为顶级域名,利用子域名扫描工具查询到qupeiyin.net下的所有子域名,子域名包括但不限于:dbops.qupeiyin.net;bidb.qupeiyin.net等。
在一些实施例中,在“使用插入语句将获取到的所有子域名信息逐条插入到所述子域名数据库中”步骤中,将子域名数据库作为操作对象实例,根据所述子域名信息自定义所述插入语句,在所述操作对象实例中运行所述插入语句。
具体的,如图2所示,使用go-sql-driver(go语言中开源的连接数据库的驱动)作为连接所述子域名数据库的驱动,再使用Go语言中自带的database/sql包对所述子域名数据库进行访问,以确保使用插入语句可以将所述所有子域名信息逐条插入到所述子域名数据库中。
在“所述子域名数据库获取用户的http请求”步骤中,在子域名数据库上调用Server函数构建web服务器,调用ListernAndServer函数监听所述web服务器上的端口接收http请求。
具体的,所述web服务器构建在所述子域名数据库上层,当通过http请求访问web服务器之后,所述web服务器会根据所述http请求对所述子域名数据库进行查询,将数据查询出来。
具体的,使用Go语言中自带的包net/http,调用Server函数构建一个web服务器,调用ListernAndServer函数监听在特定端口(当前自定义7000)来接收http请求。
在“基于所述http请求构建RequestSslApi接口方法”步骤中,对所述http请求进行解析获取子域名请求范围,基于所述子域名请求范围调用ResponseWriter接口和Request结构体创建RequestSslApi接口方法。
具体的,Request分为客户端和服务端,客户端可以发送请求,服务端接收请求,Request结构体在此处做为服务端接收请求对象,获取有关于客户端请求的信息,例如请求头,请求方法,请求参数,请求body,客户端IP,客户端浏览器等信息。
具体的,所述ResponseWriter接口是处理器用来创建HTTP响应的接口,在底层支撑ResponseWriter的结构体为Request结构体,由于Request结构体对外不可见,所以只能通过ResponseWriter接口访问它,两者之间的关系是ResponseWriter是一个接口,而Response实现了它。当我们引用ResponseWriter时,实际上引用的是Response对象实例。
本方案的RequestSslApi接口方法是根据所述http请求而构建得到的,这样的好处在于:用户可自主选择对一个或多个子域名进行ssl证书的有效期检测。
具体的,对所述子域名数据库中的子域名进行筛选的目的是为了过滤掉废弃子域名,节省计算机资源,且还可以根据用户的需要进行自定义设置,使之更加符合用户的使用场景。
具体的,可以使用定时任务周期性的发送http请求对子域名数据库中的子域名进行筛选并检测ssl证书有效期,实现整个流程的全自动化操作,在设定好后无需人工进行干预。
在“RequestSslApi接口方法返回请求的子域名”步骤中,调用GET方法接收http请求的路径参数,并根据所述路径参数获取子域名数据。
本方案调用BatchInspection中的存数据方法将需要检查的子域名数据存到list容器。
进一步的,在将所述子域名保存在list容器之前,可以对所述子域名进行筛选,选择将携带指定参数的子域名保存到list容器中。
进一步的,在将子域名保存到list容器中时,逐一获取每一子域名信息并对list容器进行加锁操作,将获取的子域名信息保存到list容器后对所述list容器进行解锁,重复上述步骤直至将所有子域名保存到list容器中。具体的,使用Go语言sync包中的RWMutex锁机制来进行加锁解锁操作,所述list容器可以用来存储任意类型的数据。
具体的,RWMutex是一个读写锁,该锁可以加多个读锁或者一个解锁,其经常用于读次数远远多于写次数的场景,当加读锁时,只能继续加读锁;当有写锁时,无法加载其他任何锁,也就是说,只有读-读之间是共享的,其它为互斥的,RWMutex读写锁可以分为三类:读优先、写优先、不区分优先级,读优先就是当读进程占有锁时,后来的读进程可以立即获得锁,这样做的好处是可以提高并发性能,写优先是指如果有写进程在等待锁,会阻止后来的读进程获得锁,本方案中采用写优先的方法。
在一些实施例中,在“利用BatchInspection方法将所述子域名保存到list容器中,并获取所述list容器中的每一子域名的ssl证书有效期”步骤中,采用多协程循环方法获取所述list容器中的每一子域名的ssl证书有效期,在执行每一协程时对所述list容器进行加锁,通过调用DialWithDialer函数来获取list容器其中一子域名的ssl证书有效期后在list容器中删除该子域名,再对list容器进行解锁。
具体的,同样使用Go语言sync包中的RWMutex锁机制来进行加锁解锁操作。
进一步的,所述多协程循环方法为创建一个周期性循环,采用go语句执行多协程来循环有序地利用tls中的DialWithDialer函数获取每一子域名的有效期信息。
具体的,为了确保多协程之间的有序性,防止多协程错乱,调用waitgroup来对多协程进行管理。
具体的,BatchInspection如下图3所示,BatchInspection中构建周期性循环任务以对所述list容器内的每一子域名的ssl证书有效期进行检测。周期性循环任务内采用Waitgroup协程同步管理方法来对多协程进行管理,采用DialWithDialer来获取每一子域名的有效期。
在一些实施例中,在“通过TimeCalculation方法对每一所述子域名ssl证书剩余有效期进行判断”步骤中,所述子域名的ssl证书有效期包括子域名证书授权时间和子域名证书到期时间,所述TimeCalculation方法为:使用Format函数将子域名证书的有效期时间戳转换成年月日格式,再调用Hours函数将有效期时间戳的年月日格式转换有效天数,再使用Now函数配合Format函数将当前时间的时间戳转换成年月日格式,再调用Hours函数将当前时间的年月日格式转换成当前天数,若所述当前天数减去有效天数的值小于第一设定天数,则对用户发出告警。
具体的,通过go语言time包中的Format函数将所述子域名证书的有效期时间戳转换成年月日格式,通过Hours函数除以24将年月日格式转换成天数得到有效天数。
具体的,使用time中的now函数获取当前时间,并通过Format函数将当前时间转换为年月日的精确时间,再调用Hours函数除以24将当前时间的年月日格式转换成天数得到当前天数。
示例性的,所述第一设定阈值可以为7天、15天、30天等,根据实际情况进行设置。
进一步的,为了更及时的通知用户或者负责人对ssl证书进行延期等操作,可以使用go语言http包的Client结构体和NewRequest函数将告警信息以wwebHook的方式发送到微信、钉钉、企业微信、飞书等指定的群或联系人,可以根据实际情况进行设定。
可选的,可以使用gomail工具以邮件的方式对指定的联系人发送告警信息。
示例性的,本方案进行预警的整体流程如图4所示,可以通过定时任务或者循环任务进行流程的全自动化。
具体的,为了使预警信息更直观,可以使用图表的方式发送所述预警信息,所述告警信息可以包含顶级域名信息、子域名信息、子域名证书授权时间、子域名证书到期时间、子域名ssl证书剩余有效期等。
实施例二
基于相同的构思,参考图5,本申请还提出了一种批量检测子域名ssl证书剩余有效期的装置,包括:
获取模块:输入顶级域名信息,根据所述顶级域名信息获取所述顶级域名下属的所有子域名;
构造模块:构造子域名数据库操作对象实例,使用插入语句将获取到的所有子域名信息逐条插入到子域名数据库中;
调用模块:所述子域名数据库获取用户的http请求并基于所述http请求构建RequestSslApi接口方法,RequestSslApi接口方法返回请求的子域名;
判断模块:利用BatchInspection方法将所述子域名保存到list容器中,并获取所述list容器中的每一子域名的ssl证书有效期,通过TimeCalculation方法对每一所述子域名ssl证书剩余有效期进行判断。
实施例三
本实施例还提供了一种电子装置,参考图6,包括存储器404和处理器402,该存储器404中存储有计算机程序,该处理器402被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
具体地,上述处理器402可以包括中央处理器(CPU),或者特定集成电路(ApplicationSpecificIntegratedCircuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器404可以包括用于数据或指令的大容量存储器404。举例来说而非限制,存储器404可包括硬盘驱动器(HardDiskDrive,简称为HDD)、软盘驱动器、固态驱动器(SolidStateDrive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(UniversalSerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器404可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器404可在数据处理装置的内部或外部。在特定实施例中,存储器404是非易失性(Non-Volatile)存储器。在特定实施例中,存储器404包括只读存储器(Read-OnlyMemory,简称为ROM)和随机存取存储器(RandomAccessMemory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(ProgrammableRead-OnlyMemory,简称为PROM)、可擦除PROM(ErasableProgrammableRead-OnlyMemory,简称为EPROM)、电可擦除PROM(ElectricallyErasableProgrammableRead-OnlyMemory,简称为EEPROM)、电可改写ROM(ElectricallyAlterableRead-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(StaticRandom-AccessMemory,简称为SRAM)或动态随机存取存储器(DynamicRandomAccessMemory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器404(FastPageModeDynamicRandomAccessMemory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(ExtendedDateOutDynamicRandomAccessMemory,简称为EDODRAM)、同步动态随机存取内存(SynchronousDynamicRandom-AccessMemory,简称SDRAM)等。
存储器404可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器402所执行的可能的计算机程序指令。
处理器402通过读取并执行存储器404中存储的计算机程序指令,以实现上述实施例中的任意一种批量检测子域名ssl证书剩余有效期的方法。
可选地,上述电子装置还可以包括传输设备406以及输入输出设备408,其中,该传输设备406和上述处理器402连接,该输入输出设备408和上述处理器402连接。
传输设备406可以用来经由一个网络接收或者发送数据。上述的网络具体实例可包括电子装置的通信供应商提供的有线或无线网络。在一个实例中,传输设备包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备406可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
输入输出设备408用于输入或输出信息。在本实施例中,输入的信息可以是顶级域名信息、go语言的调用函数等,输出的信息可以是子域名ssl证书有效期、告警信息等。
可选地,在本实施例中,上述处理器402可以被设置为通过计算机程序执行以下步骤:
S101、输入顶级域名信息,根据所述顶级域名信息获取所述顶级域名下属的所有子域名;
S102、构造子域名数据库操作对象实例,使用插入语句将获取到的所有子域名信息逐条插入到子域名数据库中;
S103、所述子域名数据库获取用户的http请求并基于所述http请求构建RequestSslApi接口方法,RequestSslApi接口方法返回请求的子域名;
S104、利用BatchInspection方法将所述子域名保存到list容器中,并获取所述list容器中的每一子域名的ssl证书有效期,通过TimeCalculation方法对每一所述子域名ssl证书剩余有效期进行判断。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
通常,各种实施例可以以硬件或专用电路、软件、逻辑或其任何组合来实现。本发明的一些方面可以以硬件来实现,而其他方面可以以可以由控制器、微处理器或其他计算设备执行的固件或软件来实现,但是本发明不限于此。尽管本发明的各个方面可以被示出和描述为框图、流程图或使用一些其他图形表示,但是应当理解,作为非限制性示例,本文中描述的这些框、装置、系统、技术或方法可以以硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备或其某种组合来实现。
本发明的实施例可以由计算机软件来实现,该计算机软件由移动设备的数据处理器诸如在处理器实体中可执行,或者由硬件来实现,或者由软件和硬件的组合来实现。包括软件例程、小程序和/或宏的计算机软件或程序(也称为程序产品)可以存储在任何装置可读数据存储介质中,并且它们包括用于执行特定任务的程序指令。计算机程序产品可以包括当程序运行时被配置为执行实施例的一个或多个计算机可执行组件。一个或多个计算机可执行组件可以是至少一个软件代码或其一部分。另外,在这一点上,应当注意,如图6中的逻辑流程的任何框可以表示程序步骤、或者互连的逻辑电路、框和功能、或者程序步骤和逻辑电路、框和功能的组合。软件可以存储在诸如存储器芯片或在处理器内实现的存储块等物理介质、诸如硬盘或软盘等磁性介质、以及诸如例如DVD及其数据变体、CD等光学介质上。物理介质是非瞬态介质。
本领域的技术人员应该明白,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (7)
1.一种批量检测子域名ssl证书剩余有效期的方法,其特征在于,包括以下步骤:
输入顶级域名信息,根据所述顶级域名信息获取所述顶级域名下属的所有子域名;
构造子域名数据库操作对象实例,使用插入语句将获取到的所有子域名信息逐条插入到子域名数据库中;
所述子域名数据库获取用户的http请求并基于所述http请求构建RequestSslApi接口方法,RequestSslApi接口方法返回请求的子域名;
利用BatchInspection方法将所述子域名保存到list容器中,采用多协程循环方法获取所述list容器中的每一子域名的ssl证书有效期,在执行每一协程时对所述list容器进行加锁,通过调用DialWithDialer函数来获取list容器其中一子域名的ssl证书有效期后在list容器中删除该子域名,再对list容器进行解锁,重复上述步骤直至将所有子域名保存到list容器中并获取所述list容器中的每一子域名的ssl证书有效期,所述多协程循环方法为创建一个周期性循环,采用go语句执行多协程来循环有序地利用tls中的DialWithDialer函数获取每一子域名的有效期信息,通过TimeCalculation方法对每一所述子域名ssl证书剩余有效期进行判断。
2.根据权利要求1所述的一种批量检测子域名ssl证书剩余有效期的方法,其特征在于,在“使用插入语句将获取到的所有子域名信息逐条插入到所述子域名数据库中”步骤中,将子域名数据库作为操作对象实例,根据所述子域名信息自定义所述插入语句,在所述操作对象实例中运行所述插入语句。
3.根据权利要求1所述的一种批量检测子域名ssl证书剩余有效期的方法,其特征在于,在“RequestSslApi接口方法返回请求的子域名”步骤中,调用GET方法接收http请求的路径参数,并根据所述路径参数获取子域名数据。
4.根据权利要求1所述的一种批量检测子域名ssl证书剩余有效期的方法,其特征在于,在“通过TimeCalculation方法对每一所述子域名ssl证书剩余有效期进行判断”步骤中,所述子域名的ssl证书有效期包括子域名证书授权时间和子域名证书到期时间,所述TimeCalculation方法为:使用Format函数将子域名证书的有效期时间戳转换成年月日格式,再调用Hours函数将有效期时间戳的年月日格式转换有效天数,再使用Now函数配合Format函数将当前时间的时间戳转换成年月日格式,再调用Hours函数将当前时间的年月日格式转换成当前天数,若所述当前天数减去有效天数的值小于第一设定天数,则对用户发出告警。
5.一种批量检测子域名ssl证书剩余有效期的装置,其特征在于,包括:
获取模块:输入顶级域名信息,根据所述顶级域名信息获取所述顶级域名下属的所有子域名;
构造模块:构造子域名数据库操作对象实例,使用插入语句将获取到的所有子域名信息逐条插入到子域名数据库中;
调用模块:所述子域名数据库获取用户的http请求并基于所述http请求构建RequestSslApi接口方法,RequestSslApi接口方法返回请求的子域名;
判断模块:利用BatchInspection方法将所述子域名保存到list容器中,采用多协程循环方法获取所述list容器中的每一子域名的ssl证书有效期,在执行每一协程时对所述list容器进行加锁,通过调用DialWithDialer函数来获取list容器其中一子域名的ssl证书有效期后在list容器中删除该子域名,再对list容器进行解锁,重复上述步骤直至将所有子域名保存到list容器中并获取所述list容器中的每一子域名的ssl证书有效期,所述多协程循环方法为创建一个周期性循环,采用go语句执行多协程来循环有序地利用tls中的DialWithDialer函数获取每一子域名的有效期信息,通过TimeCalculation方法对每一所述子域名ssl证书剩余有效期进行判断。
6.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1-4任一所述的一种批量检测子域名ssl证书剩余有效期的方法。
7.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序包括用于控制过程以执行过程的程序代码,所述过程包括根据权利要求1-4任一所述的一种批量检测子域名ssl证书剩余有效期的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211506503.7A CN115801426B (zh) | 2022-11-29 | 2022-11-29 | 批量检测子域名ssl证书剩余有效期的方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211506503.7A CN115801426B (zh) | 2022-11-29 | 2022-11-29 | 批量检测子域名ssl证书剩余有效期的方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115801426A CN115801426A (zh) | 2023-03-14 |
CN115801426B true CN115801426B (zh) | 2023-06-23 |
Family
ID=85442681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211506503.7A Active CN115801426B (zh) | 2022-11-29 | 2022-11-29 | 批量检测子域名ssl证书剩余有效期的方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115801426B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116112468B (zh) * | 2023-03-23 | 2023-07-04 | 深圳高灯计算机科技有限公司 | Ssl证书检测方法、装置、计算机设备、存储介质和产品 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3842569B2 (ja) * | 2000-03-31 | 2006-11-08 | 富士通株式会社 | 電子証明書の管理方法、装置、プログラム及び記憶媒体 |
CN107493174B (zh) * | 2017-09-05 | 2020-12-15 | 成都知道创宇信息技术有限公司 | 基于cdn网络的ssl证书智能绑定与管理方法 |
CN112583944B (zh) * | 2019-09-27 | 2022-11-22 | 北京国双科技有限公司 | 一种更新域名证书的处理方法和装置 |
CN113810501A (zh) * | 2021-09-23 | 2021-12-17 | 福信富通科技股份有限公司 | 一种https证书管理的方法 |
-
2022
- 2022-11-29 CN CN202211506503.7A patent/CN115801426B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115801426A (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210176295A1 (en) | Systems and methods for tag inspection | |
CN111475376B (zh) | 处理测试数据的方法、装置、计算机设备和存储介质 | |
CN115801426B (zh) | 批量检测子域名ssl证书剩余有效期的方法、装置及介质 | |
CN114564446B (zh) | 一种文件存储的方法、装置、系统及存储介质 | |
CN111448557A (zh) | 利用网络节点传播信息 | |
US20200287724A1 (en) | Establishment of trusted communication with container-based services | |
GB2458204A (en) | Selecting attributes of resources of a system with the highest degree of reliability where conflict exists between plural attributes as to the same resources | |
CN115809203A (zh) | 软件测试用例动态嵌套方法、装置及其应用 | |
CN113014626B (zh) | 数据服务的管理方法及装置、存储介质及电子装置 | |
CN113535766A (zh) | 作业流配置方法、装置、电子装置及存储介质 | |
US9345062B2 (en) | Relay system, relay device, and control method and control program of relay device | |
CN104679794A (zh) | 数据差异分析方法及装置 | |
CN111147235A (zh) | 对象访问方法、装置、电子设备及机器可读存储介质 | |
CN112559118A (zh) | 应用数据迁移方法、装置、电子设备及存储介质 | |
CN115686535A (zh) | 一种Kubernetes集群的巡检方法、装置及应用 | |
CN115878643A (zh) | 基于Kettle对多个数据库进行自动校验的方法、装置及应用 | |
CN113656100B (zh) | 接口切换方法、装置、电子装置及计算机程序产品 | |
CN113918423A (zh) | 云平台监控方法、装置及其应用 | |
CN114817300A (zh) | 基于sql语句的日志查询方法及其应用 | |
CN110119337B (zh) | 一种数据分析方法、装置及服务器 | |
CN110740134B (zh) | 一种url鉴权测试方法、装置、设备及介质 | |
CN114565285A (zh) | 一种流程控制方法及系统 | |
CN114691443A (zh) | 一种截面数据发送方法、装置、电子设备及存储介质 | |
CN113746932A (zh) | 网络请求合并方法、装置及电子装置、计算机程序产品 | |
CN113691614B (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 |