I followed the ICAO's 7th edition "Appendix D to Part 11 - Worked Example: Basic Access Control" in order to create an Android app with Xamarin.Android that reads the data from an ePassport. However, I'm getting a 6300 status code from the chip at the EXTERNAL AUTHENTICATE step and there is not much information about that error code. It is too vague...
Here is the log of the steps performed by the app:
Tag tech list from the chip: android.nfc.tech.IsoDep, android.nfc.tech.NfcA
Select AID command:
00A4040C07A0000002471001
Select AID response:
9000
GET_CHALLENGE command:
0084000008
GET_CHALLENGE response:
6211B520F00565DD9000
documentNumber:
HU1234560
dateOfBirth:
920229
dateOfExpiry:
150101
keySeed SHA1(documentNumber + checkDigit + dateOfBirth + checkDigit + dateOfExpiry + checkDigit):
F3B48FDEF6A2374676C6B8892AFA58FB
kEnc SHA1(keySeed + 00000001):
9F399B0855DAD12F04FB3CB84D1F9AB3
kMac SHA1(keySeed + 00000002):
51102BA4C6A69CEF26BD45C94537B103
rndIFD:
CC95C0CD499F6306
kIFD:
39D661B07605B175E8BEF948609556F1
rndICC:
6211B520F00565DD
S:
CC95C0CD499F63066211B520F00565DD39D661B07605B175E8BEF948609556F1
eIFD(DesEdeEngine/CBC/NoPadding):
EC95CF0953AF87CA7FE3059A4B89A018309E8FD60359F38C4BA3216E763DD1D4
mIFD(DesEngine/ISO9797Alg3Mac/ISO7816d4Padding):
CED0EA4979A35978
External Authenticate command:
0082000028EC95CF0953AF87CA7FE3059A4B89A018309E8FD60359F38C4BA3216E763DD1CED0EA4979A359780028
External Authenticate response:
6300
Any recommendations?