一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数字证书验证方法及装置与流程

2022-02-24 11:08:16 来源:中国专利 TAG:


1.本技术属于信息安全技术领域,尤其涉及一种数字证书验证方法及装置。


背景技术:

2.安全密钥存有代表用户身份的数字证书,每一次用户使用数字证书进行授权时,安装于终端设备的证书驱动都需要对拟授权的数字证书进行不可逆的单向解析,保证数字证书中的内容无法被复制。
3.当安全密钥内的一份数字证书用于授权时,证书驱动进行身份验证需要解析安全密钥中存有的所有数字证书,再匹配解析后所获得的指定数字证书。当安全密钥中存有数份数字证书时,遍历并解析所有数字证书的等待时间长。


技术实现要素:

4.有鉴于此,本技术实施例提供了一种数字证书验证方法及装置,以解决安全密钥中存有数份数字证书时,遍历并解析所有数字证书的等待时间长的问题。
5.本技术实施例的第一方面提供了一种数字证书验证方法,包括:
6.接收服务器发送的交易指令;其中,所述交易指令携带有识别信息,所述识别信息包括数字证书的dn和cn中的至少一种;
7.在已存储与安全密钥对应的证书记录时,从所述证书记录中获取与所述识别信息对应的证书信息和证书标识;
8.根据所述证书标识,从所述安全密钥中获取与所述数字证书对应的验证信息;
9.对所述验证信息进行验证;
10.在所述验证信息验证通过时,根据所述数字证书进行交易认证。
11.本技术实施例的第二方面提供了一种数字证书验证装置,包括:
12.收发模块,用于接收服务器发送的交易指令;其中,所述交易指令携带有识别信息,所述识别信息包括数字证书的dn和cn中的至少一种;
13.查找模块,用于在已存储与安全密钥对应的证书记录时,从所述证书记录中获取与所述识别信息对应的证书信息和证书标识;
14.所述查找模块还用于,根据所述证书标识,从所述安全密钥中获取与所述数字证书对应的验证信息;
15.验证模块,用于对所述验证信息进行验证;
16.所述验证模块还用于,在所述验证信息验证通过时,根据所述数字证书进行交易认证。
17.本技术实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本技术实施例的第一方面提供的数字证书验证方法的步骤。
18.本技术实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储
等仅用于区分描述,而不能理解为指示或暗示相对重要性。
36.在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
37.本技术实施例提供一种数字证书验证方法,可以应用于能够与u盾或fido安全密钥等安全密钥设备有线或无线通信连接的具有数据处理及控制功能的终端设备,具体可以由终端设备的处理器在运行具有相应功能的计算机程序时执行。终端设备可以是手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda)等,本技术实施例对终端设备的具体类型不作任何限制。
38.如图1所示,本技术实施例提供的数字证书验证方法,包括如下步骤s101~s105:
39.步骤s101、接收服务器发送的交易指令;其中,所述交易指令携带有识别信息,所述识别信息包括数字证书的dn和cn中的至少一种。
40.在应用中,终端设备接收服务器发送的交易指令。服务器具有下发数字证书的功能,服务器具体可以是证书颁发机构(certificate authority,ca)、银行等具有数字证书颁发权限的机构的服务器。交易指令包括交易数据和识别信息,交易数据为交易指令的数据部分,识别信息可以作为交易指令的字头或字尾,其中,识别信息包括此次交易需要使用到的数字证书的dn(distinguished name)和cn(common name)中的至少一种。数字证书的dn是指证书持有人的唯一标识符,dn包含证书持有人的通用名cn、组织单位ou(organizational unit)、组织o(organizational)、国家c(country)等信息。
41.步骤s102、在已存储与安全密钥对应的证书记录时,从所述证书记录中获取与所述识别信息对应的证书信息和证书标识。
42.在应用中,终端设备接收到服务器发送的交易指令后,在本地存储器中查找是否存储有当前与终端设备建立连接的安全密钥的证书记录,当查找到本地存储器存储有当前与终端设备建立连接的安全密钥的证书记录时,根据识别信息从证书记录中查找与识别信息包含相同dn或cn的证书信息并获取证书标识,将根据识别信息查找到的证书信息和证书标识读取到终端设备的内存中临时存储。证书标识是数字证书的唯一编号。终端设备已存储与安全密钥对应的证书记录时,证书记录具体可以是永久存储或在设定的期限内暂时存储(即缓存)在寄存器中。
43.如图2所示,在一个实施例中,基于图1所对应的实施例,步骤s101之后还包括:
44.步骤s201、在未存储与安全密钥对应的证书记录时,从所述安全密钥中获取所述证书记录并存储。
45.在应用中,当未查找到本地存储器存储有当前与终端设备建立连接的安全密钥的证书记录时,终端设备访问安全密钥,以获取安全密钥的证书记录并存储于终端设备存储器中。
46.在一个实施例中,所述证书信息包括所述数字证书的公钥;
47.或者,所述证书信息包括所述数字证书的dn、cn、dn的哈希值和cn的哈希值中的至少一种。
48.在应用中,证书信息包括数字证书的公钥,还可以包括数字证书的dn、cn、最后64字节的数据等;或者,证书信息包括数字证书的dn、cn、dn的哈希值和cn的哈希值中的至少一种,其中dn的哈希值是由服务器使用私钥对dn进行加密后发送到终端设备,cn的哈希值也是由服务器使用私钥对cn进行加密后发送到终端设备。
49.步骤s103、根据所述证书标识,从所述安全密钥中获取与所述数字证书对应的验证信息。
50.在应用中,终端设备根据其内存中临时存储的证书标识,在安全密钥中查找带有相同证书标识的数字证书,然后从查找到的数字证书中获取验证信息。验证信息包括与证书信息相同类型的信息,也即验证信息也包括数字证书的公钥,还可以包括数字证书的dn、cn、最后64字节的数据等;或者,验证信息也包括数字证书的dn、cn、dn的哈希值和cn的哈希值中的至少一种,其中dn的哈希值是由服务器使用私钥对dn进行加密后发送到终端设备,cn的哈希值也是由服务器使用私钥对cn进行加密后发送到终端设备。
51.步骤s104、对所述验证信息进行验证。
52.在应用中,可以通过比较验证信息的内容与已存储的证书信息的内容是否一致对验证信息进行验证,如果验证信息中的内容与证书信息中的内容一致,则验证通过,反之,则验证失败。
53.步骤s105、在所述验证信息验证通过时,根据所述数字证书进行交易认证。
54.在应用中,验证信息验证通过时,可以使用安全密钥中与交易指令的证书标识对应的数字证书进行交易认证,完成交易认证后,将交易认证信息和交易指令打包反馈给服务器,交易认证具体可以是在线数字签名。
55.在一个实施例中,所述服务器包括下证服务器和交易服务器,具体的,所述下证服务器用于存储数字证书,还用于当所述终端设备向所述下证服务器发起数字证书下载请求时,从所述下证服务器下载安全密钥所需的数字证书以及数字证书的证书信息和证书标识并写入安全密钥中;所述交易服务器用于发送所述交易指令以及当所述完成交易认证后,接收终端设备发送的交易认证信息和交易指令。其中,所述下证服务器和所述交易服务器可以是同一个服务器,例如,ca服务器或银行服务器;或者,所述下证服务器和所述交易服务器也可以是两个服务器,例如,一个ca服务器和一个银行服务器,两个ca服务器,或者,两个银行服务器。
56.如图3所示,在一个实施例中,基于图1所对应的实施例,步骤s104之后还包括步骤s301和s302:
57.步骤s301、在所述验证信息验证失败时,清除已存储的所述证书信息。
58.在应用中,验证信息验证失败时,说明安全密钥中的数字证书已经更新,此时需要在存储器查找与交易指令的识别信息对应的证书信息并删除。
59.步骤s302、从所述安全密钥中获取所述证书记录并存储。
60.在应用中,在删除与交易指令的识别信息对应的证书信息后,终端设备访问安全密钥,以获取安全密钥中与交易指令的识别信息对应的的证书记录并存储于终端设备存储
器中,证书记录具体可以是永久存储或在设定的期限内暂时存储(即缓存)在寄存器中。执行步骤s360之后可以返回步骤s120并执行后续步骤。
61.如图4所示,在一个实施例中,基于图1所对应的实施例,步骤s101之前还包括:
62.步骤s401、从服务器下载数字证书、证书信息和证书标识并写入安全密钥。
63.在应用中,当安全密钥与终端设备建立连接时,若需要下载数字证书并写入安全密钥,终端设备可以向服务器发起数字证书下载请求,以从服务器下载安全密钥所需的数字证书以及数字证书的证书信息和证书标识并写入安全密钥中。
64.如图5所示,在一个实施例中,基于图4所对应的实施例,步骤s401包括如下步骤s501和s502:
65.步骤s501、在安全密钥中创建证书信息列表。
66.在应用中,当安全密钥与终端设备建立连接时,终端设备访问安全密钥并查找安全密钥中是否已创建证书信息列表,如果未创建证书信息列表,则在安全密钥中创建证书信息列表,用于存放写入安全密钥的证书信息。
67.步骤s502、从服务器下载数字证书写入所述安全密钥并获取所述数字证书中的证书信息和证书标识并写入所述安全密钥的证书信息列表。
68.在应用中,当终端设备从服务器下载新的数字证书以及数字证书的证书信息和证书标识时将数字证书写入安全密钥中存储,同时获取数字证书中的公钥、最后64字节的数据、dn、cn、dn的哈希值和cn的哈希值中的至少一种写入证书信息列表中。
69.如图6所示,本技术实施例提供的数字证书验证方法,包括如下步骤s601~s610。
70.步骤s601、在安全密钥中创建证书信息列表;
71.步骤s602、从服务器下载数字证书写入所述安全密钥并获取所述数字证书中的证书信息和证书标识并写入所述安全密钥的证书信息列表;
72.步骤s603、接收服务器发送的交易指令;其中,所述交易指令携带有识别信息,所述识别信息包括数字证书的dn和cn中的至少一种;
73.步骤s604、存储器中是否存储有与终端设备建立连接的安全密钥的证书记录;
74.步骤s605、在未存储与安全密钥对应的证书记录时,从所述安全密钥中获取所述证书记录并存储;
75.步骤s606、在已存储与安全密钥对应的证书记录时,从所述证书记录中获取与所述识别信息对应的证书标识和第一公钥;
76.步骤s607、根据所述证书标识,从所述安全密钥中获取与所述数字证书对应的第二公钥;
77.步骤s608、验证第一公钥与第二公钥是否一致;
78.步骤s609、在验证失败时,清除已存储的所述证书信息并返回步骤s605;
79.步骤s610、在验证通过时,根据所述数字证书进行交易认证。
80.在应用中,当安全密钥与终端设备建立连接时,终端设备访问安全密钥并查找安全密钥中是否已创建证书信息列表,如果未创建证书信息列表,则在安全密钥中创建证书信息列表,用于存放写入安全密钥的证书信息。当终端设备从服务器下载新的数字证书以及数字证书的证书信息和证书标识时将数字证书写入安全密钥中存储,同时获取数字证书中的公钥、dn和cn写入证书信息列表中。
81.终端设备接收到服务器发送的交易指令后,在本地存储器中查找是否存储有当前与终端设备建立连接的安全密钥的证书记录,当未查找到本地存储器存储有当前与终端设备建立连接的安全密钥的证书记录时,终端设备访问安全密钥,以获取安全密钥的证书记录并存储于终端设备存储器中;当查找到本地存储器存储有当前与终端设备建立连接的安全密钥的证书记录时,根据识别信息从证书记录中查找与识别信息包含相同dn或cn的证书信息并获取证书标识,将根据识别信息查找到的证书标识和第一公钥读取到终端设备的内存中临时存储。终端设备根据其内存中临时存储的证书标识,在安全密钥中查找带有相同证书标识的数字证书,然后从查找到的数字证书中获取第二公钥。
82.验证第一公钥与第二公钥是否一致。验证失败时,说明安全密钥中的数字证书已经更新,此时需要在存储器查找与交易指令的识别信息对应的证书信息并删除。删除完成后返回步骤s621;验证通过时,可以使用安全密钥中与交易指令的证书标识对应的数字证书进行交易认证,完成交易认证后,将交易认证信息和交易指令打包反馈给服务器,交易认证具体可以是在线数字签名。
83.如图7所示,本技术实施例提供的数字验证方法,包括如下步骤:s701~s710。
84.步骤s701、在安全密钥中创建证书信息列表;
85.步骤s702、从服务器下载数字证书写入所述安全密钥并获取所述数字证书中的证书信息和证书标识并写入所述安全密钥的证书信息列表;
86.步骤s703、接收服务器发送的交易指令;其中,所述交易指令携带有识别信息,所述识别信息包括数字证书的dn和cn中的至少一种;
87.步骤s704、存储器中是否存储有与终端设备建立连接的安全密钥的证书记录;
88.步骤s705、在未存储与安全密钥对应的证书记录时,从所述安全密钥中获取所述证书记录并存储;
89.步骤s706、在已存储与安全密钥对应的证书记录时,从所述证书记录中获取与所述识别信息对应的证书信息和证书标识;
90.步骤s707、根据所述证书标识,从所述安全密钥中获取与所述数字证书对应的验证信息;
91.步骤s708、对所述验证信息进行验证,是否与对应的识别信息一致;
92.步骤s709、在所述验证信息验证失败时,清除已存储的所述证书信息并返回步骤s705;
93.步骤s710、所述验证信息验证通过时,根据所述数字证书进行交易认证。
94.在应用中,当安全密钥与终端设备建立连接时,终端设备访问安全密钥并查找安全密钥中是否已创建证书信息列表,如果未创建证书信息列表,则在安全密钥中创建证书信息列表,用于存放写入安全密钥的证书信息。当终端设备从服务器下载新的数字证书以及数字证书的证书信息和证书标识时将数字证书写入安全密钥中存储,同时获取数字证书中的dn和cn或者dn的哈希值和cn的哈希值写入证书信息列表中。
95.终端设备接收到服务器发送的交易指令后,在本地存储器中查找是否存储有当前与终端设备建立连接的安全密钥的证书记录,当未查找到本地存储器存储有当前与终端设备建立连接的安全密钥的证书记录时,终端设备访问安全密钥,以获取安全密钥的证书记录并存储于终端设备存储器中;当查找到本地存储器存储有当前与终端设备建立连接的安
全密钥的证书记录时,根据识别信息从证书记录中查找与识别信息包含相同dn或cn的证书信息并获取证书标识,将根据识别信息查找到的证书信息和证书标识读取到终端设备的内存中临时存储。终端设备根据其内存中临时存储的证书标识,在安全密钥中查找带有相同证书标识的数字证书,然后从查找到的数字证书中获取验证信息。验证信息包括与证书信息相同类型的信息,也即验证信息包括数字证书的dn和cn或者dn的哈希值和cn的哈希值。
96.对所述验证信息进行验证,是否与对应的证书信息一致。在所述验证信息验证失败时,说明安全密钥中的数字证书已经更新,此时需要在存储器查找与交易指令的识别信息对应的证书信息并删除。删除完成后返回步骤s721。在所述验证信息验证通过时,可以使用安全密钥中与交易指令的证书标识对应的数字证书进行交易认证,完成交易认证后,将交易认证信息和交易指令打包反馈给服务器,交易认证具体可以是在线数字签名。
97.本技术实施例提供的数字证书验证方法,通过根据交易指令中的识别信息,获取已存储的证书记录中与识别信息对应的证书信息和证书标识,将证书信息与从安全密钥获取的验证信息进行验证,验证通过后使用对应的数字证书进行交易,实现授权过程中数字证书的快速验证。
98.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
99.如图8所示,本技术实施例还提供一种数字证书验证装置8,用于执行上述数字证书验证实施例中的步骤。数字证书验证装置可以是终端设备中的虚拟装置(virtual appliance),由终端设备的处理器运行,也可以是终端设备本身。
100.如图8所示,本技术实施例提供的数字证书验证装置8,包括:
101.收发模块801,用于接收服务器发送的交易指令;其中,所述交易指令携带有识别信息,所述识别信息包括数字证书的dn和cn中的至少一种;
102.查找模块802,用于在已存储与安全密钥对应的证书记录时,从所述证书记录中获取与所述识别信息对应的证书信息和证书标识;还用于,根据所述证书标识,从所述安全密钥中获取与所述数字证书对应的验证信息;
103.验证模块803,用于对所述验证信息进行验证;还用于,在所述验证信息验证通过时,根据所述数字证书进行交易认证。
104.在一个实施例中,所述数字证书验证装置,还包括:
105.记录获取模块,用于在未存储与安全密钥对应的证书记录时,从所述安全密钥中获取所述证书记录并存储;
106.清除存储模块,用于在所述验证信息验证失败时,清除已存储的所述证书信息;还用于从所述安全密钥中获取所述证书记录并存储。
107.在一个实施例中,所述数字证书验证装置,还包括:
108.写模块,用于从服务器下载数字证书、证书信息和证书标识并写入安全密钥。
109.在应用中,数字证书验证装置中的各模块可以为软件程序模块,也可以通过处理器中集成的不同逻辑电路实现,还可以通过多个分布式处理器实现。
110.如图9所示,本技术实施例还提供一种终端设备9包括:至少一个处理器91、存储器92以及存储在存储器92中并可在至少一个处理器91上运行的计算机程序93,处理器91执行
计算机程序93时实现上述各个数字证书验证方法实施例中的步骤。终端设备9与服务器10和安全密钥11有线或无线通信连接,用于在与服务器10和/或安全密钥11进行通信时实现上述各个数字证书验证方法实施例中的步骤。
111.在应用中,终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,图9仅仅是终端设备的举例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
112.在应用中,处理器可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
113.在应用中,存储器在一些实施例中可以是终端设备的内部存储单元,例如终端设备的硬盘或内存。存储器在另一些实施例中也可以是终端设备的外部存储设备,例如终端设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器还可以既包括终端设备的内部存储单元也包括外部存储设备。存储器用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如计算机程序的程序代码等。存储器还可以用于暂时地存储已经输出或者将要输出的数据。
114.需要说明的是,上述装置/模块之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
115.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
116.本技术实施例还提供了一种终端设备,该终端设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述各个数字证书验证方法实施例中的步骤。
117.本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述数字证书验证方法实施例中的步骤。
118.本技术实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时实现可实现上述各个数字证书验证方法实施例中的步骤。
119.所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。
120.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
121.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
122.在本技术所提供的实施例中,应该理解到,所揭露的终端设备和方法,可以通过其它的方式实现。例如,以上所描述的终端设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或模块的间接耦合或通讯连接,可以是电性,机械或其它的形式。
123.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
124.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献