我正在尝试访问一个PKCS11密码令牌(智能卡)。我以前使用的智能卡有自己的专用API进行卡访问,所以我试图了解如何将其映射到PKCS11令牌。
在我以前的智能卡中,我必须连接到设备上,然后对各种函数发出API调用,如验证PIN、获取卡信息、选择文件、读取文件、写入文件、执行加密功能(RNG、对称/非对称加密等),最后,我将断开与设备的连接。
对于PKCS11令牌是否有类似的流?我查找了各种函数,如C_Initialize、C_OpenSession等,但我不太确定它们是做什么的,也不确定要使用什么参数。C中的一些简单示例展示了应用程序如何访问令牌来验证PIN,这将非常有用。
谢谢!
发布于 2015-03-17 20:37:44
我为PKCS#11编写了名为Pkcs11Interop的.NET包装器,它附带了涵盖PKCS#11 API提供的所有功能的单元测试。您可以查看它的LowLevelAPI试验,它可以很容易地映射到ANSI。
您还应该考虑至少阅读PKCS#11标准的“第2章-范围”、“第6章-总览”和“第10章-对象”。
发布于 2016-08-01 20:40:22
来自opensc的pkcs11 11工具源可以作为一个很好的参考。
https://github.com/OpenSC/OpenSC/blob/master/src/tools/pkcs11-tool.c
https://stackoverflow.com/questions/29092252
复制相似问题