简体   繁体   English

是jcop只是在Java卡中安装applet的方法吗?

[英]is jcop is only way to install applet in java card?

I am trying to understand the concept of java card , I have some doubts , I want to share with , perhaps you would any best suggestion for me. 我想了解java卡的概念,我有些疑惑,我想和大家分享,也许你会对我有任何最好的建议。

//Jcop- I read somewhere that Java Card OpenPlatform (JCOP) is a smart card operating system for the Java Card platform developed by IBM Zürich Research Laboratory. // Jcop-我在某处读到Java Card OpenPlatform(JCOP)是IBMZürich研究实验室开发的Java Card平台的智能卡操作系统。

question 1 - if this above sentence is right it means jcop is an operating system developed by IBM, handle all operation inside the card.right? 问题1 - 如果上述句子是正确的,则意味着jcop是IBM开发的操作系统,处理card.right中的所有操作?
I have a card which indicate 我有一张卡片表明

ATR like- 3b 89 80 01 4a ....40 ( in character form it indicate- ;---jcop41v22m) , ATR喜欢 - 3b 89 80 01 4a .... 40(字符形式表示 - ; --- jcop41v22m),

so can i say? 我可以这么说吗? this is a card which os is made by IBM. 这是一张由IBM制作的操作系统。 and we require only and only JCOP tool to send cap inside this card because OS inside is JCOP and jcop tool would be the only option to talk to jCOp card? 并且我们只需要和只有JCOP工具在这张卡内发送上限,因为OS内部是JCOP而jcop工具是与jCOp卡交谈的唯一选择吗?

question 2 - or is there any other method by which i can send the applet inside my card? 问题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`

question 3 - above code i got from gpshell 1.4.4 , the code style indictate that this is also a method tp send cap file inside the java card, I want to know that for my card case { atr is -3b 89 80 01 4a ....40 ( in character form it indicate- ;---jcop41v22m)} , I can apply gpshell to send .cap file in my card. 问题3 - 我从gpshell 1.4.4得到的代码,代码样式表明这也是一个方法tp发送java文件中的cap文件,我想知道我的卡案例{atr是-3b 89 80 01 4a .... 40(字符形式表示 - ; --- jcop41v22m)},我可以应用gpshell在我的卡中发送.cap文件。

question 4 - is gpshell is used to send cap into a special java card which is not jcop enable or which does not contaion jcop operating system? 问题4 - gpshell用于将cap发送到一个特殊的java卡,它不是jcop启用或不会影响jcop操作系统?

there are so many techniques , so many type of java card, it makes me confuse , I hope you seems this question genuine and would give me revert back regards:- 有这么多技术,这么多类型的Java卡,它让我感到困惑,我希望你看起来这个问题真实,并会给我回复问候: -

Answer to the subject of the question is: 对问题主题的回答是:

NO. 没有。

Have a look at https://github.com/martinpaljak/GlobalPlatform 看看https://github.com/martinpaljak/GlobalPlatform

The question is good. 问题很好。 I see a lot of people that work with smart card for years and cannot still get the picture. 我看到很多人使用智能卡多年,但仍然无法获得相关信息。

What you read is right JCOP is operating system for smart cards. 你读的是正确的JCOP是智能卡的操作系统。

Although it is NOT true that you have to use JCOP tool to deploy applets. 虽然您不得不使用JCOP工具来部署applet。 They might be helpful but it is not the only way. 他们可能会有所帮助,但这不是唯一的方法。 In fact what you need to know is what version of Global Platform is supported by your card. 实际上,您需要知道的是您的卡支持哪种版本的Global Platform。 Global Platform is the standard that defines how Card Contend is managed. Global Platform是定义Card Contend如何管理的标准。 This includes installation, security concept and so on. 这包括安装,安全概念等。 For example if your card support GP 2.1.1 you should use this document as a reference: 例如,如果您的卡支持GP 2.1.1,您应该使用此文档作为参考:

http://www.win.tue.nl/pinpasjc/docs/Card%20Spec%20v2.1.1%20v0303.pdf http://www.win.tue.nl/pinpasjc/docs/Card%20Spec%20v2.1.1%20v0303.pdf

All the tools like gpshell, jcshell are wrapping global platform commands in more user friendly commands, and also implementing the security protocols for you. 所有工具(如gpshell,jcshell)都在更加用户友好的命令中包装全局平台命令,并为您实现安全协议。 So you can use whatever tool that supports the GP version of your target card. 因此,您可以使用支持目标卡GP版本的任何工具。

I hope this makes it a bit more clear. 我希望这会让它更加清晰。

NXP currently owns JCOP, you should go to them for questions. 恩智浦目前拥有JCOP,您应该向他们提问。

  1. Yes, the VM inside a Java Card implementation executes all byte code. 是的,Java Card实现中的VM执行所有字节代码。
  2. You can use any Global Platform compatible library, although there are some implementation mistakes that could make a difference. 您可以使用任何与Global Platform兼容的库,尽管存在一些可能会产生影响的实现错误。
  3. Try it, it should work 尝试一下,它应该工作
  4. Java Card is a standard, and implementations are tested by Oracle, so sending your Applet to another card should work *1 Java Card是一种标准,实现由Oracle测试,因此将Applet发送到另一张卡应该可以工作* 1

*1 unless you make assumptions that are not cleared up in Java Card, use too much stack or heap memory for that card, use crypto algorithms that are not present, Java Card API's that have not been implemented by the other card, or of course, proprietary JCOP functionality. * 1除非您做出未在Java Card中清除的假设,为该卡使用过多的堆栈或堆内存,使用不存在的加密算法,未使用其他卡实现的Java Card API,或者当然,专有的JCOP功能。

The answer to question 1 is "no". 问题1的答案是“不”。 You shouldn't rely on the historical bytes "jcop41v22" in the ATR to recognize the type of card. 您不应该依赖ATR中的历史字节"jcop41v22"来识别卡的类型。 Any Java Card applet can change these bytes. 任何Java Card小程序都可以更改这些字节。

Q1&Q2: No.It's right that Java Card OpenPlatform (JCOP) is a smart card operating system for the Java Card platform.But it's not the only tool to deploy applet. Q1和Q2:不,Java Card OpenPlatform(JCOP)是Java Card平台的智能卡操作系统。但它并不是部署applet的唯一工具。 For example,i'm using PyAPDUTool to send cap file inside the java card. 例如,我正在使用PyAPDUTool在java卡中发送cap文件。

Q3: Yes,you can use gpshell to send .cap file in your card. Q3:是的,您可以使用gpshell在您的卡中发送.cap文件。

Q4: NO,you can also send your applet to other javacards. 问题4:不,您也可以将小程序发送到其他javacards。

NO. 没有。 You can take a look at this website "www.javacos.com" . 你可以看一下这个网站“www.javacos.com”。 On this the tool of jcide also can get what you want And it is free of charge.Although some function is not very perfect. 在这个jcide的工具也可以得到你想要的它是免费的。虽然有些功能不是很完美。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM