01.01.2013 Aufrufe

Implementierung des Austausches kryptographischer Komponenten ...

Implementierung des Austausches kryptographischer Komponenten ...

Implementierung des Austausches kryptographischer Komponenten ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Austausch der kryptographischen <strong>Komponenten</strong> 42<br />

5.5 Die Klasse CardUpdateGemPlus.<br />

Diese Klasse implementiert den <strong>Komponenten</strong>austausch auf der GemPlus Java Card. Als solche<br />

implementiert diese Klasse das Java Interface CardUpdate. Dieses Interface enthält drei Methoden:<br />

initialize() – initialisiert das Kartensystem.<br />

delete() – löscht die in CardUpdateComponent angegebenen alten Kartenkomponenten.<br />

install() – installiert die neuen Kartenkomponenten, die in CardUpdateComponent spezifiziert sind.<br />

GemPlus 2.4 Java Card Software ist völlig mit Java Card 2.1 und Open Platform 2.0 Standards<br />

kompatibel und benutzt Open Card Framework (OCF) für Kommunikation mit Kartenleser oder<br />

Kartenlesersimulator. Die Initialisierung <strong>des</strong> Kartensystems sieht dann folgendermaßen aus:<br />

// start the OCF layer<br />

SmartCard.start();<br />

..................………..<br />

// select the target specific CardTerminal<br />

terminal = CardTerminalRegistry.getRegistry().cardTerminalForName(target);<br />

// create a new card request object<br />

CardRequest cr = new CardRequest();<br />

// set a specific card terminal to the request<br />

cr.setCardTerminal(terminal);<br />

…………………………………….<br />

// wait for card insertion<br />

SmartCard sc = SmartCard.waitForCard(cr);<br />

// get the OP/VOP specific CardService<br />

serv = (CardServiceVOP211)<br />

sc.getCardService(CardServiceVOP211.class, true);<br />

………………………………………………<br />

// service authentication object creation<br />

authenticationInput = new VOPAuthenticationInput();<br />

…………………………………………………………<br />

// process mutual authentication<br />

// initialize/update and external/authenticate are done<br />

Result result = serv.openSecureChanel(authenticationInput);<br />

…………………………….. ……………………………….<br />

………………………………………………………………<br />

Für die <strong>Implementierung</strong> von delete und install Methoden werden spezifische Klassen der GemPlus<br />

benutzt. Diese Methodenimplementierungen sind für verschiedene Karten unterschiedlich.<br />

Für delete() Methode müssen in CardUpdateComponent Applet Bezeichnung (Englisch Applet<br />

Identifier oder kurz AID) und Packet Bezeichnung (Englisch Package Identifier oder kurz PID)<br />

angegeben werden. Dann werden die beiden Elemente von der Karte gelöscht.<br />

Für install() Methode werden in CarUpdateComponent neben den Informationen über die neue<br />

Kartenkomponente wie der Name der Datei für die neue Komponente, ihre PID und AID, auch binäre<br />

Code der neuen Komponente enthalten. Dieser Code wird durch GemPlus Software geeignet<br />

interpretiert und blockweise auf die Karte geladen.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!