此为完结篇,介绍Cryptoki库如何工作。
PKCS#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接口函数的调用过程。在标准文档的示例中,也有不同接口调用流程的示例,后面或稍微展开做一些解