Uso lo gpj
strumento per comunicare con il mio lettore di smart card. Funziona bene Ad esempio, quando voglio elencare le applet che risiedono sulla mia carta, utilizzo il parametro -list
e ho il seguente risultato:
E:\RCII Projects Data\Smart Card\SOFT\gpj>gpj -list
E:\RCII Projects Data\Smart Card\SOFT\gpj>java -jar gpj.jar -list
Found terminals: [PC/SC terminal ACS CCID USB Reader 0]
Found card in terminal: ACS CCID USB Reader 0
ATR: 3B xx xx xx xx xx xx xx xx xx 90 00
DEBUG: Command APDU: 00 A4 04 00 08 A0 00 00 00 03 00 00 00
DEBUG: Response APDU: 6F 10 84 08 A0 00 00 00 03 00 00 00 xx xx xx xx xx xx 90 0
0
Successfully selected Security Domain OP201a A0 00 00 00 03 00 00 00
DEBUG: Command APDU: 80 50 00 00 08 81 E1 03 49 80 01 86 FC
DEBUG: Response APDU: 00 00 11 60 00 09 9A 5A 0A F9 FF 02 00 20 BA 9A 16 94 77 B
9 C6 B7 0D EF EC 38 1F 68 90 00
DEBUG: Command APDU: 84 82 00 00 10 87 4A F3 C5 41 32 09 8F 44 EB 45 43 37 DC 5
6 91
DEBUG: Response APDU: 90 00
DEBUG: Command APDU: 84 82 00 00 08 87 4A F3 C5 41 32 09 8F
DEBUG: Response APDU: 90 00
DEBUG: Command APDU: 80 F2 80 00 02 4F 00
DEBUG: Response APDU: 08 A0 00 00 00 03 00 00 00 01 9E 90 00
DEBUG: Command APDU: 80 F2 80 00 02 4F 00
DEBUG: Response APDU: 08 A0 00 00 00 03 00 00 00 01 9E 90 00
DEBUG: Command APDU: 80 F2 40 00 02 4F 00
DEBUG: Response APDU: 06 xx xx xx xx xx xx xx 00 0E 63 61 6C 63 75 6C 61 74 6F 7
2 2E 61 70 70 07 00 xx xx xx xx xx xx xx xx xx 11 11 07 00 90 00
DEBUG: Command APDU: 80 F2 40 00 02 4F 00
DEBUG: Response APDU: 06 xx xx xx xx xx xx xx xx xx xx 63 75 6C 61 74 6F 7
2 2E 61 70 70 07 xx xx xx xx xx xx xx xx xx 08 09 11 11 07 00 90 00
DEBUG: Command APDU: 80 F2 10 00 02 4F 00
DEBUG: Response APDU: 6A 81
DEBUG: Command APDU: 80 F2 10 00 02 4F 00
DEBUG: Response APDU: 6A 81
DEBUG: Command APDU: 80 F2 20 00 02 4F 00
DEBUG: Response APDU: 07 A0 00 00 00 03 xx xx xx xx xx xx xx xx xx 03 10 01 00 0
5 31 50 41 59 2E 01 00 08 Dxx xx xx xx xx xx xx xx xx 00 08 D4 10 65 09 90 00 30
xx xx xx xx xx xx xx xx xx 00 05 D4 10 65 xx xx xx xx xx xx xx xx xx 00 04 10 01
00 06 xx xx xx xx xx xx xx xx xx0 00 00 00 xx xx xx xx xx xx xx xx xx 55 0
1 00 xx xx xx xx xx xx xx xx xx 2E 70 xx xx xx xx xx xx xx xx xx 05 06
07 08 09 11 01 00 90 00
DEBUG: Command APDU: 80 F2 20 00 02 4F 00
DEBUG: Response APDU: 07 A0 00 00 00 03 53 50 01 00 xx xx xx xx xx xx xx xx xx 0
5 31 50 41 59 2E 01 xx xx xx xx xx xx xx xx xx 08 D4 10 65 09 90 00 30
00 01 00 05 D4 10 xx xx xx xx xx xx xx xx xx 00 00 00 04 10 01
00 06 xx xx xx xx xx xx xx xx xx 00 03 86 xx xx xx xx xx xx xx xx xx 0
1 00 xx xx xx xx xx xx xx xx xx 6B xx xx xx xx xx xx xx xx xx 06
07 08 09 11 01 00 90 00
AID: xx xx xx xx xx xx xx xx xx |........| ISD LC: 1 P
R: 0x9E
AID: xx xx xx xx xx xx xx xx xx |."3DUf| App LC: 7 P
R: 0x00
AID: 63 61 6C 63 75 6C 61 74 6F 72 2E 61 70 70 |calculator.app| App LC: 7 P
R: 0x00
AID: xx xx xx xx xx xx xx xx xx |...........| App LC: 7 P
R: 0x00
AID: xx xx xx xx xx xx xx xx xx |.....SP| Exe LC: 1 P
R: 0x00
AID: xx xx xx xx xx xx xx xx xx |......| Exe LC: 1 P
R: 0x00
AID: xx xx xx xx xx xx xx xx xx |1PAY.| Exe LC: 1 P
R: 0x00
AID: xx xx xx xx xx xx xx xx xx |..e.....| Exe LC: 1 P
R: 0x00
AID: xx xx xx xx xx xx xx xx xx |..e...0.| Exe LC: 1 P
R: 0x00
AID: xx xx xx xx xx xx xx xx xx |..e..| Exe LC: 1 P
R: 0x00
AID: xx xx xx xx xx xx xx xx xx |..e.0| Exe LC: 1 P
R: 0x00
AID: xx xx xx xx xx xx xx xx xx |......| Exe LC: 1 P
R: 0x00
AID: xx xx xx xx xx xx xx xx xx |....3.| Exe LC: 1 P
R: 0x00
AID: xx xx xx xx xx xx xx xx xx |.......| Exe LC: 1 P
R: 0x00
AID: xx xx xx xx xx xx xx xx xx |."3DU| Exe LC: 1 P
R: 0x00
AID: xx xx xx xx xx xx xx xx xx 70 61 63 6B |calculator.pack| Exe LC: 1 P
R: 0x00
AID: xx xx xx xx xx xx xx xx xx 09 11 |..........| Exe LC: 1 P
R: 0x00
Nota: AIUTI mascherati deliberatamente.
Come vedi sopra ho inserito la gpj
cartella in questo indirizzo:E:\RCII Projects Data\Smart Card\SOFT\gpj
Come volevo avere gpj
come comando cmd ovunque nella riga di comando, ho aggiunto il suo percorso alle variabili di ambiente PATH.
Ora, quando provo a elencare le applet, ricevo l'output di seguito. Perché?
D:\>gpj -list
D:\>java -jar gpj.jar -list
Error: Unable to access jarfile gpj.jar
D:\>
Perché ricevo l'errore? (In esecuzione come amministratore già verificato e non ha funzionato.)
Nota che, funziona ancora bene nella sua directory.