【问题标题】:communication between native PKCS11 implementation and Smart card本机 PKCS11 实现与智能卡之间的通信
【发布时间】:2013-07-31 12:28:23
【问题描述】:

我正在使用 Java 平台上的智能卡对文件进行数字签名。 从语法上讲,我也得到了代码流和其他东西。 但我的问题是本机 PKCS11 实现如何与智能卡通信,反之亦然(我不知道)。

我想知道内部流程。我用谷歌搜索了很多,但没有得到内部通信流(我只得到代码)。 谁能给我一些链接或参考或一些类图。

【问题讨论】:

  • 你试过阅读 PKCS#15 吗?这可能是使用 PKCS11 的替代方法,尽管可能不是最好的方法。
  • 我没有通过 PKCS#15,因为大多数智能卡使用 PKCS#11 实现。但我也会尝试。

标签: java smartcard pkcs#11


【解决方案1】:

PKCS#11 是 C 中用于使用加密令牌的 API 定义。它明确没有指定这些加密令牌的任何实现细节。原则上,任何安全和软件模块都可以由 PKCS#11 接口表示。所以它完全取决于 PKCS#11 中间件如何访问智能卡。 PKCS#11 模块的日志记录也是如此 - PKCS#11 没有指定日志记录的执行方式。

现在大多数用于签名生成的智能卡至少与 ISO 7816-4 兼容(它定义了哪些 APDU 可用于读/写卡以及如何使用某些加密 APDU)。此外,他们可能实施 ISO 7816-15(PKCS#15 的稍微不同的版本),这是在卡上查找文件和对象(例如密钥)的相当复杂的标准。通常这些卡是通过 PCSC 访问的,因此最好尝试获取 PCSC 或智能卡读卡器驱动程序 API 调用的日志。

使用 Java,您还可以通过javax.smartcardio 直接使用该卡,它通过 PCSC 实现 ISO 7816-4 兼容传输。在这种情况下,您将不得不实现智能卡的整个应用程序级接口。

不幸的是,这是一个很长的文本,它说这一切都取决于 PKCS#11 库和智能卡的实现。

【讨论】:

  • 感谢您的回复。您能给我一些链接吗,我可以从中获得更多信息。
【解决方案2】:

通过阅读此 PDF,我得到了一些简短的想法

ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-30/TUT-M51_Griffin_PKCS11.pdf

但我仍然没有得到完整的流程。为此,我认为我需要在 PKCS#11 的海洋中越走越深 ;)

【讨论】:

    猜你喜欢
    • 2021-03-16
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    • 2015-07-18
    • 2014-03-29
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    相关资源
    最近更新 更多