我想了解java卡的概念,我有些疑惑,我想和大家分享一下,也许你会对我有任何最好的建议。
问题1 - 如果上述句子是正确的,则意味着jcop是IBM开发的操作系统,处理card.right中的所有操作。 我有一张卡片表明
所以我可以这么说吗?这是一张由IBM制造的卡片。并且我们只需要和只有JCOP工具在这张卡内发送上限,因为内部的操作系统是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获得,代码样式表明这也是一个方法tp发送java文件中的cap文件,我想知道我的卡片case {atr是-3b 89 80 01 4a .... 40(字符形式表示 - ; --- jcop41v22m)},我可以应用gpshell在我的卡中发送.cap文件。
问题4 - gpshell用于将cap发送到一个特殊的java卡,它不是jcop启用或不会影响jcop操作系统?
有这么多技术,这么多类型的Java卡,它让我感到困惑,我希望你看起来这个问题真实而且会让我回复 问候: -答案 0 :(得分:3)
问题很好。我看到很多人使用智能卡多年,但仍然无法获得相关信息。
你读到的是正确的JCOP是智能卡的操作系统。
虽然您不得不使用JCOP工具来部署applet。他们可能会有所帮助,但这不是唯一的方法。实际上,您需要知道的是您的卡支持哪种版本的Global Platform。 Global Platform是定义Card Contend如何管理的标准。这包括安装,安全概念等。例如,如果您的卡支持GP 2.1.1,则应将此文档用作参考:
http://www.win.tue.nl/pinpasjc/docs/Card%20Spec%20v2.1.1%20v0303.pdf
gpshell,jcshell等所有工具都在更加用户友好的命令中包装全局平台命令,并为您实现安全协议。因此,您可以使用任何支持目标卡GP版本的工具。
我希望这会让它更加清晰。
答案 1 :(得分:3)
答案 2 :(得分:2)
恩智浦目前拥有JCOP,您应该向他们提问。
* 1除非您做出未在Java Card中清除的假设,为该卡使用过多的堆栈或堆内存,使用不存在的加密算法,Java Card API尚未由其他卡实现,或者当然是专有的JCOP功能。
答案 3 :(得分:1)
问题1的答案是“不”。您不应该依赖ATR中的历史字节"jcop41v22"
来识别卡的类型。任何Java Card小程序都可以更改这些字节。
答案 4 :(得分:1)
Q1& Q2:不错.Java Card OpenPlatform(JCOP)是Java Card平台的智能卡操作系统。但它并不是部署applet的唯一工具。例如,我使用PyAPDUTool在Java卡中发送了一个cap文件。
问题3:是的,您可以使用gpshell在您的卡中发送.cap文件。
问题4:不,您也可以将小程序发送到其他javacards。
答案 5 :(得分:0)
NO。 你可以看一下这个网站" www.javacos.com" 。在这个jcide的工具也可以得到你想要的东西它是免费的。虽然有些功能不是很完美。