smartcard

Unkown error 0x16 on smartcard reader access

孤街醉人 提交于 2020-01-01 16:56:11
问题 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; //

Are there javax.smartcardio analogues on Android?

一曲冷凌霜 提交于 2020-01-01 12:22:55
问题 Are there javax.smartcardio analogues on Android? but not using Open Mobile API. Thanks! 回答1: I'm using javax.smartcardio.* as a facade to IsoDep on Android in a project called SCUBA. Note that this is for trancieving APDUs to ISO14443 cards in the field of the NFC chip (in NFC capable Android phones), and not for communicating with SIM or SE. (Main motivation was to be able to use the same JMRTD ePassport reading API jar both on J2SE and Android without changes.) EDIT: If you're interested

JCWDE : Exception from install() method

余生颓废 提交于 2020-01-01 07:22:17
问题 I am working on JavaCard and I developed an applet with JCDE on Eclipse: import javacard.framework.APDU; import javacard.framework.Applet; import javacard.framework.ISO7816; import javacard.framework.ISOException; import javacard.framework.Util; import javacardx.framework.math.BigNumber; import javacard.security.CryptoException; import javacard.security.MessageDigest; public class SignatureGPS extends Applet { public static final byte CLA = (byte) 0xB0; public static final byte INS = (byte)

Determine card type from ATR

偶尔善良 提交于 2020-01-01 03:48:04
问题 Is it possible using ATR to determine whether I have ISO14443A or ISO14443B type card? If yes, how? 回答1: As mictter correctly explained, a real AT R only exists for ISO 7816 contact cards. I can follow the argumentation that the ISO 14443 equivalent could be the ATQA/ATQB as this is the first answer you get from tags after activation, though I would rather say that the equvalent of the ATR is a combination of ATQA + SAK + ATS (for Type A) and a combination of ATQB + Answer to ATTRIB (for Type

Type B NFC Chip in US Passport MRTD

試著忘記壹切 提交于 2020-01-01 03:45:09
问题 I am trying to read a US Passport, issued 2010. It has an NFC chip in it using type B modulation. Most countries use Type A so I am just trying Type B now for the first time. I am using an NXP PN532 NFC Controller. I am using the inCommunicateThru instruction rather than the inDataExchange since I need to manually control the timeouts and error handling to successfully talk to a type B chip on this model NFC controller. I had to implement parts of the ISO-14443-4 protocol myself, such as the

Read write data in SLE4442 smart card with java commandAPDU?

旧时模样 提交于 2019-12-30 07:50:11
问题 I want to read and write data in SLE4442 smart card i have ACR38U-i1 smart card reader For write I am use this commandAPDU byte[] cmdApduPutCardUid = new byte[]{(byte)0xFF, (byte)0xD0, (byte)0x40,(byte)0x00, (byte)4,(byte)6,(byte)2,(byte)6,(byte)2}; And for read data byte[] cmdApduGetCardUid = new byte[]{(byte)0xFF,(byte)0xB0,(byte)0x40,(byte)0x00,(byte)0xFF}; both are execute and send SW= 9000 but no one data receive in responseAPDU Like I write 6262 data but it not receive I am also use

How do I read the PAN from an EMV SmartCard from Java

非 Y 不嫁゛ 提交于 2019-12-30 00:20:06
问题 I need to read account number from Maestro/Mastercard with smart card reader. I am using Java 1.6 and its javax.smartcardio package. I need to send APDU command which will ask EMV application stored on card's chip for PAN number. Problem is, I cannot find regular byte array to construct APDU command which will return needed data anywhere... 回答1: You shouldn't need to wrap the APDU further. The API layer should take care of that. It looks like the 0x6D00 response just means that the

java.lang.nullpointerexception in j2me

人走茶凉 提交于 2019-12-29 09:25:10
问题 I am writing an application for read the mifare card,but when I pass the APDU the error occur that on emulator "java.lang.nullpointerexception".I have successfully detect the ISO14443_CARD after that I pass the APDU like if (tp.hasTargetType(TargetType.ISO14443_CARD)){ form.append("Target is ISO14443_CARD\n"); try { static byte[] APDU_AUTH1 = { (byte) 0xff, (byte) 0x86, (byte) 0x00, (byte) 0x00, (byte) 0x05,(byte)0x01,(byte)0x00,(byte)0xfc,(byte)0x60,(byte)0x00}; static byte[] STATUS_BYTE = {

Use READ BINARY to read more than 256 bytes

偶尔善良 提交于 2019-12-28 17:45:13
问题 I am trying to read a smartcard(German Gesundheitskarte) using javax.smartcardio In the definition of the EF "PD" its length is specified as 850 bytes. The content should be a gzipped ISO5589-15 encoded XML string as specified here As CommandAPDU I send 00 B0 00 00 00 to get the first 256 bytes. After sending 00 B0 00 FF 00 I get the next 256 bytes. But how do I get the rest? How will I know when the binary data ends? German Specification Part 1 | German Specification Part 2 回答1: READ BINARY

Communicate with smartcard reader through Android USB host

牧云@^-^@ 提交于 2019-12-28 11:57:27
问题 I'm trying to send a command to a smart card. I use a Gemalto IDBridge CT30 (PC TWIN reader) and a IDBridge K30 connected to the Android device over USB. I try to send a SELECT APDU command over USB: boolean claim = openedConnection.claimInterface(usbInterface, true); byte[] data = new byte[]{ (byte) 0x00, (byte) 0xA4, (byte) 0x04, (byte) 0x0C, (byte) 0x07, (byte) 0xA0, (byte) 0x00, (byte) 0x00, (byte) 0x01, (byte) 0x18, (byte) 0x45, (byte) 0x4E}; After that I receive an answer: final int