我正在使用java平台上的智能卡对文件进行数字签名。从语法上讲,我也得到了代码流和其他东西。但我的问题是本地PKCS11实现如何与智能卡通信,反之亦然(这一点我不知道)。
我想知道内部流程。我已经谷歌了很多,但没有得到内部通信流程(我只得到代码)。有人能给我一些链接或参考或者一些类图吗。
发布于 2013-07-31 04:28:23
通过查看这个PDF,我有了一些简单的想法。
PKCS11.pdf
但我还是没有得到整个流程的.For,我想我需要在PKCS#11的海洋中越走越深;
发布于 2013-07-26 16:49:14
PKCS#11是C中使用加密令牌的API定义。它没有显式地指定这些加密令牌的任何实现细节。原则上,任何安全和软件模块都可以用PKCS#11接口来表示。因此,它完全取决于PKCS#11中间件如何访问智能卡。PKCS#11模块的日志记录也是如此-- PKCS#11没有指定日志记录的执行方式。
现在,大多数用于生成签名的智能卡至少与ISO 7816-4兼容(ISO 7816-4定义了哪些APDU可用于读/写卡,以及如何使用某些加密APDU)。此外,他们还可以实现ISO7816-15(PKCS#15的一个稍微不同的版本),这是一个在卡片上查找文件和对象(例如密钥)的相当复杂的标准。通常这些卡是通过PCSC访问的,所以最好尝试获取PCSC或智能卡读卡器API调用的日志。
使用Java,您还可以通过javax.smartcardio直接使用该卡,它在PCSC上实现了ISO7816-4兼容的传输。但是,在这种情况下,您必须实现智能卡的整个应用程序级接口。
不幸的是,这是一个很长的文本,可以说这一切都取决于PKCS#11库和智能卡的实现。
https://stackoverflow.com/questions/17853649
复制相似问题