问题标签 [globalplatform]
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.
smartcard - JCOP 小程序上传的阅读器问题
我已经成功使用 JCOP Tools 和 SCM SDI 010 Reader 有一段时间了。当我现在尝试更改我的读卡器时,我注意到对于其他读卡器(例如 SCM SCL 011),上传命令失败(GP Install for Load),响应为 6D00:
=> 80 E6 02 00 13 06 64 65 2E 62 64 72 08 A0 00 00 01 51 00 00 00 00 00 00 00 (29683 微秒)
<= 6D 00
状态:不支持 INS 值
我尝试了很多,但没有成功。
有任何想法吗?
applet - 在 javacard 上隐藏小程序
gpj -list
如您所知,我们可以使用或使用其他工具(例如gpshell、gp、opensc-tool ...)中的类似命令看到驻留在智能卡上的小程序 AID 列表
我想知道有没有办法隐藏一个小程序以在这些命令的响应中列出?我的意思是上传一个小程序,当我们使用时gpj -list
,智能卡不会返回它的 AID!
javacard - MUTUAL AUTHENTICATION failed in EMV card
I am trying to send a STORE DATA command to my EMV card to store DGI values. I've got a document that describes the APDU command to install and personalize EMV application on JCOP 2.4.1 Revision 3.
In the document, the sequence of commands is:
Line written in this Document is:
the key value of issuer security domain(encryption, MAC,and key encryption key): 404142434445464748494a4b4c4d4e4f. and the value of sequence counter is 0.
I just downloaded GPSHELL 1.4.4 and try to run following script:-
however my output is:
Why does the authentication fail? To send the STORE command I need to passed authentication. How can I pass authentication?
smartcard - 智能卡中的多线程和逻辑通道
据我们所知,Java Cards 不支持多线程。问题是,他们怎么可以有多个逻辑通道但不支持多线程?为什么他们需要不止一个逻辑通道?
就我而言,我有一个支持三个逻辑通道的 java 卡。我安装Applet-A
并Applet-B
在我的卡上。然后我通过逻辑通道 1 为 Applet-A发送了一个SELECT命令,然后我通过通道 2 为 Applet-B发送了另一个SELECT命令。
此时,我可以连续向 Applet-A 和 Applet-B 发送 APDU,而无需任何其他 Select 命令。这不是多线程吗?我的意思是 JCRE 必须同时选中 Applet-A 和 Applet-B,对吗?
smartcard - 收到 SELECT APDU 命令后的 JCRE 行为
据我所知,当JCRE接收到一个SELECT APDU 命令时,首先,它会在其注册表中搜索该命令指示的AID 。如果在其注册表中未找到 AID,则返回6A82
. 但是如果JCRE找到它,它会调用被deselect()
选择的小程序的方法,并且在收到一个 之后True
,它会调用select()
被请求的小程序的方法。如果它收到一个True
从该方法接收到一个,则将该小程序标记为选中。
我的问题:
1- 如果第一个小程序(当前选定的小程序)False
在JCRE调用其deselect()
方法时返回,会发生什么情况?小程序是否保留Selected
?
2- 如果第二个小程序(请求的小程序)False
在JCRE调用其select()
方法时返回,会发生什么情况?在这种情况下,将选择哪一个小程序?默认是安全域?
javacard - JAVACARD2.2中selectingApplet()方法的作用是什么
正如此处的 JavaCard 2.2 API 文档中所述,selectingApplet()
小程序方法使用该process()
方法将选择此小程序的 SELECT APDU 命令与可能与文件或内部小程序状态选择相关的所有其他SELECT APDU 命令区分开来,它返回true如果这个小程序被选中。
我的问题是为什么我们需要这种方法?甚至更笼统:为什么选定的小程序需要接收 SELECT-applet 命令?我认为唯一需要知道SELECT -applet APDUs 的实体是JCRE。
我建议以下场景:
- JCRE从CAD接收 APDU 命令
- 检查它是否是 SELECT APDU 命令。
- 如果不是SELECT APDU 命令,它将接收到的 APDU 发送到
process()
所选 Applet 的方法。和选定的小程序解释并执行它(使用开关和if表达式,不需要使用selectingApplet()
方法) - 如果是SELECT APDU 命令,请检查命令的数据字段的长度以查看它是SELECT File还是SELECT Applet。
- 如果是SELECT File命令,JCRE将其
process()
再次发送到所选小程序的方法。但如果是SELECT Applet coomand,JCRE调用deselet()
当前选择的 applet 的方法,然后调用select()
新请求的 applet 的方法。并在接收到后True
,将其选中并等待下一个 APDU 命令。(甚至不需要将先前的SELECT-Applet
APDU 命令发送到process()
这个新选择的小程序的方法)
上述实现有什么问题?以及 JC 2.2 中当前实现的优点是什么(将所有接收的 APDU 发送到process()
当前选择的小程序的方法并selectingApplet()
区分不同的SELECT命令)
我认为当前的实现提供了一个漏洞!如果程序员以一种方式实现他/她的小程序,其process()
方法将所有接收到的APDU写入EEPROM,他/她可以检索卡上其他已安装小程序的 AID。这是正确的吗?
java - GlobalPlatform 和 JavaCard 是什么关系?
我开始使用 GlobalPlatfrom Card 规范,但我无法弄清楚 GLobalPlatform functinalify 是如何进入 JavaCard 的。是否应将任何小程序安装到卡中以使该卡与 GP 兼容?还是在制造过程中将 GP 功能作为 JRE 扩展提供到卡中?或者甚至可以使非 GP 兼容的卡成为 GP 兼容的吗?
smartcard - JCOP 安全域的 AID 和“Card Not Fused”或“Not Pre-Personalized”的含义
我从这里下载了一个名为JCOP Manger的软件来处理我的CJ3A080 jcop java 卡。
它可以正确识别我的卡。但它不允许我安装或列出小程序!为什么?
该软件的输出:
我尝试使用CardTool(我用来将 APDU 发送到卡的软件)选择 ISD,但正如您在下面看到的,在卡上找不到任何常见的 AID:
请注意,CardTool输出格式如下:
所以,这是CardTool的输出:
我也尝试了 gp.exe工具,这是它的输出:
问题是:
- 1-这是什么意思?“未融合(未预先个性化) ”
- 2-我如何个性化它?
- 3-我们如何才能找到卡是否熔断?
- 4-安全域的AID是什么?
我在一个主题中问了所有这 4 个问题,因为它们彼此密切相关
smartcard - 使用 GPSShell 在 JCOP 卡上列出小程序
我有一张 JCOP 智能卡 ( CJ3A080 )。我想列出卡上的默认小程序,所以我下载了最新版本的 GPSShell (1.4.4) 并运行名为listjcop10.txt
. 但它失败了。这是脚本的内容:
列表jcop10.txt:
这是 GPSShell 的输出:
有谁知道问题的根源是什么?
请注意,这张卡与我在这里提到的卡相同
smartcard - JCOP 识别小程序有什么用?
我有一个CJ3A080 v2.4.1 NXP JCOP智能卡。
当我想选择 AID=A0 00 00 01 67 41 30 00 FF
时,我收到 SW1-SW2=6A82(未找到文件或应用程序)和一些其他数据,如下所示:
我在 google 中搜索了这个AID
,我发现这是一个名为JCOP 识别 Applet的小程序的 AID,并且这个小程序不是 SELECTABLE。
我的问题:
- 那个数据是什么意思?
- 这个小程序有什么用?我何时以及如何使用它?
- 是否可以使它成为SELECTABLE?