Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Virtual ePass not readable with Golden Reader Tool (EF.COM missing) #293

Open
tzippy84 opened this issue Jan 21, 2025 · 3 comments
Open

Comments

@tzippy84
Copy link

Hello!

I have installed the Virtual SmartCard Reader and am running the compiled binaries of virtualsmartcard-0.9_win64.
But when trying to emulate the ePass type and reading it with GRT (Platinum Edition), I get 0x6988 error from the card.
BAC seems to be running okay, but then EF.COM is not found. I have appended the output from both vicc.exe and GRT below.
Any help is appreciated!

C:\Program Files\virtualsmartcard-0.9_win64>vicc.exe -t ePass -vvvvv
Please enter the Machine Readable Zone
Example: P<UTOERIKSSON<<ANNA<MARIX<<<<<<<<<<<<<<<<<<<L898902C<3UTO6908061F9406236ZE184226B<<<<<14
MRZ:     P<UTOERIKSSON<<ANNA<MARIX<<<<<<<<<<<<<<<<<<<L898902C<3UTO6908061F9406236ZE184226B<<<<<14
Please enter the path to your facial image
Path:    C:\Users\myname\Downloads\DG2_from_DE.jpg
21.01.2025 09:35:01  [INFO] Connected to virtual PCD at localhost:35963
21.01.2025 09:35:02  [INFO] Reset
21.01.2025 09:35:02  [INFO] Reset
21.01.2025 09:35:02  [INFO] Reset
21.01.2025 09:35:02  [INFO] Command APDU (16 bytes):
  0000:  00 A4 04 00 0B A0 00 00 03 97 43 49 44 5F 01 00   ................
21.01.2025 09:35:02  [DEBUG] C_APDU(CLA=0x00, INS=0xA4, P1=0x04, P2=0x00, Lc=0x0B)
  0000:  A0 00 00 03 97 43 49 44 5F 01 00                  ...........
21.01.2025 09:35:02  [DEBUG] R_APDU(SW1=0x6A, SW2=0x82)
Checking error (Wrong parameters P1-P2): File or application not found
21.01.2025 09:35:02  [INFO] Response APDU (2 bytes):
  0000:  6A 82                                             ..
21.01.2025 09:35:02  [INFO] Command APDU (5 bytes):
  0000:  00 CA 7F 68 00                                    .....
21.01.2025 09:35:02  [DEBUG] C_APDU(CLA=0x00, INS=0xCA, P1=0x7F, P2=0x68, Le=0x00)
21.01.2025 09:35:02  [DEBUG] R_APDU(SW1=0x6A, SW2=0x81)
Checking error (Wrong parameters P1-P2): Function not supported
21.01.2025 09:35:02  [INFO] Response APDU (2 bytes):
  0000:  6A 81                                             ..
21.01.2025 09:35:02  [INFO] Command APDU (14 bytes):
  0000:  00 A4 04 00 09 A0 00 00 03 08 00 00 10 00         ..............
21.01.2025 09:35:02  [DEBUG] C_APDU(CLA=0x00, INS=0xA4, P1=0x04, P2=0x00, Lc=0x09)
  0000:  A0 00 00 03 08 00 00 10 00                        .........
21.01.2025 09:35:02  [DEBUG] R_APDU(SW1=0x6A, SW2=0x82)
Checking error (Wrong parameters P1-P2): File or application not found
21.01.2025 09:35:02  [INFO] Response APDU (2 bytes):
  0000:  6A 82                                             ..
21.01.2025 09:35:02  [INFO] Command APDU (14 bytes):
  0000:  00 A4 04 00 09 A0 00 00 03 97 42 54 46 59         ..............
21.01.2025 09:35:02  [DEBUG] C_APDU(CLA=0x00, INS=0xA4, P1=0x04, P2=0x00, Lc=0x09)
  0000:  A0 00 00 03 97 42 54 46 59                        .........
21.01.2025 09:35:02  [DEBUG] R_APDU(SW1=0x6A, SW2=0x82)
Checking error (Wrong parameters P1-P2): File or application not found
21.01.2025 09:35:02  [INFO] Response APDU (2 bytes):
  0000:  6A 82                                             ..
21.01.2025 09:35:02  [INFO] Command APDU (16 bytes):
  0000:  00 A4 04 00 0B A0 00 00 03 97 43 49 44 5F 01 00   ................
21.01.2025 09:35:02  [DEBUG] C_APDU(CLA=0x00, INS=0xA4, P1=0x04, P2=0x00, Lc=0x0B)
  0000:  A0 00 00 03 97 43 49 44 5F 01 00                  ...........
21.01.2025 09:35:02  [DEBUG] R_APDU(SW1=0x6A, SW2=0x82)
Checking error (Wrong parameters P1-P2): File or application not found
21.01.2025 09:35:02  [INFO] Response APDU (2 bytes):
  0000:  6A 82                                             ..
21.01.2025 09:35:02  [INFO] Command APDU (5 bytes):
  0000:  00 CA 7F 68 00                                    .....
21.01.2025 09:35:02  [DEBUG] C_APDU(CLA=0x00, INS=0xCA, P1=0x7F, P2=0x68, Le=0x00)
21.01.2025 09:35:02  [DEBUG] R_APDU(SW1=0x6A, SW2=0x81)
Checking error (Wrong parameters P1-P2): Function not supported
21.01.2025 09:35:02  [INFO] Response APDU (2 bytes):
  0000:  6A 81                                             ..
21.01.2025 09:35:02  [INFO] Command APDU (14 bytes):
  0000:  00 A4 04 00 09 A0 00 00 03 08 00 00 10 00         ..............
21.01.2025 09:35:02  [DEBUG] C_APDU(CLA=0x00, INS=0xA4, P1=0x04, P2=0x00, Lc=0x09)
  0000:  A0 00 00 03 08 00 00 10 00                        .........
21.01.2025 09:35:02  [DEBUG] R_APDU(SW1=0x6A, SW2=0x82)
Checking error (Wrong parameters P1-P2): File or application not found
21.01.2025 09:35:02  [INFO] Response APDU (2 bytes):
  0000:  6A 82                                             ..
21.01.2025 09:35:02  [INFO] Command APDU (14 bytes):
  0000:  00 A4 04 00 09 A0 00 00 03 97 42 54 46 59         ..............
21.01.2025 09:35:02  [DEBUG] C_APDU(CLA=0x00, INS=0xA4, P1=0x04, P2=0x00, Lc=0x09)
  0000:  A0 00 00 03 97 42 54 46 59                        .........
21.01.2025 09:35:02  [DEBUG] R_APDU(SW1=0x6A, SW2=0x82)
Checking error (Wrong parameters P1-P2): File or application not found
21.01.2025 09:35:02  [INFO] Response APDU (2 bytes):
  0000:  6A 82                                             ..

On the reader side this is my output during BAC:


00:00:00.003 NOTICE  P33504 T28872 2025-01-21 09:21:09.141: Platinum Reader Tool Version 3.10.0.4 ($Change: 240662 $ $Date: 2016/04/07 $)
00:00:00.003 NOTICE  P33504 T28872 2025-01-21 09:21:09.141: Start reading new document ...
00:00:00.003 DEBUG   P33504 T28872 2025-01-21 09:21:09.141: establishPlainOrBAC
00:00:27.908 NOTICE  P33504 T28872 2025-01-21 09:21:37.046: Reading file EF.ATR in application Masterfile
00:00:27.908 GENERIC P33504 T28872 2025-01-21 09:21:37.046: ReadData: EF.ATR - Start
00:00:27.908 GENERIC P33504 T28872 2025-01-21 09:21:37.046: APDU: Select File - Start
00:00:27.908 GENERIC P33504 T28872 2025-01-21 09:21:37.046: APDU: Request
                                                            00 a4 02 0c 02 2f 01                            ...../.
00:00:27.910 GENERIC P33504 T28872 2025-01-21 09:21:37.048: APDU: Response
                                                            6a 82                                           j.
00:00:27.910 GENERIC P33504 T28872 2025-01-21 09:21:37.048: Error: General - PassportAPIException:48 - File not found
00:00:27.910 GENERIC P33504 T28872 2025-01-21 09:21:37.048: APDU: Select File - End
00:00:27.910 GENERIC P33504 T28872 2025-01-21 09:21:37.048: ReadData: EF.ATR - End
00:00:27.911 INFO    P33504 T28872 2025-01-21 09:21:37.049: (Optional File) Error reading file from card: File not found
00:00:27.911 INFO    P33504 T28872 2025-01-21 09:21:37.049: (Optional file) File not found
00:00:27.911 NOTICE  P33504 T28872 2025-01-21 09:21:37.049: Reading file EF.DIR in application Masterfile
00:00:27.911 GENERIC P33504 T28872 2025-01-21 09:21:37.049: ReadData: EF.DIR - Start
00:00:27.911 GENERIC P33504 T28872 2025-01-21 09:21:37.049: APDU: Select File - Start
00:00:27.911 GENERIC P33504 T28872 2025-01-21 09:21:37.049: APDU: Request
                                                            00 a4 02 0c 02 2f 00                            ...../.
00:00:27.912 GENERIC P33504 T28872 2025-01-21 09:21:37.050: APDU: Response
                                                            6a 82                                           j.
00:00:27.912 GENERIC P33504 T28872 2025-01-21 09:21:37.050: Error: General - PassportAPIException:48 - File not found
00:00:27.912 GENERIC P33504 T28872 2025-01-21 09:21:37.050: APDU: Select File - End
00:00:27.912 GENERIC P33504 T28872 2025-01-21 09:21:37.050: ReadData: EF.DIR - End
00:00:27.912 INFO    P33504 T28872 2025-01-21 09:21:37.050: (Optional File) Error reading file from card: File not found
00:00:27.912 INFO    P33504 T28872 2025-01-21 09:21:37.050: (Optional file) File not found
00:00:00.000 GENERIC P33504 T28872 2025-01-21 09:21:37.050: Protocol: BAC - Start
00:00:00.000 GENERIC P33504 T28872 2025-01-21 09:21:37.050: APDU: Select Application - Start
00:00:00.000 GENERIC P33504 T28872 2025-01-21 09:21:37.050: APDU: Request
                                                            00 a4 04 0c 07 a0 00 00 02 47 10 01             .........G..
00:00:00.002 GENERIC P33504 T28872 2025-01-21 09:21:37.052: APDU: Response
                                                            90 00                                           ..
00:00:00.002 GENERIC P33504 T28872 2025-01-21 09:21:37.052: APDU: Select Application - End
00:00:00.002 GENERIC P33504 T28872 2025-01-21 09:21:37.052: Key: MRZ - MRZ information for BAC - L898902C<369080619406236
00:00:00.002 GENERIC P33504 T28872 2025-01-21 09:21:37.052: Key: KENC derived
                                                            ab 94 fc ed f2 66 4e df b9 b2 91 f8 5d 7f 77 f2 .....fN.....].w.
00:00:00.002 GENERIC P33504 T28872 2025-01-21 09:21:37.052: Key: KMAC derived
                                                            78 62 d9 ec e0 3c 1b cd 4d 77 08 9d cf 13 14 42 xb...<..Mw.....B
00:00:00.002 GENERIC P33504 T28872 2025-01-21 09:21:37.052: APDU: Get Challenge - Start
00:00:00.002 GENERIC P33504 T28872 2025-01-21 09:21:37.052: APDU: Request
                                                            00 84 00 00 08                                  .....
00:00:00.003 GENERIC P33504 T28872 2025-01-21 09:21:37.053: APDU: Response
                                                            be b7 d0 96 22 c8 d9 08 90 00                   ....".....
00:00:00.003 GENERIC P33504 T28872 2025-01-21 09:21:37.053: APDU: Get Challenge - End
00:00:00.003 GENERIC P33504 T28872 2025-01-21 09:21:37.053: Operations: Passport::calculateAuthenticationData - Calculating Authentication Data
00:00:00.003 GENERIC P33504 T28872 2025-01-21 09:21:37.053: Key: RND.IFD
                                                            54 1c 6e a4 ed 04 db 32                         T.n....2
00:00:00.003 GENERIC P33504 T28872 2025-01-21 09:21:37.053: Key: RND.ICC
                                                            be b7 d0 96 22 c8 d9 08                         ...."...
00:00:00.003 GENERIC P33504 T28872 2025-01-21 09:21:37.053: Key: KIFD
                                                            54 1c 6e a4 ed 04 db 32 07 af 2f 77 b2 7c 9c f1 T.n....2../w.|..
00:00:00.003 GENERIC P33504 T28872 2025-01-21 09:21:37.053: Key: S
                                                            54 1c 6e a4 ed 04 db 32 be b7 d0 96 22 c8 d9 08 T.n....2...."...
                                                            54 1c 6e a4 ed 04 db 32 07 af 2f 77 b2 7c 9c f1 T.n....2../w.|..
00:00:00.003 GENERIC P33504 T28872 2025-01-21 09:21:37.053: Key: E[KENC](S)
                                                            98 49 78 ba ee db 6f 06 dd f4 07 b9 91 f9 11 27 .Ix...o........'
                                                            ac e6 36 d2 c3 d5 b6 08 15 31 35 f2 8b 3a 73 bb ..6......15..:s.
00:00:00.003 GENERIC P33504 T28872 2025-01-21 09:21:37.053: Key: MAC[KMAC](E[KENC](S))
                                                            9a 36 34 b6 03 c7 e1 39                         .64....9
00:00:00.003 GENERIC P33504 T28872 2025-01-21 09:21:37.053: Key: RetailMac
                                                            01 0c 8f 10 ec af ab 15                         ........
00:00:00.004 GENERIC P33504 T28872 2025-01-21 09:21:37.054: Key: Command Data
                                                            98 49 78 ba ee db 6f 06 dd f4 07 b9 91 f9 11 27 .Ix...o........'
                                                            ac e6 36 d2 c3 d5 b6 08 15 31 35 f2 8b 3a 73 bb ..6......15..:s.
                                                            01 0c 8f 10 ec af ab 15                         ........
00:00:00.004 GENERIC P33504 T28872 2025-01-21 09:21:37.054: APDU: Mutual Authenticate - Start
00:00:00.004 GENERIC P33504 T28872 2025-01-21 09:21:37.054: APDU: Request
                                                            00 82 00 00 28 98 49 78 ba ee db 6f 06 dd f4 07 ....(.Ix...o....
                                                            b9 91 f9 11 27 ac e6 36 d2 c3 d5 b6 08 15 31 35 ....'..6......15
                                                            f2 8b 3a 73 bb 01 0c 8f 10 ec af ab 15 00       ..:s..........
00:00:00.006 GENERIC P33504 T28872 2025-01-21 09:21:37.056: APDU: Response
                                                            42 b3 fe 38 b5 39 ed 9b 20 8b eb 69 91 1d 07 12 B..8.9.. ..i....
                                                            b1 80 45 04 87 44 c0 cd 22 cc f4 8a a7 9e 7f 68 ..E..D.."......h
                                                            05 a1 94 e1 a7 73 62 b2 90 00                   .....sb...
00:00:00.006 GENERIC P33504 T28872 2025-01-21 09:21:37.056: APDU: Mutual Authenticate - End
00:00:00.006 GENERIC P33504 T28872 2025-01-21 09:21:37.056: Operations: Passport::calculateAuthenticationData - Calculating Authentication Data
00:00:00.006 GENERIC P33504 T28872 2025-01-21 09:21:37.056: Key: RND.IFD
                                                            be b7 d0 96 22 c8 d9 08                         ...."...
00:00:00.006 GENERIC P33504 T28872 2025-01-21 09:21:37.056: Key: RND.ICC
                                                            54 1c 6e a4 ed 04 db 32                         T.n....2
00:00:00.006 GENERIC P33504 T28872 2025-01-21 09:21:37.056: Key: KIFD
                                                            6c 44 50 08 6b c2 4e 31 33 18 ba 63 a2 ec 32 00 lDP.k.N13..c..2.
00:00:00.006 GENERIC P33504 T28872 2025-01-21 09:21:37.056: Key: S
                                                            be b7 d0 96 22 c8 d9 08 54 1c 6e a4 ed 04 db 32 ...."...T.n....2
                                                            6c 44 50 08 6b c2 4e 31 33 18 ba 63 a2 ec 32 00 lDP.k.N13..c..2.
00:00:00.006 GENERIC P33504 T28872 2025-01-21 09:21:37.056: Key: E[KENC](S)
                                                            42 b3 fe 38 b5 39 ed 9b 20 8b eb 69 91 1d 07 12 B..8.9.. ..i....
                                                            b1 80 45 04 87 44 c0 cd 22 cc f4 8a a7 9e 7f 68 ..E..D.."......h
00:00:00.006 GENERIC P33504 T28872 2025-01-21 09:21:37.056: Key: MAC[KMAC](E[KENC](S))
                                                            ee 40 a2 86 1e 64 ba ab                         [email protected]..
00:00:00.006 GENERIC P33504 T28872 2025-01-21 09:21:37.056: Key: RetailMac
                                                            05 a1 94 e1 a7 73 62 b2                         .....sb.
00:00:00.006 GENERIC P33504 T28872 2025-01-21 09:21:37.056: Key: Command Data
                                                            42 b3 fe 38 b5 39 ed 9b 20 8b eb 69 91 1d 07 12 B..8.9.. ..i....
                                                            b1 80 45 04 87 44 c0 cd 22 cc f4 8a a7 9e 7f 68 ..E..D.."......h
                                                            05 a1 94 e1 a7 73 62 b2                         .....sb.
00:00:00.006 GENERIC P33504 T28872 2025-01-21 09:21:37.056: Key: KENC derived
                                                            ec 00 05 d7 d0 ba 89 14 d6 a0 24 f2 0a 31 4d c6 ..........$..1M.
00:00:00.006 GENERIC P33504 T28872 2025-01-21 09:21:37.056: Key: KMAC derived
                                                            36 12 23 a7 49 e1 7c 78 1c 4c f9 ef c0 15 ac d9 6.#.I.|x.L......
00:00:00.006 GENERIC P33504 T28872 2025-01-21 09:21:37.056: Protocol: BAC - End
00:00:00.006 INFO    P33504 T28872 2025-01-21 09:21:37.056: BAC processing time 00:00:00.006
00:00:00.006 NOTICE  P33504 T28872 2025-01-21 09:21:37.056: Reading file EF.COM in application ePassport
00:00:00.006 GENERIC P33504 T28872 2025-01-21 09:21:37.056: ReadData: EF.COM - Start
00:00:00.006 GENERIC P33504 T28872 2025-01-21 09:21:37.056: APDU: Select File - Start
00:00:00.006 GENERIC P33504 T28872 2025-01-21 09:21:37.056: APDU: Request
                                                            00 a4 02 0c 02 01 1e                            .......
00:00:00.006 GENERIC P33504 T28872 2025-01-21 09:21:37.056: APDU: SMRequest - 22C8D908ED04DB33
                                                            0c a4 02 0c 15 87 09 01 07 9e ab a7 81 6b fe ba .............k..
                                                            8e 08 da 29 de b4 ac a8 ba 06 00                ...).......
00:00:00.008 GENERIC P33504 T28872 2025-01-21 09:21:37.058: APDU: Response
                                                            69 88                                           i.
00:00:00.008 GENERIC P33504 T28872 2025-01-21 09:21:37.058: Error: General - PassportAPIException:8 - The passport returned an error.  Error code: 6988
00:00:00.008 GENERIC P33504 T28872 2025-01-21 09:21:37.058: APDU: Select File - End
00:00:00.008 GENERIC P33504 T28872 2025-01-21 09:21:37.058: ReadData: EF.COM - End
00:00:00.008 ERROR   P33504 T28872 2025-01-21 09:21:37.058: Error reading file from card: The passport returned an error.  Error code: 6988
00:00:00.008 ERROR   P33504 T28872 2025-01-21 09:21:37.058: The passport returned an error.  Error code: 6988
00:00:00.008 INFO    P33504 T28872 2025-01-21 09:21:37.058: ePassportApplication reading time 00:00:00.008
@tzippy84 tzippy84 changed the title Virtual ePass not readable with Golden Reader Tool or any other Virtual ePass not readable with Golden Reader Tool (EF.COM missing) Jan 21, 2025
@frankmorgner
Copy link
Owner

Sorry, we don't have a license for that tool and never tested with it.

You can easily add more files if needed in the source code during card generation, if you want to:
https://github.com/frankmorgner/vsmartcard/blob/master/virtualsmartcard/src/vpicc/virtualsmartcard/CardGenerator.py#L72

@tzippy84
Copy link
Author

tzippy84 commented Jan 22, 2025

I was just using the 60 day trial version of the tool :-)
Can you tell me what tool you used to read the ePassport from the simulator?
According to ICAO Doc9303, EF.COM is mandatory in an ePassport, but I will try to add it manually then.

@frankmorgner
Copy link
Owner

I believe we used this tool https://github.com/henryk/cyberflex-shell/, but other FOSS tools for passports (without a a focus on the strict requirements) may work as well

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants