【发布时间】:2014-08-05 16:43:25
【问题描述】:
我将开发一个 Java 类来验证智能卡 pin 并使用智能卡中包含的证书签署文档。到目前为止,我已经找到了一些将 APDU 命令发送到智能卡的基本示例。但是我对签署文件有点困惑。
- 我可以使用 APDU 命令从智能卡获取证书吗?
- 如果是这样,一旦我检索到证书,我应该使用哪个 API 来签署文件?
非常感谢您对此有所了解
【问题讨论】:
我将开发一个 Java 类来验证智能卡 pin 并使用智能卡中包含的证书签署文档。到目前为止,我已经找到了一些将 APDU 命令发送到智能卡的基本示例。但是我对签署文件有点困惑。
非常感谢您对此有所了解
【问题讨论】:
是的,您通常可以从卡中获取证书。对于与 ISO/IEC 7816-4、8 和 15 兼容的基于文件的卡,您可以首先解析在 7816-15 文件结构中找到的信息,然后从文件系统中检索证书。这可以使用 7816-4 中指定的命令(松散地)完成。您还应该获取卡上私钥的参考。
当您拥有证书和私钥后,您可以向卡发送 7816-8 COMPUTE DIGITAL SIGNATURE 命令 APDU。
请注意,并非所有智能卡都符合这些规范。您可能需要发卡机构提供更多信息才能确切知道该怎么做。
【讨论】: