在智能卡上上传 .cap 文件?

2023-12-06

我有一张新卡,其 ATR 代码如下。

3B 68 00 00 00 73 C8 40 12 00 90 00

我在谷歌上搜索了这张ATR,最后我知道这是一张“巴西电子公积金卡”。 问题是我该如何使用这张卡?我的意思是它支持哪些 APDU?有它的数据表吗?它是java卡吗? [如果是的话]我如何上传 .cap 文件?有没有默认的键? 以及很多这样的问题。

主要问题是:我可以从 ATR 中获得什么样的数据?

顺便说一句,我使用 ACR38 智能卡读卡器。我在 Eclipse 中创建了一个 .cap javacard 程序。

下一个问题: 我使用 GPJ.bat 在此卡上部署(上传).cap 文件。 [流行的HelloWorld程序用Eclipse制作的.cap文件及其源代码在这里:http://umer555.wordpress.com/2012/05/17/java-card-hello-world-applet/]

输出如下。上传有什么问题吗?以及整个过程!

E:\gpj>gpj -load e:\helloworld.cap -install

E:\gpj>java -jar gpj.jar -load e:\helloworld.cap -install
Found terminals: [PC/SC terminal ACS CCID USB Reader 0]
Found card in terminal: ACS CCID USB Reader 0
ATR: 3B 68 00 00 00 73 C8 40 12 00 90 00
DEBUG: Command  APDU: 00 A4 04 00 07 A0 00 00 01 51 00 00
DEBUG: Response APDU: 6A 82
Failed to select Security Domain GP211 A0 00 00 01 51 00 00 , SW: 6A 82
DEBUG: Command  APDU: 00 A4 04 00 08 A0 00 00 00 18 43 4D 00
DEBUG: Response APDU: 6A 82
Failed to select Security Domain GemaltoXpressPro A0 00 00 00 18 43 4D 00 , SW:
6A 82
DEBUG: Command  APDU: 00 A4 04 00 08 A0 00 00 00 03 00 00 00
DEBUG: Response APDU: 6F 10 84 08 A0 00 00 00 03 00 00 00 A5 04 9F 65 01 FF 90 0
0
Successfully selected Security Domain OP201a A0 00 00 00 03 00 00 00
DEBUG: Command  APDU: 80 50 00 00 08 34 F8 63 3E E3 BC 64 94
DEBUG: Response APDU: 00 00 11 60 01 00 7F 8B 0A F9 FF 02 00 01 6C 7F FC 11 3F B
9 3F 17 B8 84 02 AA C1 F0 90 00
DEBUG: Command  APDU: 84 82 00 00 10 08 EA 79 CD BA 32 F3 1C 69 1B 83 42 CD AA F
E 42
DEBUG: Response APDU: 90 00
DEBUG: Command  APDU: 84 82 00 00 08 08 EA 79 CD BA 32 F3 1C
DEBUG: Response APDU: 90 00
DEBUG: packagePath: helloWorld/javacard/
DEBUG: package: helloWorld
DEBUG: package AID: 01 02 03 04 05 06 07 08 09 00
DEBUG: applet AIDs: [01 02 03 04 05 06 07 08 09 00 00 ]
DEBUG: Command  APDU: 80 E6 02 00 17 0A 01 02 03 04 05 06 07 08 09 00 08 A0 00 0
0 00 03 00 00 00 00 00 00
DEBUG: Response APDU: 00 90 00
DEBUG: Command  APDU: 80 E6 02 00 17 0A 01 02 03 04 05 06 07 08 09 00 08 A0 00 0
0 00 03 00 00 00 00 00 00
DEBUG: Response APDU: 00 90 00
DEBUG: Command  APDU: 80 E8 00 00 FF C4 82 01 63 01 00 1F DE CA FF ED 02 02 06 0
0 01 0A 01 02 03 04 05 06 07 08 09 00 0A 68 65 6C 6C 6F 57 6F 72 6C 64 02 00 21
00 1F 00 21 00 0F 00 2A 00 22 00 5A 00 35 00 0A 00 0C 00 05 00 AA 00 00 00 00 00
 00 00 00 04 01 00 04 00 2A 04 00 01 07 A0 00 00 00 62 00 01 00 01 07 A0 00 00 0
0 62 00 03 03 01 07 A0 00 00 00 62 01 01 00 01 08 A0 00 00 00 62 01 01 01 03 00
0F 01 0B 01 02 03 04 05 06 07 08 09 00 00 00 13 06 00 5A 00 00 A1 81 00 0C 48 65
 6C 6C 6F 57 6F 72 6C 64 52 49 C1 82 02 22 83 05 00 FF 00 01 00 00 00 81 00 00 0
0 02 00 00 00 10 48 65 6C 6C 6F 57 6F 72 6C 64 52 49 49 6D 70 6C 01 00 02 00 82
03 00 FF 00 07 01 00 00 00 1C 42 80 00 00 FF 00 01 01 00 00 00 31 82 02 00 00 12
 01 01 07 00 35 00 01 10 18 8C 00 00 7A 01 10 18 8C 00 01 18 8B 00 02 7A 01 30 8
F
DEBUG: Response APDU: 69 85
DEBUG: Command  APDU: 80 E8 00 00 FF C4 82 01 63 01 00 1F DE CA FF ED 02 02 06 0
0 01 0A 01 02 03 04 05 06 07 08 09 00 0A 68 65 6C 6C 6F 57 6F 72 6C 64 02 00 21
00 1F 00 21 00 0F 00 2A 00 22 00 5A 00 35 00 0A 00 0C 00 05 00 AA 00 00 00 00 00
 00 00 00 04 01 00 04 00 2A 04 00 01 07 A0 00 00 00 62 00 01 00 01 07 A0 00 00 0
0 62 00 03 03 01 07 A0 00 00 00 62 01 01 00 01 08 A0 00 00 00 62 01 01 01 03 00
0F 01 0B 01 02 03 04 05 06 07 08 09 00 00 00 13 06 00 5A 00 00 A1 81 00 0C 48 65
 6C 6C 6F 57 6F 72 6C 64 52 49 C1 82 02 22 83 05 00 FF 00 01 00 00 00 81 00 00 0
0 02 00 00 00 10 48 65 6C 6C 6F 57 6F 72 6C 64 52 49 49 6D 70 6C 01 00 02 00 82
03 00 FF 00 07 01 00 00 00 1C 42 80 00 00 FF 00 01 01 00 00 00 31 82 02 00 00 12
 01 01 07 00 35 00 01 10 18 8C 00 00 7A 01 10 18 8C 00 01 18 8B 00 02 7A 01 30 8
F
DEBUG: Response APDU: 69 85
net.sourceforge.gpj.cardservices.exceptions.GPLoadException: Load failed, SW: 69
 85
        at net.sourceforge.gpj.cardservices.GlobalPlatformService.loadCapFile(Un
known Source)
        at net.sourceforge.gpj.cardservices.GlobalPlatformService.main(Unknown S
ource)

ATR 通常不会提供有关卡的太多有用信息。从 APDU 跟踪中,您可以看到该卡符合 GlobalPlatform 标准,并且其发行者安全域 OPEN 可通过 AID 访问A0 00 00 00 03 00 00 00 (this could-- 但不一定 -- 表示 JCOP 卡)。

选择 AID 后,GPJ 执行成功的身份验证序列(初始化更新,然后是外部身份验证)。这表明您可以使用您配置 GPJ 的任何密钥集来访问该卡(或者它是否使用某些默认密钥?)。

然后,在成功验证后,GPJ 尝试安装 helloworld Java Card 小程序。 INSTALL命令成功,但加载实际应用代码包失败。这可能有几个原因。最常见的一种(假设卡是 Java 卡)是小程序是针对与卡支持的不同的 Java 卡 API 进行编译的。在这种情况下,您需要重新编译小程序以获得正确的 Java Card 平台版本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在智能卡上上传 .cap 文件? 的相关文章

  • 智能卡读卡器访问时出现未知错误 0x16

    我正在尝试更改 ACR1252U 上的蜂鸣器持续时间 API 链接 http www acs com hk download manual 6402 API ACR1252U 1 09 pdf http www acs com hk dow
  • 命令 APDU 在结果中返回 6985(不满足使用条件)

    我正在研究用 Java 读取智能卡 当我执行下面的代码时 卡返回 6985 不满足使用条件 TerminalFactory factory TerminalFactory getDefault List
  • 从欧洲DTCO公司卡读取数据

    我需要能够从欧洲数字行车记录仪公司卡 智能卡 读取卡和公司识别数据 这些在文档中进行了描述委员会条例 EC No 1360 2002 http eur lex europa eu LexUriServ LexUriServ do uri O
  • 用于获取智能卡序列号的 APDU 命令

    如何使用 APDU 命令获取智能卡的序列号 我尝试使用 SCardGetAttrib 函数来查询它winscard dll不幸的是 我被告知使用 APDU 命令来执行此操作 因为没有标准方法来获取序列号 问题是我无法弄清楚我的智能卡是什么类
  • Android ACR122U NFC 集成

    See NFC 读取器 SELECT 通过 AID APDU 未路由到 Android 设备 https stackoverflow com q 50316799 2425802关于调试和最终结果 TL DR 读者可能已经不复存在了 我的
  • JAVACARD2.2中selectApplet()方法的功能是什么

    正如 JavaCard 2 2 API 文档中提到的here http www win tue nl pinpasjc docs apis jc222 javacard framework Applet html selectingAppl
  • 在javacard中安装小程序

    我通过 Eclipse 制作了流行的 Hello World javacard 代码的 cap 文件 现在我想通过 GPShell 和 ACR38 智能卡读卡器将其加载到真正的 javacard 中 问题 我需要任何密钥才能将 cap 文件
  • 使用.Net技术开发智能卡读卡器

    有谁知道如何监控智能卡的存在并读取卡的 UID 值 是的 我在网络上尝试了很多例子 NET 智能卡框架 http www codeproject com Articles 16653 A Smart Card Framework for N
  • Java 卡连接到模拟器失败

    我正在尝试测试 Java Card 小程序以建立与 cref 等模拟器的连接 try sckClient new Socket localhost 9025 InputStream is sckClient getInputStream O
  • EMV 读取 PAN 代码

    我需要通过芯片读取每张可能的卡的 PAN 代码 在我的工作中 我只能使用 C 而且我没有可以帮助我完成这项无聊任务的例程 这就是我使用 APDU 的步骤 1 选择1PAY SYS DDF01 00 A4 0400 0E 315041592E
  • Java Signature.verify 导致 SignatureException:签名编码错误 由 IOException 引起:序列标记错误

    首先 这不是一个重复的问题 因为大多数人在从缺少 BEGIN RSA CERTIFICATE 行的证书创建公钥时报告此异常 我想做的要点是 1 使用 SHA1withRSA 算法 RSA 密钥为 1024 位 在 JCOP 智能卡上签署 5
  • “直接传输命令”(ACR122U) 和“PC_to_RDR_Escape”(ACR1251U) 之间的区别

    对于 ACR122U 我知道您可以使用直接传输命令将直接消息传输到 NFC 控制器 PN532 0xff 0x00 0x00 0x00 当我阅读 ACR1251U 的手册时 它说 读写器的外设控制命令通过PC to RDR Escape实现
  • 如何将CAP文件加载到java卡

    我是java卡的新手 你能帮我看看如何将Applet CAP文件解析为APDU吗 用于将此 CAP 文件安装到支持 GP2 2 的卡上 你应该尝试使用GPShell http sourceforge net projects globalp
  • 扩展 APDU 和 T=0/1 通信协议

    我有一个 JCOP V2 4 2 R3 java 卡 它的数据表中提到 该卡支持T 1 and T 0通信协议 我还有一个 ACR38 智能卡读卡器 它支持 T 0 和 T 1 协议 我与一张卡成功进行了 T 0 通信 并且与该卡成功进行了
  • 作为 Windows 服务运行时的 PCSC.InvalidContextException

    我一直在使用 pcsc sharp 库开发一个小型智能卡扫描仪应用程序 该应用程序作为控制台应用程序运行时工作正常 代码如下 using System using System Collections Generic using Syste
  • jcop是在java卡中安装小程序的唯一方法吗?

    我正在尝试理解java卡的概念 我有一些疑问 我想与大家分享 也许你会对我有任何最好的建议 Jcop 我在某处读到 Java Card OpenPlatform JCOP 是由 IBM Z rich Research Laboratory
  • 在智能卡中选择DF(专用文件),返回错误6981

    我编写了一个与智能卡通信的程序 Gemalto 公司 MPCOS 小程序 我可以成功连接到卡并传输命令并获取数据 但是我有一个问题 当我使用00 A4 01 00 02 02 00命令选择 DF 专用文件 它返回了错误69 81 文件指示符
  • 智能卡 CMS 解密

    我在用着充气城堡管理我的项目的加密功能 我设法使用CMS用于加密和解密 两个密钥都存储在我的文件系统中 a cert and a p12 这是我实际使用的两个函数 private static byte CmsEncrypt byte me
  • 在未连接智能卡的情况下使用 winscard.dll (PC/SC) 发送 APDU

    我正在尝试将 APDU 命令发送到读卡器本身而不是智能卡 我使用的测试命令打开和关闭射频场 如果我第一次连接到智能卡 则此命令通过 SCardTransmit 发送 但是 一旦 RF 场关闭 卡就会断开连接 我无法发送另一个 APDU 来打
  • 字节数组的快速位移 - CMAC 子键

    我需要尽可能快地实现 16 字节数组的左移JavaCard 我尝试了这段代码 private static final void rotateLeft final byte output final byte input short car

随机推荐