使用smartcardio签名文件

时间:2014-08-05 16:43:25

标签: smartcard apdu


我将开发一个Java类来验证智能卡引脚并使用智能卡中包含的证书对文档进行签名。到目前为止,我已经找到了一些将APDU命令发送到智能卡的基本示例。但是我对签署文件感到有些困惑。

  • 我可以使用APDU命令从SmartCard获取证书吗?
  • 如果是这样,一旦我检索到了我应该使用哪个API签署文件的证书?

非常感谢您对此有所了解

1 个答案:

答案 0 :(得分:2)

是的,您通常可以从卡上获取证书。对于与ISO / IEC 7816-4,8和15兼容的基于文件的卡,您可以首先解析7816-15文件结构中的信息,然后从文件系统中检索证书。这可以使用7816-4中指定的(松散)命令来完成。您还应该获得卡上私钥的参考。

当您拥有证书和私钥时,您可以将7816-8 COMPUTE DIGITAL SIGNATURE命令APDU发送到卡上。

请注意,并非所有智能卡都符合这些规格。您可能需要卡发行人提供的其他信息才能确切知道该怎么做。