Hi,
I'm doing preliminary C# coding for the ZXP Series 3 card printer. Note: there is no ribbon installed.
* Using Mifare 1K cards
* Comparing my code against a HID Global OMNIKEY 5422CL
* Using the pcsc-sharp library GitHub - danm-de/pcsc-sharp: PC/SC wrapper classes for .NET, written in C#
* This issue refers to the Mifare1K test in that library
With the HID, I can read and write to a card using the default code.
* P1 = 0x20 => NonVolatileMemory
* P2 = 0x00 => i.e. the first of 16 type A key
* Data (Key) = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }
* Note: Read/Write success even when I tried all the 16 type A or 16 type B keys
With the ZXP3, if I use P1=0x20, SW1 SW2 is 63 87, Non-volatile memory is not available.
When I changed P2 to 0x00 (VolatileMemory), SW1 SW2 is 63 88, Key number not valid.
Then I tried all the type A keys {0x00, 0x01, 0x02, 0x03} and all the four type B keys {0x10, 0x11, 0x12, 0x13}, the SW1 SW2 never wavered away from 63 88.
Can somebody explain how I can successfully read (and then write) to the Mifare 1K using the ZXP3, or at least point me in a direction where I can figure this out by myself?
Thank you in advance.
Sryn
1 Replies
Googled with some related terms and found a StackOverflow page zebra printers - MIFARE classic card APDU authentication failure - Stack Overflow
Used P2=0x60 and it worked!!!
Now I need to know why 0x60 works.