have few Mifare plus SE 1K cards. I am trying to personalize by switching from SL0 to SL3 using TapLinx SDK.
I've successfully switched from SL0 to SL1 using below code:
plusSL0.writePerso(0x9000, KEY_AES128); //master key
plusSL0.writePerso(0x9001, KEY_AES128); // config key
plusSL0.writePerso(0x9003, KEY_AES128); //SL3 switch key
and when switching from SL1 to SL3 using below code :
It gives me an error :
com.nxp.nfclib.exceptions.SecurityException: data not block size aligned
I'm aware that The MIFARE Plus switch should be done on a “stupid” reader where you can send also ISO14443-3 and ISO14443-4 protocol commands. can you explain how it can be done? or better is there any way to switch directly from SL0 to SL3?
I'm not sure if this is the right way of doing personalization of cards. If anyone can guild me correct direction that'd be helpful!
+ 0 | - 0
“Stupid” means here that you have full control over the NFC interface (for instance with a PC/SC interface). In an Android device you have not full control over the NFC Interface! The middleware controls the interface and try to find out, which card type is in the field. If the middleware decides, you cannot change it afterwards. In your case it detects an ISO14443-3 card (MIFARE Classic or MIFARE Plus in SL1) for which you get an NFC adapter object for operating. You cannot force it to get another type of object, for instance an ISO14443-4 for a MIFARE Plus in SL3.
All what you can do is to prepare the SL switch by writing the required keys and to execute a CommitPerso. If you remove the card from the field and tap again, it should be in SL3. Either the middleware accepts the card in the field as ISO14443-4 or not. But you have no way to control this by software for security reasons.
The TapLinx team
+ 0 | - 0
Viewing 2 posts - 1 through 2 (of 2 total)
You must be logged in to reply to this topic.