2011-01-07 40 views
1

Ich versuche, eine einfache Javacard-App zu schreiben, mit der Sie die Karten GUID/UUID mit einem einfachen APDU-Befehl lesen können.Java-Kartenfunktion, um eine Smartcard GUID/UUID zu erhalten?

Wie ich verstanden habe, enthält jede Chipkarte eine GUID, die einzigartig für die Karte ist. Diese GUID sollte mit einem Standard-APDU-Befehl abgerufen werden können.

Weiß jemand, wie man das macht? Maby haben Beispielprojekte oder sogar nur eine Java-Funktion, die das tut?

Mit freundlichen Grüßen

A. E

+1

ich dies für Omnikey Karten auf die HID-Website gefunden . Die gelesene UID (der PC/SC-Befehl für GET UID ist 0xFF 0xCA 0x00 0x00 0x00). http://www.hidglobal.com/faqs.php?techCat=19 –

+0

Das wären Omnikey Leser statt Omnikey Karten. Viele Leser unterstützen spezielle APDUs, die nicht an die Karte weitergeleitet werden. – martijno

Antwort

0

AFAIK GUID/UUID ist kein Standard-Karteninstanz Identifikation bedeuten für jede Smartcard-Produkt anwendbar. Zum Beispiel werden SIM-Karten eher anhand des Inhalts einer Datei EF_ICCID (ICC-Identifikation) (ETSI TS 102 221 V6.15.0 (2010-02)) identifiziert, so dass Sie sie durch normale UICC-Dateizugriffs-APIs bekommen können. Der ATR wird für die Kartentypidentifikation (ISO/IEC 7816-4) verwendet. Die GUID/UUID-Präsenz auf der Karte ist spezifisch für einige Smartcard-Hersteller/Produkte oder Smartcard-Anwendungen.

Also für GUID/UUID sollten Sie mindestens das Produkt und das Herstellerdokument identifizieren oder jemand, der mit dieser bestimmten Karte arbeitet, kann Ihnen antworten, wenn diese Informationen abrufbar sind und wie (mit Standard-APIs - zB wenn es in einem EF- gespeichert ist) oder proprietär) von einem Applet.

Von der Terminalseite aus erfolgt dies normalerweise mit SELECT/READ * oder GET DATA APDUs nach einigen Sicherheitsüberprüfungen.

0

GUID ist nicht erforderlich, um eine Smartcard-ID zu sein. Tatsächlich könnte es keine eindeutige Kennung in einer Chipkarte geben. GUID ist immer das Ergebnis einer benutzerdefinierten Implementierung, z. B. die GUID-Nummer in einer schreibgeschützten Datei speichern.

Ich bin nicht sicher, ob die Klasse Byte 0xFF, GSM ist A0, 00/8X für UICC verwendet wird, wird 8X für GP verwendet, IN CA ist in der Regel GETDATA