apdu

Standards for smartcard communication

半城伤御伤魂 提交于 2019-12-05 00:22:42
问题 What is the difference between ISO 14443-3 and ISO 7816-4 APDUs? I'm asking this because seems some cards use former to communicate with reader, some latter. I'm confused with this, would like to get a good understanding about this. For example, I think Mifare Classic uses ISO 14443-3. But what confused me here is that when I wrote application to communicate with Mifare classic, I was sending APDUs to it. 回答1: The ISO 14443 standard defines the physical RF transport protocol for communication

Mifare Ultralight C Authentication in Android (2.3.6)

你离开我真会死。 提交于 2019-12-05 00:16:16
问题 I'm trying to authenticate a Mifare Ultralight C (ISO/IEC 14443-2 and 14443-3 type A compatible) tag. I send the authentication command with the MifareUltralight.transceive() function provided in Android. I have also checked NfcA.transceive() (IsoDep seems not to be compatible with this kind of tag because this object is for dealing with ISO/IEC 14443-4 tags and that's why I don't use IsoDep.transceive()). So, when I first send the authentication request command the tag answers the transceive

EMV JavaCard APDU Response in TLV Format

孤街浪徒 提交于 2019-12-04 21:29:31
I have a simple JavaCard HelloWorld script, i execute it in JCIDE with virtual reader then i send apdu commands from pyapdutool: 00a404000e aid then 80000000 and i receive javacard string, everything runs fine. My question is: how can i return a tlv format data instead of that response ? I was looking in the emv book 4.3 about this and also on google haven't found a single example to implement emv tlv tags in javacard script. Can someone put me on correct path to understand this ? package helloworld; import javacard.framework.*; public class helloworld extends Applet { private static final

Can't exchange data between Android phone and Arduino with NFC module, using HCE

扶醉桌前 提交于 2019-12-04 20:23:06
Please, I need any help to solve my problem. I can't exchange data normally between Android (4.4.2) phone and Arduino with NFC module, using HCE. I took example from Android samples, and slightly changed to return just IMEI number. public byte[] processCommandApdu(byte[] commandApdu, Bundle extras) { if (Arrays.equals(SELECT_APDU, commandApdu)) { String data = ((TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId(); return ConcatArrays(data.getBytes(), SELECT_OK_SW); } else { return UNKNOWN_CMD_SW; } } On Arduino side, my code is: void loop(){ Serial.println("Waiting for

Android Host Card Emulation with Arduino

余生颓废 提交于 2019-12-04 19:13:51
I am trying to build a communication between my Nexus4 HCE and Arduino PN532 Chip. on The Serial Monitor of Arduino,I could see some data transaction happening. But on ANdorid side, I get CET4T: Unsupported Class byte (0x60) CET4T: Unsupported Class byte (0xA0) BrcmNfcNfa﹕ UICC[0x0] is not activated Below is my apduservice.xml <host-apdu-service xmlns:android="http://schemas.android.com/apk/res/android" android:description="@string/servicedesc" android:apduServiceBanner="@drawable/ic_launcher" android:requireDeviceUnlock="false" > <aid-group android:category="other" android:description="

authentication error for mifare card “6982:Security status not satisfied”

守給你的承諾、 提交于 2019-12-04 18:15:00
I know. This question asked before under same tag and same name here . But the answers are useless for me. and i opened again for real answers. I have pc/sc reader and Contactless card(mifare card), I can connect to the card and also I execute getdate command successfully, but when I want to authenticate I see this error "6982:Security status not satisfied" I've tried these 4 different commands for authentication but I get the same error for all of them. FF 88 00 00 06 FF FF FF FF FF FF FF 88 00 00 60 12 FF 88 00 00 05 01 00 12 60 00 FF 88 00 00 60 00 how can I authenticate to this card ? The

Unkown error 0x16 on smartcard reader access

ε祈祈猫儿з 提交于 2019-12-04 13:26:08
I am trying to change the buzzer duration on the ACR1252U. Link to API: http://www.acs.com.hk/download-manual/6402/API-ACR1252U-1.09.pdf According to the API documentation I need the 'E0000028010A' command to change the buzzer status, whereby '0A' marks the duration as 0A*10ms (Page 44). Following Java code is used: public static void main(String[] args) { try { byte[] send = new byte[6]; send[0] = (byte) 0xE0; // Commandclass send[1] = (byte) 0x00; // Protocoll send[2] = (byte) 0x00; // Param 1 send[3] = (byte) 0x28; // Param 2: Buzzerstatus send[4] = (byte) 0x01; // Change Flag send[5] =

How to authenticate NTAG213 with ACR122U

久未见 提交于 2019-12-04 13:19:28
I'm using an ACR122U reader with an NTAG213 card. The card is password (reading and writing) protected with the password 52 84 00 08 . What are the APDU commands I should run to authenticate the card and also to read pages 30 and 31 of it once authenticated? I know with the MiFare 1k I could load the password and authenticate a sector, but I'm not sure how authentication works with the NTAG213 cards with the ACR122U readers. With the ACR122U you would need to send direct commands to the PN532 NFC controller chip inside the reader in order to exchange such low-level commands. For instance, you

Authenticating Ultralight EV1 with PC/SC reader

∥☆過路亽.° 提交于 2019-12-04 12:00:46
I have a problem trying to authenticate an Ultralight EV1 card using a PC/SC reader (specifically an ACR1222L) in Java. I'm able to write and read on an unprotected tag using the corresponding APDUs for ISO 14443-3 tags. However, I can't find a way to run the PWD_AUTH command since it is not part of the 14443-3 standard (or any native command for that matter). Is it possible to run this command (or any native command for that matter)? I have tried sending the following APDU {e0 00 00 24 07 1b ff ff ff ff 63 00} where 1b is the native command, ff ff ff ff is the password and 63 00 is the CRC_A

Android isoDep.transceive on Generate AC command always returns 6D00 unsupported

隐身守侯 提交于 2019-12-03 22:10:32
问题 I'm trying to emulate a PoS, point of sale :), system and complete a transaction with Google wallet running on a 2013 Nexus 7 (no secure element) v4.4.2. My PoS prototype is also running on a 2013 Nexus 7 v4.4.2. I'm able to get NFC responses from the 2PAY_SYS_DDF01 request. I'm able to select the MasterCard application ID. I'm able to get Processing Options. When I Read Records it doesn't look like Google wallet is returning all the mandatory EMV fields. And finally when I request the