Cryptography PKCS11命令流

Cryptography PKCS11命令流,cryptography,smartcard,pkcs#11,Cryptography,Smartcard,Pkcs#11,我正在尝试访问PKCS11加密令牌智能卡。我以前使用的智能卡有自己的专有API用于卡访问,因此我试图了解如何将其映射到PKCS11令牌 在我以前的智能卡中,我必须连接到设备,然后为各种功能发出API调用,如验证PIN、获取卡信息、选择文件、读取文件、写入文件、执行加密功能RNG、对称/非对称加密等,最后,我将断开与设备的连接 PKCS11代币是否有类似的流程?我查阅了各种函数,如C_Initialize、C_OpenSession等,但我不确定它们是做什么的,也不确定使用什么参数。C语言中的一些

我正在尝试访问PKCS11加密令牌智能卡。我以前使用的智能卡有自己的专有API用于卡访问,因此我试图了解如何将其映射到PKCS11令牌

在我以前的智能卡中,我必须连接到设备,然后为各种功能发出API调用,如验证PIN、获取卡信息、选择文件、读取文件、写入文件、执行加密功能RNG、对称/非对称加密等,最后,我将断开与设备的连接

PKCS11代币是否有类似的流程?我查阅了各种函数,如C_Initialize、C_OpenSession等,但我不确定它们是做什么的,也不确定使用什么参数。C语言中的一些简单示例显示应用程序如何访问令牌以验证PIN,这将非常有用


谢谢

我已经为.NET编写了名为PKCS11的包装器,它附带了涵盖PKCS11API提供的所有函数的单元测试。您可以查看一下它,它可以很容易地映射到ANSI C


你也应该考虑至少阅读第2章-范围,第6章-一般概述和第10章-对象。

< P>来自OpenSSC的PKCS11工具源可以作为一个很好的参考。
PKCS11是一个不知道智能卡的接口。智能卡根据制造商的不同或多或少都有所不同,因此特定的API必须起到弥合差距的作用。当然,您可以编写自己的API或选择一张卡,其中API更小/更好/等等,但根本不需要任何API。谢谢!。非常有帮助