问题标签 [apdu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1638 浏览

java - eVRC 智能卡

有没有人在 JAVA 中阅读 eVRC(电子汽车电子登记卡)和 APD U 命令的经验?

任何示例都会很有用。

提前致谢。

0 投票
5 回答
24242 浏览

smartcard - 什么 APDU 命令获取卡 ID

哪个 APDU 命令获取卡 ID 的 7 个字节?我使用带有 ISO14443 层的 T=CL (ISO7816) 协议。在检测卡上,我只能看到卡 ID 的 4 个字节。我发现这应该是获取卡ID的APDU命令。例如它的:
0xFF, 0xCA, 0x00, 0x00, 0x00
但此命令的结果是:6E 00,在 APDU 答案的规范上告诉“不支持类”

然后我发现它的APDU命令可能是:
0x00, 0xCA, 0x00, 0x00, 0x00
这个命令返回6A 88
where- 6A XXWrong parameter(s) P1-P2”88- “Referenced data not found”

你怎么想的?

谢谢!

PS所有命令为:CLA, INS, P1, P2, LenData, Data
其他我的命令正常工作(例如sellect aplet并使用它),仅在获取卡ID时出现问题

0 投票
2 回答
2005 浏览

applet - 如何将数据从 sim 卡应用程序存储到 sim 卡中?

我正在编写一个 sim 卡小程序,我需要将数据存储在 sim 卡上。

但我没有这样做。我找到了一个示例并使用它,但是当模拟器重新启动时数据总是消失。我使用“cmdPUTDATA(apdu);” 保存数据的方法,我使用“cmdGETDATA(apdu);” 保存数据的方法。

这是我的代码和响应;

在此处输入图像描述

0 投票
3 回答
2169 浏览

android - JavaCard 3 在现实世界中?

我目前正在做我的文凭工作。部分工作包括为普通SIM卡开发JavaCard小程序。第一种选择是使用JavaCard2.X API并使用APDU命令与小程序进行通信。这可能非常棘手,因为我需要为 android 开发客户端应用程序(它将与这个小程序进行通信),并且到目前为止只有通过特殊的 - 不是那么用户友好的 - API 称为Seek-for-android才有可能。(如果我错了,请纠正我)

但是,我也遇到了JavaCard3 Connected Edition,它提供了更多选项——例如 Web 小程序。使用 webapps,部署在SIM卡上,通过移动设备的浏览器访问它们会非常方便(当然开发这样的小程序也会容易得多)。问题是,我找不到任何提及Javacard3在现实生活中甚至在真正的SIM卡上使用的内容。我什至找不到任何提及此类卡的可能发布日期。实际上,几乎没有关于这个主题的信息。

所以,我的问题是——你知道这个平台有什么有用的吗?有关于现实生活中的使用吗?哪张卡支持Javacard3?是否有“启用 JC3”的开发人员智能卡?以后会有这个平台的SIM卡吗?

非常感谢解答!!!

0 投票
1 回答
7722 浏览

android - 如何使用 android 智能卡 api 作为安全元件

我正在开发一个 android 应用程序,我想安全地存储我的数据。
有两种方法

  1. 存储 SIM 卡

  2. 手机安全卡

我想使用第二张,但在确定它对我有用之前我不想购买这张卡。

我正在运行 Google 的SmartcardSample( svn ) 应用程序。
但我收到这样的错误。

java错误

0 投票
2 回答
3027 浏览

android - Android (2.3.6) 中的 Mifare Ultralight C 身份验证

我正在尝试验证 Mifare Ultralight C(兼容 ISO/IEC 14443-2 和 14443-3 A 型)标签。

我使用 Android 中提供的 MifareUltralight.transceive() 函数发送身份验证命令。我还检查了 NfcA.transceive()(IsoDep 似乎与这种标签不兼容,因为该对象用于处理 ISO/IEC 14443-4 标签,这就是我不使用 IsoDep.transceive() 的原因)。

因此,当我第一次发送身份验证请求命令时,标签用 AFxxxx 回答 transceive() ..... 我在其中处理标签答案,然后我发送另一个带有对该答案的响应的 transceive() 但是......就在之前发送收发器()标签已连接,发送时我收到“标签丢失”警告和“收发失败”。

另外,如果我用 NfcA 尝试它,也会发生同样的问题。

最后,如果我在第一个响应之后尝试发送一个身份验证命令,我还会收到一个“标签丢失”警告,收发失败。

所以我的问题是:

为什么我发送第二个 transceive() 时 NFC 标签会丢失?<<

(这似乎不是超时问题,因为就在发送第二个 transceive() 之前,连接已使用标签打开)我在与 UI 不同的线程中制作了所有东西。

提前致谢!

0 投票
1 回答
438 浏览

blackberry - java.lang.SecurityException:不允许对此连接进行 JSR 177 访问

我正在尝试使用带有 SAT 目标的 APDUConnection 与 SIM 卡通信,但我得到了这个异常:

“java.lang.SecurityException:不允许对此连接进行 JSR 177 访问”

我尝试与之通信的 SIM 卡存在此问题,但在其他 SIM 卡上,例如我的运营商 (Rogers),我可以很好地打开 APDU 连接。

0 投票
1 回答
203 浏览

windows-phone-7 - windows-phone-7 平台是否可以访问 PC/SC API?

我浏览了 Windows Phone 7 文档网站,但无法找到是否可以在这个平台上编写一个可以使用 APDU 命令/响应 (ISO7816) 与智能手机的 SIM 卡通信的应用程序。

是否可以为此使用 PC/SC 或其他 API,如果可以,我在哪里可以找到有关它的一些文档?

0 投票
1 回答
719 浏览

java-me - j2me 中的 java.lang.nullpointerexception

我正在编写一个读取 mifare 卡的应用程序,但是当我通过 APDU 时,在模拟器“java.lang.nullpointerexception”上发生错误。我已经成功检测到 ISO14443_CARD 之后我通过了 APDU

0 投票
3 回答
7597 浏览

java - javax.smartcardio: how to send native commands to Desfire card?

I am creating a java application communicating with a Mifare DESFire card through a PC/SC contactless reader and the javax.smartcardio API. I manage to send regular ISO 7816 APDUs (CLA, INS, P1-P2, Lc, Command data, Le).

I have read on Ridrix's Blog that DESFire cards (at least the EV1 version that I am using) support both APDUs and Native commands where most of the commands are only 1 byte long.

For example, the "Get Version" command:

I tested that command with the PC/SC Diag program from SpringCard (available here) and I get a correct response.

But I cannot send this command with javax.smartcardio: this API seems to have been created for real APDUs and therefore does not allow 1 byte long commands.

Here is what I did:

It gives me the following error:

I tried the only (AFAIK) other way to send a command:

and get a similar error:

Do you know of any way to send this kind of command using javax.smartcardio or something else?

I know it is possible to wrap these commands but I would prefer to use the (simpler) native commands.

Thanks.