如何通过 APDU 命令将 X509 证书存储在 SmartCard 中
Posted
技术标签:
【中文标题】如何通过 APDU 命令将 X509 证书存储在 SmartCard 中【英文标题】:How could store X509 certificate in SmartCard by APDU command 【发布时间】:2019-10-28 14:02:23 【问题描述】:我希望通过 APDU 在 VirtualSmartCard 上编写 Windows 登录证书。我已经找到命令结构How to send a command APDU to a HCE device? 也阅读了有关 APDU (https://cardwerk.com/smart-card-standard-iso7816-4-section-6-basic-interindustry-commands/) 的文档,但找不到 X.509 证书的任何特定命令。
【问题讨论】:
【参考方案1】:但找不到 X.509 证书的任何特定命令。
没错。但这只是因为智能卡的证书只是数据。证书的验证等是在主机上进行的,而不是在智能卡上。所以通常它存储在一个文件中(ISO 7816-4 术语中的 EF)。如果需要找到该文件,可以通过在卡上放置一个 PKCS#15 兼容的文件结构来引用它。
【讨论】:
感谢您的回复。但我想通过虚拟 SC 读卡器和虚拟卡模拟物理智能卡来登录 Windows。我已经使用 APDU 命令创建了虚拟卡,但是 windows 显示找不到有意义的证书。所以寻找在 ISO=7816 卡上存储或链接 X509 证书的解决方案。 仿真没有什么不同,您需要使用 PKCS#15 并且(可能)确保 Windows 能够识别 ATR。 当我使用 PKCS#15 时出现此错误:Using reader with a card: Fabio Ottavi Pipe Reader 0 Failed to connect to card: Card is invalid or cannot be processed 我无法帮助您从这里调试,但似乎卡上的结构仍然不正确。这并不意味着 PKCS#15 不是解决方案。这些技术不是你一天就能完全理解的,而且很容易犯错误。 是的,我同意你的看法。而且我确信 PKCS#15 是我的解决方案。但不知道如何修复我的卡的结构。感谢您是否可以分享任何可以帮助我的链接或示例?以上是关于如何通过 APDU 命令将 X509 证书存储在 SmartCard 中的主要内容,如果未能解决你的问题,请参考以下文章