23.11.2013 Aufrufe

Dokumentation der MCard-Bibliothek 1.18.0.0 der bremen-online ...

Dokumentation der MCard-Bibliothek 1.18.0.0 der bremen-online ...

Dokumentation der MCard-Bibliothek 1.18.0.0 der bremen-online ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Handbuch Governikus - Kartenansteuerung (<strong>MCard</strong>) Version <strong>1.18.0.0</strong><br />

5 Technische Informationen zur <strong>MCard</strong><br />

Die <strong>MCard</strong> ist eine Funktionsbibliothek in <strong>der</strong> Programmiersprache Java, die die Verwendung<br />

von Kartenlesern über das OpenCard-Framework (OCF) und den Zugriff auf Signaturkarten<br />

durch einen speziellen JCE/JCA-Kryptoprovi<strong>der</strong> ermöglicht.<br />

Das OCF unterteilt sich in zwei Teile: einerseits die CardTerminal-Klassen, welche die Funktionalität<br />

des Kartenterminals in einer Java-Klasse kapseln, und an<strong>der</strong>erseits die verschiedenen<br />

CardService-Klassen, welche die unterschiedlichen Funktionen einer Chipkarte in<br />

entsprechenden Java-Klassen kapseln. OCF kennt konzeptionell schon Klasse-3-Terminals<br />

und bietet für einen Großteil <strong>der</strong> Funktionen von Chipkarten bereits vordefinierte Schnittstellen.<br />

Der Provi<strong>der</strong> ermöglicht eine einheitliche Behandlung von Signaturkarten, indem er<br />

Signatur-, Chiffrierungs- und Authentisierungsdienste zur Verfügung stellt. Der vom Provi<strong>der</strong><br />

bereitgestellte KeyStore enthält alle gefundenen Schlüssel aller erkannten Signaturkarten. Im<br />

Fall spezieller Karten ist es ggf. notwendig, den korrekten Sicherheitszustand herzustellen,<br />

damit <strong>der</strong> Schlüssel mit seinem Zertifikat durch den Provi<strong>der</strong> im KeyStore bereitgestellt werden<br />

kann.<br />

Zu diesem Zweck wird das OCF, das den Zugriff auf Kartenleser verwaltet und das Absetzen<br />

von Kommandos für Karten und Leser regelt, gekapselt. Die Benutzung des Provi<strong>der</strong>s wird<br />

ausführlich im Entwicklerhandbuch beschrieben.<br />

Jede kartenspezifische Implementierung erfolgt in einer von CardService abgeleiteten Klasse.<br />

Die Erkennung erfolgt in einer <strong>MCard</strong> spezifischen Implementierung <strong>der</strong> Klasse CardServiceFactory<br />

des OCF. Die Schnittstelle <strong>der</strong> CardService-Kartenimplementierungen enthält<br />

sowohl Funktionen zur Erkennung und Struktur einer Karte als auch die Funktionen für das<br />

Signieren, Entschlüsseln, Authentisieren, Verifizieren und Än<strong>der</strong>n einer PIN. Die OCF spezifischen<br />

Fehlermeldungen werden in den JCE/JCA-Provi<strong>der</strong>-Klassen in konforme Fehlermeldungen<br />

umgesetzt.<br />

Der PIN-Dialog wird dem Benutzer angezeigt, wenn eine PIN für einen Schlüssel eingegeben<br />

werden muss. Über die Implementierung des PIN-Dialogs kann die Kommunikation mit<br />

dem Benutzer in unterschiedlicher Weise gestaltet werden. Dies beinhaltet die Beeinflussung<br />

des Aussehens, die Anzeige von Informationen über den verwendeten Schlüssel und Eingabeauffor<strong>der</strong>ungen.<br />

Für Klasse 1-Kartenleser erfolgt über den Dialog auch die Eingabe <strong>der</strong><br />

PIN. Bei <strong>der</strong> PIN-Dialog-Schnittstelle handelt sich um ein Java-Interface, das je nach Anfor<strong>der</strong>ung<br />

zum Anzeigen einer sichtbaren Java-Komponente, wie einem JDialog, benutzt werden<br />

kann, aber auch die Steuerung über die Konsole ermöglicht. Der letzte Fall ist insbeson<strong>der</strong>e<br />

für Server interessant, die unter Umständen nur über eine Kommandozeile verfügen.<br />

Die genaue Implementierung ist im OSCI-Client-Enabler-Handbuch beschrieben.<br />

Ein Chipkartenleser ist ein Peripheriegerät. Wie bei jedem an<strong>der</strong>en Gerät wird seine Funktionalität<br />

dem PC über einen entsprechenden Treiber zur Verfügung gestellt. Hier gibt es viele<br />

unterschiedlich komplexe Treiberkonzepte, die auf unterschiedlichen Standards beruhen.<br />

Die <strong>MCard</strong> verwendet als Default den international sehr weit verbreiteten plattformunabhängigen<br />

PC/SC-Standard zur Kommunikation mit Chipkartenlesern, die in Form einer C-<br />

basierten Betriebssystemschnittstelle unter Windows, Linux und Mac OS verwendet werden<br />

kann (bei MacOS mit Einschränkungen). Die meisten für die qualifizierte elektronische Signatur<br />

in Deutschland zugelassenen Chipkartenlesegeräte verwenden PC/SC, nur einige we-<br />

27

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!