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 ...
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