2024年9月21日

句柄无效如何解决(多种返回值如何解决)

KCS#11是采用十分普遍的密码设备接口,实际应用中,国密的密码设备运用接口标准GMT0018与其功效同样,在研发系统架构中占据相近位置。

在密码产品的研发中,依照PKCS#11或是GMT0018接口标准提供相关接口封装形式,应用软件不用修改或是细微修改就可以更换最底层密码设备。

PKCS#11的要求具体内容较多,v2-20版本号有400页,对应的,PKCS#11的标准解读,将根据定义及常见接口、人物角色、对话、目标、体制依次进行,最终详细介绍运用的调用步骤,串出每个基本概念接口。

其为第四篇,详细介绍Cryptoki库如何运行,做为此系列的完结。制度的一部分v2-20版本号界定的制度超出200种,还要跟不同类型的接口产生相互关系,有需求的话立即查看规范就行了。

一、一部分常见接口与Cryptoki模型投射映射关系

在Cryptoki分析中,运用根据集成化Cryptoki库来调用密码设备的功能。

Cryptoki库根据slot和token来投射物理学密码设备。

Session可以看作在Application和token之间的一个逻辑连接,根据Function浏览object和mechanism进行密码有关的功能。

二、Cryptoki接口工作步骤

下面的图展现了一些常用的Cryptoki接口函数调用全过程。在合理文档示例中,也有所不同接口调用过程的实例,后边或略微进行做一些表述。

1、C_GetFunctionList 获得一个偏向 Cryptoki 库的函数指针表中表针。 所取得的表针能够指入 Cryptoki 库所具有的存储芯片,在任何时候,都别载入该存储芯片。C_GetFunctionList 是Cryptoki库复位以前运用可能调用的唯一的函数公式。这样可使运用便捷、迅速地应用分享 Cryptoki 库和与此同时使用多个Cryptoki 库。

2、C_Initialize复位Cryptoki库。C_Initialize理应是一个运用所调用的第一个Cryptoki调用。假如好多个运用或过程一起使用Cryptoki,则每一个运用理应调用C_Initialize,每一次调用C_Finalize前,应调用一次C_Initialize。

3、调用C_Finalize说明,用Cryptoki库完成了一个运用。它理应是运用所作的最后一个Cryptoki调用。假如好多个运用或过程在使用Cryptoki,则每一个运用理应调用C_Finalize,每一次调用C_Finalize前,应调用一次C_Initialize。在这两个调用中,运用才可以调用其它的Cryptoki功能。

4、C_OpenSession有两种不同的功能:它能够建立一个运用调用,便于当一个动态口令被插入一个特殊页槽时,会通知一个运用,或是会在一个运用和一个特殊槽里的动态口令中间打开一个对话。

5、C_CloseSession关闭应用和动态口令间的对话,与C_OpenSession 匹配应用。当参会话有关的所有操作都实行完了,务必调用C_CloseSession。关掉一个对话时,由其对话创建的全部对话目标也将全自动受到破坏,即便该应用有别的对话已经“应用”该目标。比如一个函数正在和该对话并行处理运行,那么这个实际操作将被取消。

6、C_Login将某一账号登录到一个动态口令,全部参会话有关操作都必须在C_Login以后实行。假如调用取得成功,则根据用户种类,每一个运用对话要不进到R/W SO功能情况,要不R/W User功能情况,或者R/O User功能情况。

7、C_Logout把用户从动态口令中销户,与C_Login成双应用。如果函数调用取得成功,每一个应用软件结合当前的用户类型进到R/W Public Session状态或R/O Public Session情况。

当C_Logout取得成功执行后,一切返回专用型总体目标应用程序返回值就无效了(即便客户之后被回到注册到动态口令,这些返回值依然失效),此外,全部专用对话总体目标都已经被毁坏。

假如对话中存在任何激活的密码或总体目标寻找实际操作,而且然后实行C_Logout,那么那些实际操作很有可能还在继续开展,因而,销户前要进行一切已绑定操作。

8、应注意在Cryptoki库文件,全部密码计算实际操作(加解密、签名验签、消息摘要)都有一个预设实际操作。例如在调用C_Encrypt前必须调用C_EncryptInit来启动。

三、应用集成

Cryptoki库一般由密码设备生产商开发设计,将设备自已的密码功能变换为符合PKCS#11标准化的接口。这样当最底层的密码设备开展版本升级或使用其他厂商的产品进行取代时,运用房地产商只需比照本身引入需要接口功能可以满足,就可以用升级Cryptoki库的方式完成更新。

假如是单机的运用,一般采用设备 推动 Cryptoki库 运用的集成方式。

现实生活中更重要的是网络技术应用,应用集成的Cryptoki库必须通过互联网接口调用密码设备的功能,此时需要选用安全通讯协议进行通信。

身份验证_数据库加密_网络信息安全_加密机_双因素认证_数据库加密集成服务_安当数据加密_安当科技有限公司