2017-08-07 3 views
0

Derzeit versuche ich zu lernen und zu entwickeln Sim-Karten-Anwendungen mit JCDK 3.0.4, ein Sim-Reader IDBridge CT30 und zwei verschiedene Sim-Karte ist eine sysmoSIM-SJS1-4FF und eine Taisys SIMoME und Ich verwende JavaCardOs als meine IDE und installiere das Applet auf der SIM-Karte. Allerdings habe ich ein Problem, weil, wenn ich verifiziere, ist GP Arbeit mit meiner SIM-Karte bekomme ich den nächsten Fehler "GP Verify begin ... GP Verify Fehler: GP init Update fehlgeschlagen. Recv: 6D 00". Aus diesem Grund habe ich heruntergeladen gp.exe für windows7 überprüft, wenn der Leser vom Computer erkannt wurde, und wenn ich den BefehlSim Karte vor Personalisierung Verfahren

java -jar gp.jar -i

geben bekomme ich die nächste zurück:

Reader: Gemalto USB Smart Card Reader 0 
ATR: 3B9F96801FC38031E073FA2100673101460FAC18F8FE 
More information about your card: 
http://smartcard-atr.appspot.com/parse? 
ATR=3B9F96801FC38031E073FA2100673101460FAC18F8FE 

***** Card info: 
NO CPLC 
***** CARD DATA 
NO CARD DATA 
***** KEY INFO 
[main] WARN pro.javacard.gp.GlobalPlatform - GET DATA(Key Information Template) not supported 
Exception in thread "main" java.lang.NullPointerException 
    at java.io.ByteArrayInputStream.<init>(Unknown Source) 
    at org.bouncycastle.asn1.ASN1InputStream.<init>(Unknown Source) 
    at pro.javacard.gp.GPData.get_key_template_list(GPData.java:155) 
    at 
pro.javacard.gp.GlobalPlatform.getKeyInfoTemplate(GlobalPlatform.java:369) 
    at pro.javacard.gp.GPData.print_card_info(GPData.java:318) 
    at pro.javacard.gp.GPTool.main(GPTool.java:443) 

Ich erforschte für die Antwort und nach vielen Links hieß es, dass ich einen Schlüssel (den ich überhaupt nicht kenne) setzen musste und ich fand einige Leute, die für den Gemalto Leser den folgenden Befehl verwendeten, um den Schlüssel zu setzen:

java -jar gp.jar -ldvi -sdaid A000000003000000

Nach Angaben der Post, die das Problem beheben soll und überprüft, dass es funktioniert ich den nächsten Befehl eingeben musste, um zu überprüfen, dass der Leser funktioniert perfekt:

java -jar gp.jar -l -v -d

Aber statt, bekomme ich eine Fehlermeldung „java.lang. IllegalStateException: Keine ausgewählte ISD! ", dass viele Leute im Zusammenhang mit Sim-Karte Vor-Personalisierung und es ist eine markenspezifische Sache. Ich überprüfte das Handbuch, aber es sagt nichts darüber. Kann mir jemand die SIM-Karte vor-personalisieren? Ich vermisse etwas anderes?

Vielen Dank im Voraus.

+1

Zunächst ist die AID der Sicherheitsdomäne * nicht * ein Schlüssel, es ist eine Anwendungskennung einer Anwendung auf der Karte, in diesem Fall der Kartenmanager (eine Sicherheitsdomäne oder SD, also 'sdaid'. Für spätere Karten können Sie die AID der Global Platform selbst verwenden ('A0000001510000') anstelle der älteren, die Open Platform mit VISA/Mastercard anzeigt. –

+0

Sie benötigen eine Karte mit ADM-Schlüsseln unter Hinweis auf das Handbuch: _Installieren oder/oder Java Card-Applets auf Ihrer Karte verwalten, müssen Sie eine Variante der Karte kaufen, die Ihnen die ADM-Schlüssel zur Verfügung stellt _... Viel Glück! – vlp

Antwort

0

ich gehe davon aus, dass Sie versuchen, eine Javacard als SIM-Karte in Mobiltelefon zu verwenden.

zu allererst SIM folgt einer Vielzahl von Spezifikationen, wie ETSI, 3GPP, ISO und JavaCard Spezifikationen

Der entscheidende Unterschied zwischen JavaCa rd und SIM ist das Dateisystem (und Authentifizierungsbefehle nicht zu vergessen). Jedes Mobiltelefon greift auf bestimmte Dateien zu (aber nicht darauf beschränkt) und erklärt, ob diese Karte eine SIM-Karte ist oder nicht.

Sobald das Mobiltelefon diese Dateien findet (die sich von jedem Entwickler zu einem anderen Entwickler unterscheiden), werden die verfügbaren Anwendungen mit Hilfe ihrer AIDs abgerufen, und wenn AID für USIM gefunden wird, versucht es einen anderen Satz zu finden Dateien.

Also, ich würde vorschlagen, holen Sie einen Quellcode von Android-Handy und sehen, welche alle Dinge erforderlich sind, oder möglicherweise eine SIM-Kommunikation mit dem Telefon schnüffeln und füllen Sie diese Befehle in Ihrer JavaCard.

This Android source code könnte ein guter Ausgangspunkt für Ihre Analyse sein.

Verwandte Themen