我试图理解java卡的概念,我有一些疑问,我想和大家分享一下,也许你会给我最好的建议。
//Jcop-我在某个地方读到,Java (JCOP)是IBMürich研究实验室开发的Java平台的智能卡操作系统。
问题1-如果上面这句话是正确的,它意味着jcop是一个由IBM开发的操作系统,处理card.right中的所有操作?
我有一张卡片上面写着
ATR类似于- 3b 89 80 01 4a ....40 (以字符形式表示-;--jcop41v22m),
我能说吗?这是一张由IBM制造的o.s卡。我们只需要并且只有JCOP工具才能在这张卡内发送上限,因为OS在JCOP里面,而jcop工具将是与jCOp卡对话的唯一选择吗?
问题2,--或者还有其他方法可以将小程序发送到我的卡内?
enable_trace
establish_context
card_connect
select -AID a0000000030000
open_sc -security 1 -keyind 0 -keyver 0 -mac_key 404142434445464748494a4b4c4d4e4f -enc_key 404142434445464748494a4b4c4d4e4f // Open secure channel
delete -AID D0D1D2D3D4D50101
delete -AID D0D1D2D3D4D501
delete -AID D0D1D2D3D4D50101
install -file helloworld.cap -nvDataLimit 500 -instParam 00 -priv 2
# getdata
# close_sc // Close secure channel
# putkey // Put key
// options:
// -keyind Key index
// -keyver Key version
// -key Key value in hex
card_disconnect
release_context`问题3-在我从gpshell 1.4.4获得的代码中,代码样式表明这也是java卡内的tp发送上限文件的方法,我想知道对于我的卡情况{ atr是-3b 89 8001 4a ....40 (在字符形式上它表示-;--jcop41v22m)},我可以应用gpshell在我的卡中发送.cap文件。
问题4- - gpshell是用来向不启用jcop或不包含jcop操作系统的特定java卡中发送吗?
有这么多的技巧,那么多类型的java卡,它让我困惑,我希望你看起来这个问题是真实的,并会给我回复问候:-
发布于 2012-03-16 08:55:52
这个问题很好。我看到很多人使用智能卡工作了多年,但仍然无法了解情况。
你读到的是正确的JCOP是智能卡的操作系统。
尽管您必须使用JCOP工具来部署applet,这不是真的。它们可能会有所帮助,但这不是唯一的方法。事实上,您需要知道的是您的卡支持什么版本的Global。是定义如何管理Card的标准。这包括安装、安全概念等。例如,如果您的卡支持GP 2.1.1,则应将此文档用作参考:
http://www.win.tue.nl/pinpasjc/docs/Card%20Spec%20v2.1.1%20v0303.pdf
所有像gpshell、jcshell这样的工具都在用更友好的命令包装全局平台命令,还为您实现了安全协议。因此,您可以使用任何工具,支持您的目标卡的GP版本。
我希望这能让事情更清楚一些。
发布于 2014-01-27 20:30:36
发布于 2012-03-01 19:58:43
NXP目前拥有JCOP,您应该向他们询问问题。
*1除非您假设Java Card中没有清除,对该卡使用过多的堆栈或堆内存,否则使用不存在的加密算法,使用其他卡尚未实现的Java card API,或者当然使用专有的JCOP功能。
https://stackoverflow.com/questions/9504328
复制相似问题