【问题标题】:Update: Personalization of Javacard Applet with GlobalPlatform更新:使用 GlobalPlatform 个性化 Javacard Applet
【发布时间】:2015-01-26 23:43:58
【问题描述】:

据我所知,大型智能卡小程序通过全球平台进行个性化是很常见的。我还找到了一些关于使用 Global Platform 进行个性化的 PDF,以及用于 GP 的 Javacard API。但是我不知何故错过了一些与这两者相关的信息,而且我还没有找到关于它的好的文档。我应该如何组织我的 Applet 以执行与 GP 兼容的个性化?

编辑:

我已阅读文档并有一些具体问题,希望您能尽快回答。
Q1:通用个性化指南描述如下流程:Reset、Atr、Select AID to Personalize、启动 Secure Channel、多个 Store-data 命令。安全通道与安全域一起建立,并且保存 DGI 的存储数据命令被转发到 Applet。 Applet 具有 org.globalplatform 包中的 ApplicationPersonalization 接口,并继承了 processData 方法以使用存储数据命令。现在的问题是我是否必须自己在我的小程序中实现 init-updateexternal-authenticate 命令,因为不再选择安全域并且我的小程序不知道这些INS? JCRE 不会自动检测这些 GlobalPlatform APDU 并将它们转发到 SecurityDomain 吗?

【问题讨论】:

  • 您是否在全球平台网站上查看过卡片规格(免费,但需要注册)?正如目前所说,您的问题无法回答。
  • 我已经阅读了全球平台规范,我想我理解了使用安全域的安全通道并通过发送多个存储数据命令的一般概念。我在找jc方面,怎么实现的。文档好像是多余的,我还没有找到任何例子
  • 我已将问题更改为与 SO 指南兼容,如果您只是要求参考,那么它是题外话。不幸的是,从我这边完成所有步骤需要相当长的时间。
  • 好的。是否有任何使用 GP Javacard 包的源代码可供我查看?

标签: smartcard javacard globalplatform


【解决方案1】:

当您的小程序当前处于选中状态时,JCRE 不会自动检测 INIT UPDATE 和 EXTERNAL AUTHENTICATE 命令。您必须在您的小程序中“部分”实现这些命令。但是,您仍然可以通过调用SecureChannel.processSecurity() 方法让安全域处理这些命令。您可以在收到 INITIALIZE UPDATE 或 EXTERNAL AUTHENTICATE 命令时调用此方法。请注意,调用这些方法时一定不能接收数据 (APDU.setIncomingAndReceive())。

有关使用此方法的更多详细信息,请参阅文档: processSecurity

【讨论】:

  • 我浏览了我的个人资料,发现答案是真的,所以这是我迟来的投票
猜你喜欢
  • 2015-01-13
  • 1970-01-01
  • 2021-11-12
  • 2022-08-17
  • 1970-01-01
  • 2011-09-05
  • 1970-01-01
  • 2019-02-19
  • 1970-01-01
相关资源
最近更新 更多