globalplatform

How can I check INITIALIZE UPDATE and EXTERNAL AUTHENTICATE correctness?

微笑、不失礼 提交于 2019-12-20 15:32:11
问题 I sent 80 50 00 00 08 00 00 00 00 00 00 00 00 [ INITILIZE UPDATE Command] via opensc-tool to my java card and received 00 00 11 60 01 00 8A 79 0A F9 FF 02 00 11 79 11 36 5D 71 00 A5 A5 EC 63 BB DC 05 CC [ Init Response ] as its response from the card. As you see: In the command,I send 00 00 00 00 00 00 00 00 as Host Challenge , And in the response : 00 00 11 60 01 00 8A 79 0A F9 = Key diversification data FF 02 = Key information 00 11 79 11 36 5D 71 00 = Card challenge A5 A5 EC 63 BB DC 05 CC

Transmission error for T=0 JavaCards

梦想与她 提交于 2019-12-19 04:14:08
问题 I have 4 different types of JavaCards. For a weird purpose, I wrote the following applet to return whole the APDU buffer on reception of each APDU command: package bufferReturner; import javacard.framework.APDU; import javacard.framework.Applet; import javacard.framework.ISOException; public class BufferReturner extends Applet { private BufferReturner() { } public static void install(byte bArray[], short bOffset, byte bLength) throws ISOException { new BufferReturner().register(); } public

Sign App with UICC Carrier Privileges Certificates

喜夏-厌秋 提交于 2019-12-18 13:54:18
问题 I was reading information on this link in regards to signing an application with carrier privileges. I am aware of how to sign an application using a keystore for production releases, but how do I add UICC certificates to my app so it gets carrier privileges? My main goal is to be able to call TelephonyManager functions like: iccOpenLogicalChannel iccCloseLogicalChannel iccTransmitApduLogicalChannel iccTransmitApduBasicChannel This is the stack trace I get when calling one of the above

AID of JCOP's Security Domain and meaning of “Card Not Fused” or “Not Pre-Personalized”

天大地大妈咪最大 提交于 2019-12-18 09:29:32
问题 I download a software named JCOP Manger from here to deal with my CJ3A080 jcop java card. It recognize my card currectly. but it don't let my to install or list applets! why? Output of this software: I try to select the ISD using CardTool (The software that I use to send APDU to card), but as you see below none of common AIDs not found on the card : Note that, CardTool output format is as below : < CLA | INS | P1 | P2 | Lc | Le < Command Data Field (If Possible) > Response Data Field (If

Get Data APDU command different tags and response format

纵然是瞬间 提交于 2019-12-14 03:39:46
问题 As you may know, Gloabal Platform Card Specification defines a command named Get Data to retrieve some information from the smart card. GlobalPlatformPro is one of the popular tools for communication with smart cards. When I list the installed applets on the card using this tool, I have the following output: D:\3-TestTools\SmartCard>GP -list -d -v -i //Useless Info Censored ATR: 3B6800000073C84012009000 //Select APDU Command A>> T=0 (4+0000) 00A40400 00 A<< (0018+2) (48ms)

How to change applet's privilege and the card Historical Bytes?

只愿长相守 提交于 2019-12-13 01:10:46
问题 I already thought that changing Historical bytes is limited to Pre-Personalization step. But, I found a method named setATRHistBytes in the GlobalPlatform APIs today. This is its description(GlobalPlatform 2.2 Page 172) : setATRHistBytes public static boolean setATRHistBytes(byte[] baBuffer, short sOffset, bytebLength) For contact cards according to ISO/IEC 7816-4 and Type A contactless cards according to ISO/IEC 14443-3, this method sets the historical bytes. The sequence of bytes will be

Mark Javacard applet as implicit selectable (default applet) after install

£可爱£侵袭症+ 提交于 2019-12-12 15:11:21
问题 I'm looking for a way to mark an applet as the implicit selectable/"selected by default" applet after it already has been uploaded and installed on a Global Platform/JCOP 2.4.2 R1 system (for starters in the NXP JCOP Tools Java Card Simulation). The applet has been installed without the -d parameter in the JCOP shell: cm> install -i a000100201100001 -q C9#() a000100201100000 a000100201100001 => 80 E6 [...] 90 00 after that the state is Card Manager AID : A000000003000000 Card Manager state :

What is the functionality of selectingApplet() method in JAVACARD2.2

时间秒杀一切 提交于 2019-12-11 09:35:35
问题 As mentioned in JavaCard 2.2 APIs documents here, selectingApplet() is a method that is used by the applet process() method to distinguish the SELECT APDU command which selected this applet, from all other SELECT APDU commands which may relate to file or internal applet state selection and it returns true if this applet is being selected. My question is that Why we need this method? and even more general : Why the selected applet need to receive SELECT-applet commands? I think the only entity

Java Card applets, secure data transmission and Secure Channel

馋奶兔 提交于 2019-12-10 08:11:44
问题 I want to write my applet in a way that its APDU commands and status words wasn't be clear in the transmission channel between my card and my reader. I mean I don't want to send APDU commands and responses to be plain text for third parties. I think I have two option : After selecting my applet on the card, for all the other commands, do an encryption function on the data section of APDU commands and decrypt them on the card and after that analyze them. Note that I can't encrypt whole the

Installing applet in javacard

夙愿已清 提交于 2019-12-09 11:36:41
问题 I made a .cap file of the popular "Hello World" javacard code via Eclipse And now I want to load it in a real javacard via GPShell and ACR38 smart card reader. question: Am I need any key to load the .cap file in the card? I mean, should I authenticate before uploading my applet in the card or it's not necessory? I think it is mndatory to authenticate. it is irrational to upload .cap without authentication. but I don't know , how to authenticate. question: What's wrong in this? C:\Users