【问题标题】:Javacard beginner - questionsJavacard初学者 - 问题
【发布时间】:2015-09-18 20:21:12
【问题描述】:

首先,我想让您知道我是 javacard 的新手。我正处于编写 javacard 小程序的研究阶段,我有一些问题,令人惊讶的是,通过谷歌搜索并不那么容易回答。我想创建一个通过 NFC 触发 javacard 应用程序的 android 应用程序。到目前为止,我使用 IsoDep 建立了与卡的连接。

  1. 假设我有一个 cap 文件。如何在实际的 javacard 上放置/安装它? (我需要带 PC/SC 的读卡器/写卡器吗?您建议使用哪些)

  2. 是否可以使用我的智能手机(通过 android)放置/安装 cap 文件?

  3. 是否有任何方法(通过 APDU 命令)获取有关卡上内容的信息?具体来说:卡上的小程序、可用内存。

非常感谢您的答案。

【问题讨论】:

标签: java android javacard


【解决方案1】:

将 cap 文件部署到卡片上的标准是 GlobalPlatform Card Specification(当前为 v2.2.1)。由于卡片是非常安全的环境,您不能直接在任何卡片上安装代码。您需要对卡进行身份验证,因此拥有您所针对的卡的密钥。

假设您拥有它们,您可以查看How to load CAP file to java card 以获取一些选项。我建议使用 PC/SC 阅读器。

通常在 Android 上,您必须使用OpenMobileAPI,它可以针对 SIM(如果您的卡是 SIM 卡),因为无法通过 NFC 访问颁发者安全域(如果您想尝试此操作)并且 IsoDep.Transceive 是用于将 APDU 发送到其他非接触式卡(不是您的 SIM)。

【讨论】:

  • 我的目标不是 SIM 卡。您会推荐哪些 PC/SC 阅读器(示例)?键是什么意思?
  • 在卡允许您安装任何东西之前,需要加密密钥才能对卡执行身份验证。有些卡还需要对包裹进行签名。
【解决方案2】:

Q1 & Q3:您可以使用PyAPDUTool通过读卡器与卡通信,将小程序安装到真正的javacard上,并了解卡上的内容。您还可以管理小程序或者通过 PyAPDUTool 打包到卡片中。

Q2:是的,如果您的手机支持 NFC。

【讨论】:

    猜你喜欢
    • 2020-01-04
    • 2020-11-23
    • 2015-03-16
    • 2012-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多