CN111259364B - 一种使用国密加密卡的方法、装置、设备及存储介质 - Google Patents

一种使用国密加密卡的方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111259364B
CN111259364B CN202010023433.4A CN202010023433A CN111259364B CN 111259364 B CN111259364 B CN 111259364B CN 202010023433 A CN202010023433 A CN 202010023433A CN 111259364 B CN111259364 B CN 111259364B
Authority
CN
China
Prior art keywords
target
encryption card
national
secret encryption
card
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
Application number
CN202010023433.4A
Other languages
English (en)
Other versions
CN111259364A (zh
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.)
Qianxin Technology Group Co Ltd
Secworld Information Technology Beijing Co Ltd
Original Assignee
Qianxin Technology Group Co Ltd
Secworld Information Technology Beijing 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 Qianxin Technology Group Co Ltd, Secworld Information Technology Beijing Co Ltd filed Critical Qianxin Technology Group Co Ltd
Priority to CN202010023433.4A priority Critical patent/CN111259364B/zh
Publication of CN111259364A publication Critical patent/CN111259364A/zh
Application granted granted Critical
Publication of CN111259364B publication Critical patent/CN111259364B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种使用国密加密卡的方法、装置、设备及存储介质,该方法包括:当检测到目标国密加密卡接入目标设备时,获取所述目标国密加密卡的识别信息;从预设数据库中查找与所述识别信息对应的加密卡配置信息;其中,所述加密卡配置信息包括:接口库文件的路径信息;根据所述接口库文件的路径信息获取所述目标国密加密卡的接口库文件,并解析所述接口库文件以得到所述目标国密加密卡的API接口函数地址;将所述API接口函数地址注册到OpenSSL的CRYPTO中,以供所述目标设备通过调用所述CRYPTO中的所述API接口函数地址以使用所述目标国密加密卡;本发明通过OpenSSL实现对国密加密卡的使用,并可以屏蔽各种厂商的国密加密卡的接口差异,便于用户使用。

Description

一种使用国密加密卡的方法、装置、设备及存储介质
技术领域
本发明涉及互联网技术领域,特别涉及一种使用国密加密卡的方法、装置、设备及存储介质。
背景技术
目前,商用密码的应用领域十分广泛,主要用于对不涉及国家秘密内容但又具有敏感性的内部信息、行政事务信息、经济信息等进行加密保护;比如:商用密码可用于企业门禁管理、企业内部的各类敏感信息的传输加密和存储加密,以防止非法第三方获取信息内容,商用密码也可用于各种安全认证、网上银行、数字签名等。国密加密卡作为基础密码设备,提供国密算法的硬件实现,可充分满足用户各种数据加密保护的需求。然而,国内生产国密加密卡的厂商众多,同家厂商也会提供不同型号的国密加密卡;不同型号的国密加密卡在调用接口实现上都会存在差异,用户在使用国密加密卡时需要根据厂商提供的接口规范具体来适配使用,导致用户使用不同国密加密卡时需要重复适配,用户体验度不佳。
发明内容
本发明的目的在于提供一种使用国密加密卡的方法、装置、设备及存储介质,通过OpenSSL实现对国密加密卡的使用,并可以屏蔽各种厂商的国密加密卡的接口差异,便于用户使用。
根据本发明的一个方面,提供了一种使用国密加密卡的方法,所述方法包括:
当检测到目标国密加密卡接入目标设备时,获取所述目标国密加密卡的识别信息;
从预设数据库中查找与所述识别信息对应的加密卡配置信息;其中,所述加密卡配置信息包括:接口库文件的路径信息;
根据所述接口库文件的路径信息获取所述目标国密加密卡的接口库文件,并解析所述接口库文件以得到所述目标国密加密卡的API接口函数地址;
将所述API接口函数地址注册到OpenSSL的CRYPTO中,以供所述目标设备通过调用所述CRYPTO中的所述API接口函数地址以使用所述目标国密加密卡。
可选的,当所述识别信息为PCIE信息时,所述获取所述目标国密加密卡的识别信息的步骤,具体包括:
确定出所有连接到PCI总线的外部设备信息;其中,所述外部设备信息包括:各种类型的外部设备的PCIE信息;
从所述外部设备信息中筛选出所述目标国密加密卡的PCIE信息。
可选的,所述加密卡配置信息还包括:驱动文件的路径信息;
在所述根据所述接口库文件的路径信息获取所述目标国密加密卡的接口库文件的步骤之前,所述方法还包括:
根据所述驱动文件的路径信息获取所述目标国密加密卡的驱动文件,并安装所述驱动文件以完成所述目标设备与所述目标国密加密卡之间的初始化操作。
可选的,所述解析所述接口库文件以得到所述目标国密加密卡的API接口函数地址的步骤,具体包括:
将所述接口库文件动态加载到需要使用所述目标国密加密卡的进程中;
在与所述进程对应的资源空间中获取所述接口库文件中的各个API接口函数的API接口函数地址;其中,所述资源空间是所述目标设备的操作系统为所述进程分配的。
可选的,在所述将所述API接口函数地址注册到OpenSSL的CRYPTO中的步骤之后,所述方法还包括:
获取与所述目标国密加密卡对应的调用函数;其中,所述调用函数用于接收调用所述目标国密加密卡的第一调用指令,并向CRYPTO发送调用所述国密加密卡的API接口函数地址的第二调用指令;
将所述调用函数添加到OpenSSL的EVP中,并重新对所述EVP进行封装操作。
根据本发明的另一个方面,提供了一种使用国密加密卡的装置,所述装置包括:
获取模块,用于当检测到目标国密加密卡接入目标设备时,获取所述目标国密加密卡的识别信息;
查找模块,用于从预设数据库中查找与所述识别信息对应的加密卡配置信息;其中,所述加密卡配置信息包括:接口库文件的路径信息;
解析模块,用于根据所述接口库文件的路径信息获取所述目标国密加密卡的接口库文件,并解析所述接口库文件以得到所述目标国密加密卡的API接口函数地址;
注册模块,用于将所述API接口函数地址注册到OpenSSL的CRYPTO中,以供所述目标设备通过调用所述CRYPTO中的所述API接口函数地址以使用所述目标国密加密卡。
可选的,所述加密卡配置信息还包括:驱动文件的路径信息;
所述装置还包括:
驱动模块,用于根据所述驱动文件的路径信息获取所述目标国密加密卡的驱动文件,并安装所述驱动文件以完成所述目标设备与所述目标国密加密卡之间的初始化操作。
可选的,所述装置还包括:
封装模块,用于获取与所述目标国密加密卡对应的调用函数;其中,所述调用函数用于接收调用所述目标国密加密卡的第一调用指令,并向CRYPTO发送调用所述国密加密卡的API接口函数地址的第二调用指令;将所述调用函数添加到OpenSSL的EVP中,并重新对所述EVP进行封装操作。
根据本发明的另一个方面,提供了一种计算机设备,该计算机设备具体包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述介绍的使用国密加密卡的方法的步骤。
根据本发明的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述介绍的使用国密加密卡的方法的步骤。
本发明提供的使用国密加密卡的方法、装置、设备及存储介质,能够支持国密加密卡的即插即用,当国密加密卡连接设备时,首先自动识别出国密加密卡的识别信息,并自动加载对应的驱动文件,以完成初始化操作;其次,可以将国密加密卡的API接口函数地址自动添加到OpenSSL的CRYPTO模块中,以供设备通过调用CRYPTO模块中的API接口函数地址以使用国密加密卡;本发明通过OpenSSL实现对国密加密卡的使用,并可以屏蔽各种厂商的国密加密卡的接口差异,便于用户使用。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为实施例一提供的使用国密加密卡的方法的一种可选的流程示意图;
图2为实施例二提供的使用国密加密卡的装置的一种可选的组成结构示意图;
图3为实施例三提供的计算机设备的一种可选的硬件架构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供了一种使用国密加密卡的方法,如图1所示,所述方法具体包括以下步骤:
步骤S101:当检测到目标国密加密卡接入目标设备时,获取所述目标国密加密卡的识别信息。
具体的,当所述识别信息为PCIE(Peripheral Component InterconnectExpress,高速串行计算机扩展总线标准)信息时,所述获取所述目标国密加密卡的识别信息的步骤,包括:
步骤A1:确定出所有连接到PCI(Peripheral Component Interconnect,外设部件互连标准)总线的外部设备信息;其中,所述外部设备信息包括:各种类型的外部设备的PCIE信息;
步骤A2:从所述外部设备信息中筛选出所述目标国密加密卡的PCIE信息。
需要说明的是,在实际应用中,当目标设备为Linux系统时,通过使用lspci命令列出所有连接到PCI总线的外部设备信息,例如:显卡、网卡、USB接口及SATA控制器等设备;通过使用grep命令从包含在各个外部设备信息的PCIE信息中筛选出所述目标国密加密卡的PCIE信息。在PCIE信息中包含设备的厂商号(venderId)、设备号(devId)和class号等,通过读取这些硬件厂商预置的信息,能够分辨出是目标国密加密卡的型号。
步骤S102:从预设数据库中查找与所述识别信息对应的加密卡配置信息;其中,所述加密卡配置信息包括:接口库文件的路径信息。
具体的,在步骤S102之前,所述方法还包括:
步骤B1:获取所述目标国密加密卡的PCIE信息、接口规范文件、驱动文件和接口库文件,并分别将所述驱动文件和接口库文件存储到指定路径下;
步骤B2:基于所述接口规范文件、驱动文件的路径信息、接口库文件的路径信息生成所述加密卡配置信息;
其中,所述加密卡配置信息包括:驱动文件的路径信息、接口库文件的路径信息、API(Application Programming Interface,应用程序接口)接口信息和API参数描述信息;
步骤B3:将所述PCIE信息与所述加密卡配置信息关联的存储到所述预设数据库中。
在本实施例中,分别为不同厂商、不同型号的国密加密卡设置对应的加密卡配置信息,并将所有国密加密卡的PCIE信息和加密卡配置信息关联的存储到所述预设数据库中。
步骤S103:根据所述接口库文件的路径信息获取所述目标国密加密卡的接口库文件,并解析所述接口库文件以得到所述目标国密加密卡的API接口函数地址。
具体的,在步骤S103之前,所述方法还包括:
根据所述驱动文件的路径信息获取所述目标国密加密卡的驱动文件,并安装所述驱动文件以完成所述目标设备与所述目标国密加密卡之间的初始化操作。
需要说明的是,在实际应用中,当目标设备为Linux系统时,通过使用insmod命令安装所述驱动文件,并通过ismod命令和dmesg命令查看驱动是否安装成功。
进一步的,所述解析所述接口库文件以得到所述目标国密加密卡的API接口函数地址的步骤,具体包括:
步骤C1:将所述接口库文件动态加载到需要使用所述目标国密加密卡的进程中;
步骤C2:在与所述进程对应的资源空间中获取所述接口库文件中的各个API接口函数的API接口函数地址;其中,所述资源空间是所述目标设备的操作系统为所述进程分配的。
需要说明的是,在实际应用中,当目标设备为Linux系统时,通过使用dlopen命令打开所述接口库文件,并将包含在所述接口库文件中的各个API接口函数加载到与需要调用所述目标国密加密卡的进程对应的资源空间中,再通过使用dlsym命令确定出各个API接口函数在所述资源空间中的API接口函数地址。此外,在进程启动时,所述目标设备的操作系统会为该进程分配资源空间,当该进程通过动态库加载方式加载所述接口库文件时,操作系统会在所述资源空间中为每个API接口函数分配对应的函数地址。
此外,API接口函数地址是当所述接口库文件加载到进程中后,通过dlsym命令获取到的函数地址;进程需要调用API接口函数地址以使用所述目标国密加密卡所提供的加解密功能。
步骤S104:将所述API接口函数地址注册到OpenSSL的CRYPTO中,以供所述目标设备通过调用所述CRYPTO中的所述API接口函数地址以使用所述目标国密加密卡。
在本实施例中,通过OpenSSL开放式安全套接层协议实现对国密加密卡的使用;其中,OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份;这个包广泛被应用在互联网的网页服务器上。CRYPTO是OpenSSL库的一个模块,提供了各种加密算法的具体实现,包括对称加解密,非对称加解密等,国密算法(SM1、SM2、SM3、SM4等)。只有当所述目标国密加密卡的API接口函数地址存储到CRYPTO模块中,所述进程才能通过CRYPTO模块获取到所述目标国密加密卡的API接口函数地址,以通过所述目标国密加密卡的API接口函数地址使用所述国密加密卡。
具体的,在所述将所述API接口函数地址注册到OpenSSL的CRYPTO中的步骤之后,所述方法还包括:
步骤D1:获取与所述目标国密加密卡对应的调用函数;其中,所述调用函数用于接收调用所述目标国密加密卡的第一调用指令,并向CRYPTO发送调用所述国密加密卡的API接口函数地址的第二调用指令;
步骤D2:将所述调用函数添加到OpenSSL的EVP中,并重新对所述EVP进行封装操作。
其中,EVP封装了OpenSSL中常用的加解密算法,并提供一个通用的加解密接口;EVP提供了所有的加密和解密实现,不但封装了已有的著名算法,而且其简单易用的接口可以让目标设备轻松实现一个算法。通过重新对所述EVP进行封装,使得只需要在初始化参数的时候做很少的改变,就可以实现使用所述目标国密加密卡中的加密算法进行数据的加密和解密。
实施例二
本发明实施例提供了一种使用国密加密卡的装置,如图2所示,该装置具体包括以下组成部分:
获取模块201,用于当检测到目标国密加密卡接入目标设备时,获取所述目标国密加密卡的识别信息;
查找模块202,用于从预设数据库中查找与所述识别信息对应的加密卡配置信息;其中,所述加密卡配置信息包括:接口库文件的路径信息;
解析模块203,用于根据所述接口库文件的路径信息获取所述目标国密加密卡的接口库文件,并解析所述接口库文件以得到所述目标国密加密卡的API接口函数地址;
注册模块204,用于将所述API接口函数地址注册到OpenSSL的CRYPTO中,以供所述目标设备通过调用所述CRYPTO中的所述API接口函数地址以使用所述目标国密加密卡。
具体的,当所述识别信息为PCIE信息时,获取模块201,用于:
确定出所有连接到PCI总线的外部设备信息;其中,所述外部设备信息包括:各种类型的外部设备的PCIE信息;从所述外部设备信息中筛选出所述目标国密加密卡的PCIE信息。
解析模块203,用于:
将所述接口库文件动态加载到需要使用所述目标国密加密卡的进程中;在与所述进程对应的资源空间中获取所述接口库文件中的各个API接口函数的API接口函数地址;其中,所述资源空间是所述目标设备的操作系统为所述进程分配的。
进一步的,所述加密卡配置信息还包括:驱动文件的路径信息;
所述装置还包括:
驱动模块,用于根据所述驱动文件的路径信息获取所述目标国密加密卡的驱动文件,并安装所述驱动文件以完成所述目标设备与所述目标国密加密卡之间的初始化操作。
所述装置还包括:
生成模块,用于获取所述目标国密加密卡的PCIE信息、接口规范文件、驱动文件和接口库文件,并分别将所述驱动文件和接口库文件存储到指定路径下;基于所述接口规范文件、驱动文件的路径信息、接口库文件的路径信息生成所述加密卡配置信息;其中,所述加密卡配置信息包括:驱动文件的路径信息、接口库文件的路径信息、API接口信息和API参数描述信息;将所述PCIE信息与所述加密卡配置信息关联的存储到所述预设数据库中。
更进一步的,所述装置还包括:
封装模块,用于获取与所述目标国密加密卡对应的调用函数;其中,所述调用函数用于接收调用所述目标国密加密卡的第一调用指令,并向CRYPTO发送调用所述国密加密卡的API接口函数地址的第二调用指令;将所述调用函数添加到OpenSSL的EVP中,并重新对所述EVP进行封装操作。
实施例三
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图3所示,本实施例的计算机设备30至少包括但不限于:可通过系统总线相互通信连接的存储器301、处理器302。需要指出的是,图3仅示出了具有组件301-302的计算机设备30,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器301(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器301可以是计算机设备30的内部存储单元,例如该计算机设备30的硬盘或内存。在另一些实施例中,存储器301也可以是计算机设备30的外部存储设备,例如该计算机设备30上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器301还可以既包括计算机设备30的内部存储单元也包括其外部存储设备。在本实施例中,存储器301通常用于存储安装于计算机设备30的操作系统和各类应用软件。此外,存储器301还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器302在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器302通常用于控制计算机设备30的总体操作。
具体的,在本实施例中,处理器302用于执行处理器302中存储的使用国密加密卡的方法的程序,所述使用国密加密卡的方法的程序被执行时实现如下步骤:
当检测到目标国密加密卡接入目标设备时,获取所述目标国密加密卡的识别信息;
从预设数据库中查找与所述识别信息对应的加密卡配置信息;其中,所述加密卡配置信息包括:接口库文件的路径信息;
根据所述接口库文件的路径信息获取所述目标国密加密卡的接口库文件,并解析所述接口库文件以得到所述目标国密加密卡的API接口函数地址;
将所述API接口函数地址注册到OpenSSL的CRYPTO中,以供所述目标设备通过调用所述CRYPTO中的所述API接口函数地址以使用所述目标国密加密卡。
上述方法步骤的具体实施例过程可参见第一实施例,本实施例在此不再重复赘述。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下方法步骤:
当检测到目标国密加密卡接入目标设备时,获取所述目标国密加密卡的识别信息;
从预设数据库中查找与所述识别信息对应的加密卡配置信息;其中,所述加密卡配置信息包括:接口库文件的路径信息;
根据所述接口库文件的路径信息获取所述目标国密加密卡的接口库文件,并解析所述接口库文件以得到所述目标国密加密卡的API接口函数地址;
将所述API接口函数地址注册到OpenSSL的CRYPTO中,以供所述目标设备通过调用所述CRYPTO中的所述API接口函数地址以使用所述目标国密加密卡。
上述方法步骤的具体实施例过程可参见第一实施例,本实施例在此不再重复赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种使用国密加密卡的方法,其特征在于,所述方法包括:
当检测到目标国密加密卡接入目标设备时,获取所述目标国密加密卡的识别信息;
从预设数据库中查找与所述识别信息对应的加密卡配置信息;其中,所述加密卡配置信息包括:接口库文件的路径信息;
根据所述接口库文件的路径信息获取所述目标国密加密卡的接口库文件,并解析所述接口库文件以得到所述目标国密加密卡的API接口函数地址;
将所述API接口函数地址注册到OpenSSL的CRYPTO中,以供所述目标设备通过调用所述CRYPTO中的所述API接口函数地址以使用所述目标国密加密卡;
在所述将所述API接口函数地址注册到OpenSSL的CRYPTO中的步骤之后,所述方法还包括:
获取与所述目标国密加密卡对应的调用函数;其中,所述调用函数用于接收调用所述目标国密加密卡的第一调用指令,并向CRYPTO发送调用所述国密加密卡的API接口函数地址的第二调用指令;
将所述调用函数添加到OpenSSL的EVP中,并重新对所述EVP进行封装操作。
2.根据权利要求1所述的使用国密加密卡的方法,其特征在于,当所述识别信息为PCIE信息时,所述获取所述目标国密加密卡的识别信息的步骤,具体包括:
确定出所有连接到PCI总线的外部设备信息;其中,所述外部设备信息包括:各种类型的外部设备的PCIE信息;
从所述外部设备信息中筛选出所述目标国密加密卡的PCIE信息。
3.根据权利要求1所述的使用国密加密卡的方法,其特征在于,所述加密卡配置信息还包括:驱动文件的路径信息;
在所述根据所述接口库文件的路径信息获取所述目标国密加密卡的接口库文件的步骤之前,所述方法还包括:
根据所述驱动文件的路径信息获取所述目标国密加密卡的驱动文件,并安装所述驱动文件以完成所述目标设备与所述目标国密加密卡之间的初始化操作。
4.根据权利要求1所述的使用国密加密卡的方法,其特征在于,所述解析所述接口库文件以得到所述目标国密加密卡的API接口函数地址的步骤,具体包括:
将所述接口库文件动态加载到需要使用所述目标国密加密卡的进程中;
在与所述进程对应的资源空间中获取所述接口库文件中的各个API接口函数的API接口函数地址;其中,所述资源空间是所述目标设备的操作系统为所述进程分配的。
5.一种使用国密加密卡的装置,其特征在于,所述装置包括:
获取模块,用于当检测到目标国密加密卡接入目标设备时,获取所述目标国密加密卡的识别信息;
查找模块,用于从预设数据库中查找与所述识别信息对应的加密卡配置信息;其中,所述加密卡配置信息包括:接口库文件的路径信息;
解析模块,用于根据所述接口库文件的路径信息获取所述目标国密加密卡的接口库文件,并解析所述接口库文件以得到所述目标国密加密卡的API接口函数地址;
注册模块,用于将所述API接口函数地址注册到OpenSSL的CRYPTO中,以供所述目标设备通过调用所述CRYPTO中的所述API接口函数地址以使用所述目标国密加密卡;
所述装置还包括:
封装模块,用于获取与所述目标国密加密卡对应的调用函数;其中,所述调用函数用于接收调用所述目标国密加密卡的第一调用指令,并向CRYPTO发送调用所述国密加密卡的API接口函数地址的第二调用指令;将所述调用函数添加到OpenSSL的EVP中,并重新对所述EVP进行封装操作。
6.根据权利要求5所述的使用国密加密卡的装置,其特征在于,所述加密卡配置信息还包括:驱动文件的路径信息;
所述装置还包括:
驱动模块,用于根据所述驱动文件的路径信息获取所述目标国密加密卡的驱动文件,并安装所述驱动文件以完成所述目标设备与所述目标国密加密卡之间的初始化操作。
7.一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4任一项所述方法的步骤。
CN202010023433.4A 2020-01-09 2020-01-09 一种使用国密加密卡的方法、装置、设备及存储介质 Active CN111259364B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010023433.4A CN111259364B (zh) 2020-01-09 2020-01-09 一种使用国密加密卡的方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010023433.4A CN111259364B (zh) 2020-01-09 2020-01-09 一种使用国密加密卡的方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111259364A CN111259364A (zh) 2020-06-09
CN111259364B true CN111259364B (zh) 2022-04-05

Family

ID=70948558

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010023433.4A Active CN111259364B (zh) 2020-01-09 2020-01-09 一种使用国密加密卡的方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111259364B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111786872A (zh) * 2020-06-29 2020-10-16 北京天融信网络安全技术有限公司 一种用于vpn设备的数据处理方法及装置
CN111970120B (zh) * 2020-07-27 2024-03-26 山东华芯半导体有限公司 一种基于openssl的加密卡安全应用机制的实现方法
CN113452522B (zh) * 2021-06-28 2022-09-13 杭州云象网络技术有限公司 基于国密的硬件安全模块软件实现方法、存储介质及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101493900A (zh) * 2009-03-02 2009-07-29 北京飞天诚信科技有限公司 一种智能卡的操作方法及系统
CN101820342A (zh) * 2010-03-31 2010-09-01 北京飞天诚信科技有限公司 硬件加密引擎的实现方法
CN104852803A (zh) * 2014-02-14 2015-08-19 航天信息股份有限公司 实现OpenSSL支持SM2算法的方法
CN107276998A (zh) * 2017-06-07 2017-10-20 广州华多网络科技有限公司 一种基于OpenSSL的性能优化方法及装置
CN109508549A (zh) * 2018-09-19 2019-03-22 捷德(中国)信息科技有限公司 数据处理方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101453321B (zh) * 2007-12-06 2012-02-29 国际商业机器公司 用于内容联合的访问控制的方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101493900A (zh) * 2009-03-02 2009-07-29 北京飞天诚信科技有限公司 一种智能卡的操作方法及系统
CN101820342A (zh) * 2010-03-31 2010-09-01 北京飞天诚信科技有限公司 硬件加密引擎的实现方法
CN104852803A (zh) * 2014-02-14 2015-08-19 航天信息股份有限公司 实现OpenSSL支持SM2算法的方法
CN107276998A (zh) * 2017-06-07 2017-10-20 广州华多网络科技有限公司 一种基于OpenSSL的性能优化方法及装置
CN109508549A (zh) * 2018-09-19 2019-03-22 捷德(中国)信息科技有限公司 数据处理方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
OpenSSL引擎机制的研究;王玮 等;《通信技术》;20111031;第10卷;第60-62页 *

Also Published As

Publication number Publication date
CN111259364A (zh) 2020-06-09

Similar Documents

Publication Publication Date Title
AU2014235165B2 (en) Application program as key for authorizing access to resources
US9667426B2 (en) Information processing apparatus, program, storage medium and information processing system
CN111259364B (zh) 一种使用国密加密卡的方法、装置、设备及存储介质
US20190089810A1 (en) Resource access method, apparatus, and system
CN109241700B (zh) 用于计算机系统和服务器系统的许可系统以及用于其的方法
CN113302954A (zh) 用按需应用生成虚拟卡的虚拟号码以安全地自动填充表单
CN110324138B (zh) 数据加密、解密方法及装置
US8146153B2 (en) Method and system for creating and accessing a secure storage area in a non-volatile memory card
CN111625782B (zh) 源码的访问权限控制方法、装置、计算机设备和存储介质
TW201914354A (zh) 智能設備的綁定方法、裝置和系統、通訊系統
CN111143869A (zh) 应用程序包处理方法、装置、电子设备及存储介质
CN111191252A (zh) 一种智能卡操作系统加解密方法、装置及存储介质
US8006009B2 (en) Methods and device for implementing multifunction peripheral devices with a single standard peripheral device driver
CN110533128B (zh) 一种基于加密的防伪溯源数据处理方法、装置、系统及介质
CN108021801B (zh) 基于虚拟桌面的防泄密方法、服务器及存储介质
CN110880965A (zh) 一种外发电子文档加密方法、系统、终端及存储介质
CN111147430A (zh) 一种应用于智能家庭网关的加密方法及装置
CN112464259B (zh) Erp页面获取方法、装置、计算机设备和存储介质
US8543830B1 (en) Method and apparatus for connecting to a security token without restarting an application
CN112445705B (zh) 基于可信校验的软件运行系统、方法、装置和计算机设备
CN111506657B (zh) 一种区块链节点设备部署的方法
CN113886894A (zh) 数字签名方法和数字签名设备
TWI441534B (zh) 行動通訊裝置的資料傳輸方法及其系統
CN104092745A (zh) 一种生成利用智能卡登录远程计算机的判据的方法
CN112787994B (zh) 电子设备的设备id的处理方法、装置、设备及存储介质

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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Patentee after: Qianxin Technology Group Co.,Ltd.

Patentee after: Qianxin Wangshen information technology (Beijing) Co., Ltd

Address before: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Patentee before: Qianxin Technology Group Co.,Ltd.

Patentee before: Wangshen information technology (Beijing) Co., Ltd