martinpaljak / GlobalPlatformPro

🌐 🔐 Manage applets and keys on JavaCard-s like a pro (via command line or from your Java project)
https://javacard.pro/globalplatform
GNU Lesser General Public License v3.0
679 stars 212 forks source link

JCOP4 Support #221

Closed kategray closed 4 years ago

kategray commented 4 years ago

Describe the bug

Attempting to use GlobalPlatform Pro with JCOP 4 cards, I get "not supported" errors.

Information about your card

JCOP 4 card provided by CardLogix.

https://smartcard-atr.apdu.fr/parse?ATR=3b+d5+18+ff+81+91+fe+1f++c3+80+73+c8+21+10+0a

Expected behavior

gp --info would support the card

Full log


C:\Kate\JavaCard>gp --info -v -d -i
SCardConnect("Identiv SCR3500 A Contact Reader 0", T=*) -> T=1, 3BD518FF8191FE1FC38073C821100A
GlobalPlatformPro v20.04.14-0-geaee04c
Running on Windows 10 10.0 amd64, Java 1.8.0_251 by Oracle Corporation
A>> T=1 (4+0000) 00A40400 00
A<< (0018+2) (20ms) 6F108408A000000151000000A5049F6501FF 9000
A>> T=1 (4+0000) 80CA9F7F 00
A<< (0045+2) (13ms) 9F7F2A4790D32147000000000083456E6E6E50524300000000000000005758594E4E4E4E4E0000000000000000 9000
[main] WARN pro.javacard.gp.GPData - Invalid CPLC date: 594E
CPLC: ICFabricator=4790
      ICType=D321
      OperatingSystemID=4700
      OperatingSystemReleaseDate=0000 (2010-01-01)
      OperatingSystemReleaseLevel=0000
      ICFabricationDate=8345 (2018-12-11)
      ICSerialNumber=6E6E6E50
      ICBatchIdentifier=5243
      ICModuleFabricator=0000
      ICModulePackagingDate=0000 (2010-01-01)
      ICCManufacturer=0000
      ICEmbeddingDate=0000 (2010-01-01)
      ICPrePersonalizer=5758
      ICPrePersonalizationEquipmentDate=594E (invalid date format)
      ICPrePersonalizationEquipmentID=4E4E4E4E
      ICPersonalizer=0000
      ICPersonalizationDate=0000 (2010-01-01)
      ICPersonalizationEquipmentID=00000000

A>> T=1 (4+0000) 80CA0042 00
A<< (0000+2) (8ms) 6982
[main] WARN pro.javacard.gp.GPData - GET DATA(IIN) not supported
A>> T=1 (4+0000) 80CA0045 00
A<< (0000+2) (8ms) 6982
[main] WARN pro.javacard.gp.GPData - GET DATA(CIN) not supported
Card Data:
A>> T=1 (4+0000) 80CA0066 00
A<< (0000+2) (8ms) 6982
[main] WARN pro.javacard.gp.GPData - GET DATA(Card Data) not supported
Card Capabilities:
A>> T=1 (4+0000) 80CA0067 00
A<< (0000+2) (7ms) 6982
[main] WARN pro.javacard.gp.GPData - GET DATA(Card Capabilities) not supported
A>> T=1 (4+0000) 80CA00E0 00
A<< (0000+2) (9ms) 6982
[main] WARN pro.javacard.gp.GPData - GET DATA(Key Info Template) not supported```
mhardeman commented 4 years ago

I'm using GlobalPlatformPro with some JCOP 4 products. The errors that you are getting make me wonder if the card is still "Locked for transport".

If you don't already have it, you may need to request the transport key from CardLogix or NXP. If you do have it, authenticate to the ISD with it.

martinpaljak commented 4 years ago

Yep, just tried as well with a jcop4, and all works as expected.

kategray commented 4 years ago

@mhardeman I will follow up with the vendor. Thank you for the suggestion.