CN117527439A - 基于预埋证书的数字证书校验方法、装置、设备及介质 - Google Patents

基于预埋证书的数字证书校验方法、装置、设备及介质 Download PDF

Info

Publication number
CN117527439A
CN117527439A CN202311782460.XA CN202311782460A CN117527439A CN 117527439 A CN117527439 A CN 117527439A CN 202311782460 A CN202311782460 A CN 202311782460A CN 117527439 A CN117527439 A CN 117527439A
Authority
CN
China
Prior art keywords
certificate
verification
root
server
built
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
CN202311782460.XA
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.)
Shenzhen Lexin Software Technology Co Ltd
Original Assignee
Shenzhen Lexin Software Technology 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 Shenzhen Lexin Software Technology Co Ltd filed Critical Shenzhen Lexin Software Technology Co Ltd
Priority to CN202311782460.XA priority Critical patent/CN117527439A/zh
Publication of CN117527439A publication Critical patent/CN117527439A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了基于预埋证书的数字证书校验方法、装置、设备及介质,方法包括响应于应用程序请求,将应用程序请求发送至服务器以获取服务器根证书的根证书公钥;获取本地预埋的内置根证书信息列表,并从内置根证书信息列表中提取多个内置根证书分别对应的本地公钥信息;若确定根证书公钥与多个内置根证书分别对应的本地公钥信息的其中一个本地公钥信息匹配成功,则获取应用程序请求对应的主机信息和服务器证书,并对主机信息和服务器证书进行有效性验证以得到验证结果;若确定验证结果为主机信息和服务器证书均通过有效性验证,则对应用程序请求设置信任标签以更新应用程序请求,并将应用程序请求发送至服务器,以使得客户端访问服务器。本发明实施例是客户端对服务器根证书、主机信息和服务器证书进行多维度的证书信息校验,能确保校验的安全性和准确性。

Description

基于预埋证书的数字证书校验方法、装置、设备及介质
技术领域
本发明涉及证书校验技术领域,尤其涉及基于预埋证书的数字证书校验方法、装置、设备及介质。
背景技术
目前,安装有iOS操作系统(即苹果公司开发的操作系统)的智能终端,可以通过公共API(Application Programming Interface,即应用程序编程接口)向服务器发送请求。在发送请求的过程中,会从证书链中遍历出所有证书,然后和本地内置的证书进行验证。如果能请求的证书验证通过,则对该请求的证书进行信任。但是采用上述方式存在以下缺陷:
1)验证效率不高,即上述验证过程需要从证书链中遍历出所有证书,且将每一个证书和本地内置的证书进行匹配;
2)有可能会有证书被篡改后,还出现匹配成功的情况,导致匹配过程安全性不高。
发明内容
本发明实施例提供了基于预埋证书的数字证书校验方法、装置、设备及介质,旨在解决现有技术中智能终端通过公共API向服务器发送请求时,会从证书链中遍历出所有证书,然后和本地内置的证书进行验证,即使在证书被篡改后下也不影响匹配过程,导致验证过程的安全性不高的问题。
第一方面,本发明实施例提供了一种基于预埋证书的数字证书校验方法,应用于安装有iOS系统的客户端,其包括:
响应于应用程序请求,将所述应用程序请求发送至服务器以获取服务器根证书的根证书公钥;
获取本地预埋的内置根证书信息列表,并从所述内置根证书信息列表中提取多个内置根证书分别对应的本地公钥信息;
若确定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息的其中一个本地公钥信息匹配成功,则获取所述应用程序请求对应的主机信息和服务器证书,并对所述主机信息和所述服务器证书进行有效性验证以得到验证结果;
若确定所述验证结果为所述主机信息和所述服务器证书均通过有效性验证,则对所述应用程序请求设置信任标签以更新所述应用程序请求,并将所述应用程序请求发送至所述服务器,以使得所述客户端访问所述服务器。
第二方面,本发明实施例还提供了一种基于预埋证书的数字证书校验装置,配置于安装有iOS系统的客户端,其包括:
根证书公钥获取单元,用于响应于应用程序请求,将所述应用程序请求发送至服务器以获取服务器根证书的根证书公钥;
本地公钥信息获取单元,用于获取本地预埋的内置根证书信息列表,并从所述内置根证书信息列表中提取多个内置根证书分别对应的本地公钥信息;
根证书公钥验证单元,用于若确定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息的其中一个本地公钥信息匹配成功,则获取所述应用程序请求对应的主机信息和服务器证书,并对所述主机信息和所述服务器证书进行有效性验证以得到验证结果;
证书有效性验证单元,用于若确定所述验证结果为所述主机信息和所述服务器证书均通过有效性验证,则对所述应用程序请求设置信任标签以更新所述应用程序请求,并将所述应用程序请求发送至所述服务器,以使得所述客户端访问所述服务器。
第三方面,本发明实施例还提供了一种应计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现上述第一方面所述的方法。
本发明实施例提供了基于预埋证书的数字证书校验方法、装置、设备及介质,方法包括响应于应用程序请求,将应用程序请求发送至服务器以获取服务器根证书的根证书公钥;获取本地预埋的内置根证书信息列表,并从内置根证书信息列表中提取多个内置根证书分别对应的本地公钥信息;若确定根证书公钥与多个内置根证书分别对应的本地公钥信息的其中一个本地公钥信息匹配成功,则获取应用程序请求对应的主机信息和服务器证书,并对主机信息和服务器证书进行有效性验证以得到验证结果;若确定验证结果为主机信息和服务器证书均通过有效性验证,则对应用程序请求设置信任标签以更新应用程序请求,并将应用程序请求发送至服务器,以使得客户端访问服务器。本发明实施例是客户端对服务器根证书、主机信息和服务器证书进行多维度的证书信息校验,能确保校验的安全性和准确性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于预埋证书的数字证书校验方法的应用场景示意图;
图2为本发明实施例提供的基于预埋证书的数字证书校验方法的流程示意图;
图3为本发明实施例提供的基于预埋证书的数字证书校验方法的子流程示意图;
图4为本发明实施例提供的基于预埋证书的数字证书校验方法的另一子流程示意图;
图5为本发明实施例提供的基于预埋证书的数字证书校验装置的示意性框图;
图6为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请同时参考图1和图2,其中图1为本发明实施例基于预埋证书的数字证书校验方法的场景示意图,图2是本发明实施例提供的基于预埋证书的数字证书校验方法的流程示意图。如图1所示,本发明实施例提供的基于预埋证书的数字证书校验方法应用于安装有iOS系统的客户端10中,所述客户端10与服务器20通讯连接。
如图2所示,该方法包括以下步骤S110-S140。
S110、响应于应用程序请求,将所述应用程序请求发送至服务器以获取服务器根证书的根证书公钥。
在本实施例中,是以客户端为执行主体描述技术方案。当用户使用客户端(也可以理解为用户使用的智能终端,如智能手机、平板电脑等,且在该智能终端上安装了苹果公司开发的iOS系统)启动其所安装的多个应用程序的其中一个目标应用程序时,会产生一个与目标应用程序对应的应用程序请求以请求访问服务器。但是为了确保访问过程的安全性,客户端是先将应用程序请求发送至与该目标应用程序对应的服务器,以请求获取到该服务器中已存储的根证书公钥。具体的,可以在客户端中通过预先设置的第一会话管理器(更具体如AFURL Session Manager这一会话管理器)来检测应用程序请求,然后在检测到应用程序请求后将该应用程序请求发送至对应的服务器。
其中,在客户端中预先设置第一会话管理器中,至少通过以下步骤:A1)初始化AFURL Session Manager对象;A2)获取AFURL Session Manager对象中的任务对象(也即Task对象);A3)启动任务对象。当完成了上述操作后,即可实现在客户端中完成第一会话管理器的设置,且通过第一会话管理器可进行请求的建立、管理、销毁、安全、请求重定向、请求重启等各种操作。
因在客户端检测到应用程序请求后,并不是立即与相应的服务器进行重要数据的交互,而是需要先将应用程序请求发送至服务器以获取服务器根证书的根证书公钥。可见,基于上述主动请求获取服务器的根证书公钥的方式,可以在获取到该根证书公钥后进行验证且通过验证及其他进一步验证后,才能进行重要数据的交互,提高了交互数据的安全性。
S120、获取本地预埋的内置根证书信息列表,并从所述内置根证书信息列表中提取多个内置根证书分别对应的本地公钥信息。
在本实施例中,当客户端获取到了服务器发送的根证书公钥后,还可以获取到本地预埋的内置根证书信息列表。在客户端本地的内置根证书信息列表中包括iOS系统中提供的所有根证书,每一个根证书可用于作为客户端访问相应服务器的凭证。当然,还有可能出现iOS系统中提供的所有根证书中还未包括客户端所需访问服务器的根证书的情况,且在这一情况下客户端是无法正常访问该服务器。为了确定客户端的本次访问是否会出现上述情况,需要先获取客户端本地预埋的内置根证书信息列表,并提取到所述内置根证书信息列表中各内置根证书分别对应的本地公钥信息。可见,基于上述方式可以快速获取本地的多个内置根证书分别对应的本地公钥信息。
在一实施例中,步骤S120之前还包括:
获取与客户端中当前操作系统对应的多个根证书,以组成所述内置根证书信息列表;
将所述内置根证书信息列表存储至证书凭据空间中。
在本实施例中,在客户端中预埋内置根证书信息列表时,具体是先获取客户端自身所安装的操作系统版本,然后基于操作系统版本去系统服务器(例如时iOS系统运营商对应的后台服务器)中获取到与客户端中当前操作系统对应的多个根证书组成所述内置根证书信息列表。之后,在客户端中划分一个区域作为证书凭据空间,将所述内置根证书信息列表存储于所述证书凭据空间中。可见,基于上述方式可以在客户端中预先存储后续验证所需要的内置根证书信息列表。
在一实施例中,如图3所示,步骤S120包括:
S121、从所述证书凭据空间中获取所述内置根证书信息列表;
S122、基于预先设置的第三方库获取多个内置根证书中各内置根证书分别对应的本地公钥信息,以及各内置根证书分别对应的颁发者信息。
在本实施例中,当在客户端的证书凭据空间已预先存储了包括多个内置根证书的内置根证书信息列表后,客户端还检测到已成功接收了服务器发送的根证书公钥,此时需要将服务器发送的根证书公钥与多个内置根证书分别进行匹配。在上述匹配过程进行之前,还需要客户端通过预先设置的第三方库(如OpenSSL库)对内置根证书信息列表中各内置根证书分别对应的本地公钥信息及颁发者信息(其中颁发者信息可用issuer表示)进行提取。在获取到了内置根证书信息列表中各内置根证书分别对应的本地公钥信息及颁发者信息后,即可作为根证书公钥对应的多个待匹配数据。可见,通过上述方式,可以快速解析获取内置根证书信息列表的详细信息。
S130、若确定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息的其中一个本地公钥信息匹配成功,则获取所述应用程序请求对应的主机信息和服务器证书,并对所述主机信息和所述服务器证书进行有效性验证以得到验证结果。
在本实施例中,当在客户端中内置的多个内置根证书中获取到有一个内置根证书的本地公钥信息与所述根证书公钥完全相同,则表示根证书公钥在客户端的本地匹配成功,此时服务器可作为与客户端待建立连接的候选服务器。在该验证过程中,利用证书的颁发机构和公钥进行双重验证,能防止证书被篡改后影响验证结果的准确性。之后还可对该服务器的其他信息进行进一步验证,且在这一验证通过后方能与客户端成功建立通讯连接。具体是根证书公钥在客户端的本地匹配成功后,还需客户端从所述应用程序请求对应访问服务器中的主机信息(也可用Host信息表示,一般包括)和服务器证书(这一证书并非服务器根证书,其中服务器根证书是第三方且被信任的认证机构自签名的证书,服务器证书则是经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件),以使得客户端进一步对所述主机信息和所述服务器证书进行有效性验证以得到验证结果。可见,上述进一步验证的方式是对客户端与服务器建立安全通信连接的第二次验证,相较于单重验证更多一重验证,提高了验证安全性和准确性。
在一实施例中,步骤S130之前还包括:
获取所述根证书公钥对应的当前颁发者信息,并在所述多个内置根证书分别对应的颁发者信息中获取与所述当前颁发者信息对应的匹配结果;
若确定所述匹配结果为所述多个内置根证书分别对应的颁发者信息中存在有与所述当前颁发者信息对应的目标颁发者信息,则判定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息的其中一个本地公钥信息匹配成功;
若确定所述匹配结果为所述多个内置根证书分别对应的颁发者信息中未存在有与所述当前颁发者信息对应的目标颁发者信息,则判定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息均未匹配成功。
在本实施例中,在客户端中对根证书公钥与多个内置根证书分别进行匹配时,具体可以是先获取所述根证书公钥对应的当前颁发者信息,然后以当前颁发者信息为检索条件在所述多个内置根证书分别对应的颁发者信息进行检索以判断是否有相同的颁发者信息,最后若在多个内置根证书分别对应的颁发者信息检索到与所述当前颁发者信息相同的匹配结果,则表示根证书公钥匹配成功,也即此时判定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息的其中一个本地公钥信息匹配成功。上述的匹配过程实现了对根证书公钥的验证,是对应用程序请求的初次验证,之后还需进行其他数据的二次验证。
当然,若在多个内置根证书分别对应的颁发者信息未检索到与所述当前颁发者信息相同的匹配结果,则表示根证书公钥匹配失败,也即此时判定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息均未匹配成功。
在一实施例中,在所述若确定所述匹配结果为所述多个内置根证书分别对应的颁发者信息中未存在有与所述当前颁发者信息对应的目标颁发者信息,则判定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息均未匹配成功之后,还包括:
生成用于提示所述服务器根证书为异常证书的第一提示信息,并对所述第一提示信息进行埋点处理。
在本实施例中,当在客户端中进行根证书公钥的匹配,且得到所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息均未匹配成功的结果后,是由客户端自动在提示信息模板内填充“根证书公钥与所述多个内置根证书分别对应的本地公钥信息均未匹配成功”的信息内容后,生成所述第一提示信息,并在客户端的本地对所述第一提示信息进行埋点处理,也即进行本地存储。可见,基于上述方式可以快速的对服务器根证书匹配的失败结果进行及时提示和处理。
在一实施例中,如图4所示,步骤S130包括:
S131、获取第一预设验证函数,将所述主机信息输入至所述第一预设验证函数以得到第一验证子结果;其中,所述第一验证子结果为通过有效性验证的结果或未通过有效性验证的结果;
S132、获取第二预设验证函数,将所述服务器证书的有效期信息输入至所述第二预设验证函数以得到第二验证子结果;其中,所述第二验证子结果为通过有效性验证的结果或未通过有效性验证的结果;
S133、若确定所述第一验证子结果为通过有效性验证的结果且所述第二验证子结果为通过有效性验证的结果,则以通过有效性验证作为所述验证结果;
S134、若确定所述第一验证子结果为未通过有效性验证的结果或所述第二验证子结果为未通过有效性验证的结果,则以未通过有效性验证作为所述验证结果。
在本实施例中,在客户端中预先存储了第一预设验证函数如SecTrustEvaluate()函数来判断所述主机信息是否在服务端证书的可选域名列表里,若主机信息在服务端证书的可选域名列表里则SecTrustEvaluate()的输出结果为kSecTrustResultUnspecified,且该结果可以作为第一验证子结果。而且在客户端中预先存储了第二预设验证函数如SecTrustEvaluate()函数来判断当前系统时间是否在所述服务器证书的有效期信息对应的有效时间段内,若当前系统时间是在所述服务器证书的有效期信息对应的有效时间段内,则SecTrustEvaluate()的输出结果为kSecTrustResultProceed,且该结果可以作为第二验证子结果。当然,第一验证子结果和第二验证子结果也还有未通过有效性验证的结果的情况。可见,只有在主机信息和服务器证书的有效期信息均通过有效性验证得到通过有效性验证的结果时,才能判定服务器证书的有效性验证通过,从而完成对访问请求中信息的第二重验证。
S140、若确定所述验证结果为所述主机信息和所述服务器证书均通过有效性验证,则对所述应用程序请求设置信任标签以更新所述应用程序请求,并将所述应用程序请求发送至所述服务器,以使得所述客户端访问所述服务器。
在本实施例中,当在客户端中完成了对服务器证书信息的第二重验证后,且得到的结果为所述主机信息和所述服务器证书均通过有效性验证,则表示客户端可以安全的与服务器建立通讯连接以进行数据交互,此时客户端对所述应用程序请求设置信任标签以更新所述应用程序请求,并将所述应用程序请求发送至所述服务器,以使得所述客户端访问所述服务器。
在一实施例中,步骤S130之后还包括:
若确定所述验证结果为所述主机信息未通过有效性验证或所述服务器证书未通过有效性验证,则生成用于提示所述服务器证书为异常证书的第二提示信息,并对所述第二提示信息进行埋点处理。
在本实施例中,在对服务器证书进行第二重验证失败时,也是参照对服务器根证书的第一重验证的过程,当得到所述主机信息未通过有效性验证或所述服务器证书未通过有效性验证这一验证结果后,是由客户端自动在提示信息模板内填充“主机信息未通过有效性验证或所述服务器证书未通过有效性验证”的第二提示信息,并在客户端的本地对所述第二提示信息进行埋点处理,也即进行本地存储。可见,基于上述方式可以快速的对服务器证书第二重验证的失败结果进行及时提示和处理。
可见,实施该方法的实施例是客户端对服务器根证书、主机信息和服务器证书进行多维度的证书信息校验,能确保校验的安全性和准确性。
图5是本发明实施例提供的一种基于预埋证书的数字证书校验装置的示意性框图。如图5所示,对应于以上基于预埋证书的数字证书校验方法,本发明还提供一种基于预埋证书的数字证书校验装置100。该基于预埋证书的数字证书校验装置100包括用于执行上述基于预埋证书的数字证书校验方法的单元。请参阅图5,该基于预埋证书的数字证书校验装置100包括:根证书公钥获取单元110、本地公钥信息获取单元120、根证书公钥验证单元130和证书有效性验证单元140。
根证书公钥获取单元110,用于响应于应用程序请求,将所述应用程序请求发送至服务器以获取服务器根证书的根证书公钥。
在本实施例中,是以客户端为执行主体描述技术方案。当用户使用客户端(也可以理解为用户使用的智能终端,如智能手机、平板电脑等,且在该智能终端上安装了苹果公司开发的iOS系统)启动其所安装的多个应用程序的其中一个目标应用程序时,会产生一个与目标应用程序对应的应用程序请求以请求访问服务器。但是为了确保访问过程的安全性,客户端是先将应用程序请求发送至与该目标应用程序对应的服务器,以请求获取到该服务器中已存储的根证书公钥。具体的,可以在客户端中通过预先设置的第一会话管理器(更具体如AFURL Session Manager这一会话管理器)来检测应用程序请求,然后在检测到应用程序请求后将该应用程序请求发送至对应的服务器。
其中,在客户端中预先设置第一会话管理器中,至少通过以下步骤:A1)初始化AFURL Session Manager对象;A2)获取AFURL Session Manager对象中的任务对象(也即Task对象);A3)启动任务对象。当完成了上述操作后,即可实现在客户端中完成第一会话管理器的设置,且通过第一会话管理器可进行请求的建立、管理、销毁、安全、请求重定向、请求重启等各种操作。
因在客户端检测到应用程序请求后,并不是立即与相应的服务器进行重要数据的交互,而是需要先将应用程序请求发送至服务器以获取服务器根证书的根证书公钥。可见,基于上述主动请求获取服务器的根证书公钥的方式,可以在获取到该根证书公钥后进行验证且通过验证及其他进一步验证后,才能进行重要数据的交互,提高了交互数据的安全性。
本地公钥信息获取单元120,用于获取本地预埋的内置根证书信息列表,并从所述内置根证书信息列表中提取多个内置根证书分别对应的本地公钥信息。
在本实施例中,当客户端获取到了服务器发送的根证书公钥后,还可以获取到本地预埋的内置根证书信息列表。在客户端本地的内置根证书信息列表中包括iOS系统中提供的所有根证书,每一个根证书可用于作为客户端访问相应服务器的凭证。当然,还有可能出现iOS系统中提供的所有根证书中还未包括客户端所需访问服务器的根证书的情况,且在这一情况下客户端是无法正常访问该服务器。为了确定客户端的本次访问是否会出现上述情况,需要先获取客户端本地预埋的内置根证书信息列表,并提取到所述内置根证书信息列表中各内置根证书分别对应的本地公钥信息。可见,基于上述方式可以快速获取本地的多个内置根证书分别对应的本地公钥信息。
在一实施例中,基于预埋证书的数字证书校验装置100还包括:
内置根证书信息列表获取单元,用于获取与客户端中当前操作系统对应的多个根证书,以组成所述内置根证书信息列表;
内置根证书存储单元,用于将所述内置根证书信息列表存储至证书凭据空间中。
在本实施例中,在客户端中预埋内置根证书信息列表时,具体是先获取客户端自身所安装的操作系统版本,然后基于操作系统版本去系统服务器(例如时iOS系统运营商对应的后台服务器)中获取到与客户端中当前操作系统对应的多个根证书组成所述内置根证书信息列表。之后,在客户端中划分一个区域作为证书凭据空间,将所述内置根证书信息列表存储于所述证书凭据空间中。可见,基于上述方式可以在客户端中预先存储后续验证所需要的内置根证书信息列表。
在一实施例中,本地公钥信息获取单元120用于:
从所述证书凭据空间中获取所述内置根证书信息列表;
基于预先设置的第三方库获取多个内置根证书中各内置根证书分别对应的本地公钥信息,以及各内置根证书分别对应的颁发者信息。
在本实施例中,当在客户端的证书凭据空间已预先存储了包括多个内置根证书的内置根证书信息列表后,客户端还检测到已成功接收了服务器发送的根证书公钥,此时需要将服务器发送的根证书公钥与多个内置根证书分别进行匹配。在上述匹配过程进行之前,还需要客户端通过预先设置的第三方库(如OpenSSL库)对内置根证书信息列表中各内置根证书分别对应的本地公钥信息及颁发者信息(其中颁发者信息可用issuer表示)进行提取。在获取到了内置根证书信息列表中各内置根证书分别对应的本地公钥信息及颁发者信息后,即可作为根证书公钥对应的多个待匹配数据。可见,通过上述方式,可以快速解析获取内置根证书信息列表的详细信息。
根证书公钥验证单元130,用于若确定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息的其中一个本地公钥信息匹配成功,则获取所述应用程序请求对应的主机信息和服务器证书,并对所述主机信息和所述服务器证书进行有效性验证以得到验证结果。
在本实施例中,当在客户端中内置的多个内置根证书中获取到有一个内置根证书的本地公钥信息与所述根证书公钥完全相同,则表示根证书公钥在客户端的本地匹配成功,此时服务器可作为与客户端待建立连接的候选服务器。在该验证过程中,利用证书的颁发机构和公钥进行双重验证,能防止证书被篡改后影响验证结果的准确性。之后还可对该服务器的其他信息进行进一步验证,且在这一验证通过后方能与客户端成功建立通讯连接。具体是根证书公钥在客户端的本地匹配成功后,还需客户端从所述应用程序请求对应访问服务器中的主机信息(也可用Host信息表示,一般包括)和服务器证书(这一证书并非服务器根证书,其中服务器根证书是第三方且被信任的认证机构自签名的证书,服务器证书则是经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件),以使得客户端进一步对所述主机信息和所述服务器证书进行有效性验证以得到验证结果。可见,上述进一步验证的方式是对客户端与服务器建立安全通信连接的第二次验证,相较于单重验证更多一重验证,提高了验证安全性和准确性。
在一实施例中,基于预埋证书的数字证书校验装置100还包括:
当前颁发者信息匹配单元,用于获取所述根证书公钥对应的当前颁发者信息,并在所述多个内置根证书分别对应的颁发者信息中获取与所述当前颁发者信息对应的匹配结果;
第一匹配单元,用于若确定所述匹配结果为所述多个内置根证书分别对应的颁发者信息中存在有与所述当前颁发者信息对应的目标颁发者信息,则判定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息匹配成功;
第二匹配单元,用于若确定所述匹配结果为所述多个内置根证书分别对应的颁发者信息中未存在有与所述当前颁发者信息对应的目标颁发者信息,则判定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息均未匹配成功。
在本实施例中,在客户端中对根证书公钥与多个内置根证书分别进行匹配时,具体可以是先获取所述根证书公钥对应的当前颁发者信息,然后以当前颁发者信息为检索条件在所述多个内置根证书分别对应的颁发者信息进行检索以判断是否有相同的颁发者信息,最后若在多个内置根证书分别对应的颁发者信息检索到与所述当前颁发者信息相同的匹配结果,则表示根证书公钥匹配成功,也即此时判定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息的其中一个本地公钥信息匹配成功。上述的匹配过程实现了对根证书公钥的验证,是对应用程序请求的初次验证,之后还需进行其他数据的二次验证。
当然,若在多个内置根证书分别对应的颁发者信息未检索到与所述当前颁发者信息相同的匹配结果,则表示根证书公钥匹配失败,也即此时判定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息均未匹配成功。
在一实施例中,在若确定所述匹配结果为所述多个内置根证书分别对应的颁发者信息中未存在有与所述当前颁发者信息对应的目标颁发者信息,则判定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息均未匹配成功之后,还包括:
生成用于提示所述服务器根证书为异常证书的第一提示信息,并对所述第一提示信息进行埋点处理。
在本实施例中,当在客户端中进行根证书公钥的匹配,且得到所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息均未匹配成功的结果后,是由客户端自动在提示信息模板内填充“根证书公钥与所述多个内置根证书分别对应的本地公钥信息均未匹配成功”的信息内容后,生成所述第一提示信息,并在客户端的本地对所述第一提示信息进行埋点处理,也即进行本地存储。可见,基于上述方式可以快速的对服务器根证书匹配的失败结果进行及时提示和处理。
在一实施例中,根证书公钥验证单元130用于:
获取第一预设验证函数,将所述主机信息输入至所述第一预设验证函数以得到第一验证子结果;其中,所述第一验证子结果为通过有效性验证的结果或未通过有效性验证的结果;
获取第二预设验证函数,将所述服务器证书的有效期信息输入至所述第二预设验证函数以得到第二验证子结果;其中,所述第二验证子结果为通过有效性验证的结果或未通过有效性验证的结果;
若确定所述第一验证子结果为通过有效性验证的结果且所述第二验证子结果为通过有效性验证的结果,则以通过有效性验证作为所述验证结果;
若确定所述第一验证子结果为未通过有效性验证的结果或所述第二验证子结果为未通过有效性验证的结果,则以未通过有效性验证作为所述验证结果。
在本实施例中,在客户端中预先存储了第一预设验证函数如SecTrustEvaluate()函数来判断所述主机信息是否在服务端证书的可选域名列表里,若主机信息在服务端证书的可选域名列表里则SecTrustEvaluate()的输出结果为kSecTrustResultUnspecified,且该结果可以作为第一验证子结果。而且在客户端中预先存储了第二预设验证函数如SecTrustEvaluate()函数来判断当前系统时间是否在所述服务器证书的有效期信息对应的有效时间段内,若当前系统时间是在所述服务器证书的有效期信息对应的有效时间段内,则SecTrustEvaluate()的输出结果为kSecTrustResultProceed,且该结果可以作为第二验证子结果。当然,第一验证子结果和第二验证子结果也还有未通过有效性验证的结果的情况。可见,只有在主机信息和服务器证书的有效期信息均通过有效性验证得到通过有效性验证的结果时,才能判定服务器证书的有效性验证通过,从而完成对访问请求中信息的第二重验证。
证书有效性验证单元140,用于若确定所述验证结果为所述主机信息和所述服务器证书均通过有效性验证,则对所述应用程序请求设置信任标签以更新所述应用程序请求,并将所述应用程序请求发送至所述服务器,以使得所述客户端访问所述服务器。
在本实施例中,当在客户端中完成了对服务器证书信息的第二重验证后,且得到的结果为所述主机信息和所述服务器证书均通过有效性验证,则表示客户端可以安全的与服务器建立通讯连接以进行数据交互,此时客户端对所述应用程序请求设置信任标签以更新所述应用程序请求,并将所述应用程序请求发送至所述服务器,以使得所述客户端访问所述服务器。
在一实施例中,基于预埋证书的数字证书校验装置100还包括:
服务器证书异常提示单元,用于若确定所述验证结果为所述主机信息未通过有效性验证或所述服务器证书未通过有效性验证,则生成用于提示所述服务器证书为异常证书的第二提示信息,并对所述第二提示信息进行埋点处理。
在本实施例中,在对服务器证书进行第二重验证失败时,也是参照对服务器根证书的第一重验证的过程,当得到所述主机信息未通过有效性验证或所述服务器证书未通过有效性验证这一验证结果后,是由客户端自动在提示信息模板内填充“主机信息未通过有效性验证或所述服务器证书未通过有效性验证”的第二提示信息,并在客户端的本地对所述第二提示信息进行埋点处理,也即进行本地存储。可见,基于上述方式可以快速的对服务器证书第二重验证的失败结果进行及时提示和处理。
可见,实施该装置的实施例能是客户端对服务器根证书、主机信息和服务器证书进行多维度的证书信息校验,能确保校验的安全性和准确性。
上述基于预埋证书的数字证书校验装置可以实现为一种计算机程序的形式,该计算机程序可以在如图6所示的计算机设备上运行。
请参阅图6,图6是本发明实施例提供的一种计算机设备的示意性框图。该计算机设备集成了本发明实施例所提供的任一种基于预埋证书的数字证书校验装置。
参阅图6,该计算机设备包括通过系统总线401连接的处理器402、存储器和网络接口405,其中,存储器可以包括存储介质403和内存储器404。
该存储介质403可存储操作系统4031和计算机程序4032。该计算机程序4032包括程序指令,该程序指令被执行时,可使得处理器402执行一种基于预埋证书的数字证书校验方法。
该处理器402用于提供计算和控制能力,以支撑整个计算机设备的运行。
该内存储器404为存储介质403中的计算机程序4032的运行提供环境,该计算机程序4032被处理器402执行时,可使得处理器402执行上述的基于预埋证书的数字证书校验方法。
该网络接口405用于与其它设备进行网络通信。本领域技术人员可以理解,图6中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器402用于运行存储在存储器中的计算机程序4032,以实现如下步骤:
响应于应用程序请求,将所述应用程序请求发送至服务器以获取服务器根证书的根证书公钥;
获取本地预埋的内置根证书信息列表,并从所述内置根证书信息列表中提取多个内置根证书分别对应的本地公钥信息;
若确定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息的其中一个本地公钥信息匹配成功,则获取所述应用程序请求对应的主机信息和服务器证书,并对所述主机信息和所述服务器证书进行有效性验证以得到验证结果;
若确定所述验证结果为所述主机信息和所述服务器证书均通过有效性验证,则对所述应用程序请求设置信任标签以更新所述应用程序请求,并将所述应用程序请求发送至所述服务器,以使得所述客户端访问所述服务器。
应当理解,在本发明实施例中,处理器402可以是中央处理单元(CentralProcessing Unit,CPU),该处理器402还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时使处理器执行如下步骤:
响应于应用程序请求,将所述应用程序请求发送至服务器以获取服务器根证书的根证书公钥;
获取本地预埋的内置根证书信息列表,并从所述内置根证书信息列表中提取多个内置根证书分别对应的本地公钥信息;
若确定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息的其中一个本地公钥信息匹配成功,则获取所述应用程序请求对应的主机信息和服务器证书,并对所述主机信息和所述服务器证书进行有效性验证以得到验证结果;
若确定所述验证结果为所述主机信息和所述服务器证书均通过有效性验证,则对所述应用程序请求设置信任标签以更新所述应用程序请求,并将所述应用程序请求发送至所述服务器,以使得所述客户端访问所述服务器。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种基于预埋证书的数字证书校验方法,应用于安装有iOS系统的客户端,其特征在于,包括:
响应于应用程序请求,将所述应用程序请求发送至服务器以获取服务器根证书的根证书公钥;
获取本地预埋的内置根证书信息列表,并从所述内置根证书信息列表中提取多个内置根证书分别对应的本地公钥信息;
若确定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息的其中一个本地公钥信息匹配成功,则获取所述应用程序请求对应的主机信息和服务器证书,并对所述主机信息和所述服务器证书进行有效性验证以得到验证结果;
若确定所述验证结果为所述主机信息和所述服务器证书均通过有效性验证,则对所述应用程序请求设置信任标签以更新所述应用程序请求,并将所述应用程序请求发送至所述服务器,以使得所述客户端访问所述服务器。
2.根据权利要求1所述的方法,其特征在于,在所述获取本地预埋的内置证书信息,并从所述内置证书信息中提取本地公钥信息的步骤之前,所述方法还包括:
获取与客户端中当前操作系统对应的多个根证书,以组成所述内置根证书信息列表;
将所述内置根证书信息列表存储至证书凭据空间中。
3.根据权利要求2所述的方法,其特征在于,所述从所述内置根证书信息列表中提取多个内置根证书分别对应的本地公钥信息,包括:
从所述证书凭据空间中获取所述内置根证书信息列表;
基于预先设置的第三方库获取多个内置根证书中各内置根证书分别对应的本地公钥信息,以及各内置根证书分别对应的颁发者信息。
4.根据权利要求3所述的方法,其特征在于,在所述若确定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息的其中一个本地公钥信息匹配成功,则获取所述应用程序请求对应的主机信息和服务器证书的步骤之前,所述方法还包括:
获取所述根证书公钥对应的当前颁发者信息,并在所述多个内置根证书分别对应的颁发者信息中获取与所述当前颁发者信息对应的匹配结果;
若确定所述匹配结果为所述多个内置根证书分别对应的颁发者信息中存在有与所述当前颁发者信息对应的目标颁发者信息,则判定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息的其中一个本地公钥信息匹配成功;
若确定所述匹配结果为所述多个内置根证书分别对应的颁发者信息中未存在有与所述当前颁发者信息对应的目标颁发者信息,则判定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息均未匹配成功。
5.根据权利要求1所述的方法,其特征在于,所述对所述主机信息和所述服务器证书进行有效性验证以得到验证结果,包括:
获取第一预设验证函数,将所述主机信息输入至所述第一预设验证函数以得到第一验证子结果;其中,所述第一验证子结果为通过有效性验证的结果或未通过有效性验证的结果;
获取第二预设验证函数,将所述服务器证书的有效期信息输入至所述第二预设验证函数以得到第二验证子结果;其中,所述第二验证子结果为通过有效性验证的结果或未通过有效性验证的结果;
若确定所述第一验证子结果为通过有效性验证的结果且所述第二验证子结果为通过有效性验证的结果,则以通过有效性验证作为所述验证结果;
若确定所述第一验证子结果为未通过有效性验证的结果或所述第二验证子结果为未通过有效性验证的结果,则以未通过有效性验证作为所述验证结果。
6.根据权利要求4所述的方法,其特征在于,在所述若确定所述匹配结果为所述多个内置根证书分别对应的颁发者信息中未存在有与所述当前颁发者信息对应的目标颁发者信息,则判定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息均未匹配成功的步骤之后,所述方法还包括:
生成用于提示所述服务器根证书为异常证书的第一提示信息,并对所述第一提示信息进行埋点处理。
7.根据权利要求1所述的方法,其特征在于,在所述若确定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息的其中一个本地公钥信息匹配成功,则获取所述应用程序请求对应的主机信息和服务器证书,并对所述主机信息和所述服务器证书进行有效性验证以得到验证结果的步骤之后,所述方法还包括:
若确定所述验证结果为所述主机信息未通过有效性验证或所述服务器证书未通过有效性验证,则生成用于提示所述服务器证书为异常证书的第二提示信息,并对所述第二提示信息进行埋点处理。
8.一种基于预埋证书的数字证书校验装置,配置于安装有iOS系统的客户端,其特征在于,包括:
根证书公钥获取单元,用于响应于应用程序请求,将所述应用程序请求发送至服务器以获取服务器根证书的根证书公钥;
本地公钥信息获取单元,用于获取本地预埋的内置根证书信息列表,并从所述内置根证书信息列表中提取多个内置根证书分别对应的本地公钥信息;
根证书公钥验证单元,用于若确定所述根证书公钥与所述多个内置根证书分别对应的本地公钥信息的其中一个本地公钥信息匹配成功,则获取所述应用程序请求对应的主机信息和服务器证书,并对所述主机信息和所述服务器证书进行有效性验证以得到验证结果;
证书有效性验证单元,用于若确定所述验证结果为所述主机信息和所述服务器证书均通过有效性验证,则对所述应用程序请求设置信任标签以更新所述应用程序请求,并将所述应用程序请求发送至所述服务器,以使得所述客户端访问所述服务器。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7任一项所述的基于预埋证书的数字证书校验方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现如权利要求1-7中任一项所述的基于预埋证书的数字证书校验方法。
CN202311782460.XA 2023-12-22 2023-12-22 基于预埋证书的数字证书校验方法、装置、设备及介质 Pending CN117527439A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311782460.XA CN117527439A (zh) 2023-12-22 2023-12-22 基于预埋证书的数字证书校验方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311782460.XA CN117527439A (zh) 2023-12-22 2023-12-22 基于预埋证书的数字证书校验方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN117527439A true CN117527439A (zh) 2024-02-06

Family

ID=89761124

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311782460.XA Pending CN117527439A (zh) 2023-12-22 2023-12-22 基于预埋证书的数字证书校验方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN117527439A (zh)

Similar Documents

Publication Publication Date Title
US10157050B2 (en) Method for confirming correction program and information processing apparatus
KR101903620B1 (ko) 블록체인 기반 분산 네트워크에서 피어의 신원을 확인하는 방법 및 이를 이용한 서버
CN108521333B (zh) 一种基于动态口令进行离线认证的登录方法及系统
US7904952B2 (en) System and method for access control
US9342683B2 (en) Stateless attestation system
US9276752B2 (en) System and method for secure software update
US20040054889A1 (en) Methods and system for providing a public key fingerprint list in a PK system
KR20170098890A (ko) 설비 검증 방법 및 장치
US12008145B2 (en) Method and server for certifying an electronic document
WO2021036322A1 (zh) 防止动态链接库文件劫持的方法、装置和计算机设备
CN108092775B (zh) 一种校验方法及装置、电子设备
WO2012117253A1 (en) An authentication system
US20180124106A1 (en) Detecting "man-in-the-middle' attacks
KR101890584B1 (ko) m of n 다중 서명에 의한 인증서 서비스를 제공하는 방법 및 이를 이용한 서버
CN113672897B (zh) 数据通信方法、装置、电子设备及存储介质
CN113360868A (zh) 应用程序登录方法、装置、计算机设备和存储介质
RU2638779C1 (ru) Способ и сервер для вьполнения авторизации приложения на электронном устройстве
CN111294337A (zh) 一种基于令牌的鉴权方法及装置
CN117155716B (zh) 访问校验方法和装置、存储介质及电子设备
JP6813442B2 (ja) 検証装置
CN116415227A (zh) 密钥更新方法、服务器、客户端及存储介质
KR101436404B1 (ko) 사용자 인증 장치 및 방법
CN116707758A (zh) 可信计算设备的认证方法、设备和服务器
CN111541649A (zh) 一种密码重置方法、装置、服务器及存储介质
JP2021508892A (ja) 電子デバイスの無欠性検査

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