Full paper (pdf) - CDC
Full paper (pdf) - CDC
Full paper (pdf) - CDC
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
KeyStore der KeyStore eignet sich zur sicheren Aufbewahrung kryptographischer<br />
Schlüssel. Die Integrität des Speichers sowie jeder einzelne Schlüssel<br />
werden durch Paßworte gesichert. Die Art der Speicherung ist je nach<br />
Implementierung unterschiedlich. Sun liefert eine proprietäte dateibasierte<br />
Implementierung, den Java KeyStore (JKS). Andere Möglichkeiten sind<br />
PKCS12 oder Chipkarten.<br />
5.1.2 Zertifikate<br />
Um Public-Key-Kryptographie sinnvoll betreiben zu können, ist der Umgang<br />
mit Zertifikaten unerläßlich. Diese beinhaltet die Möglichkeit, die binär kodierten<br />
Zertifikate einlesen und auswerten zu können, also öffentliche Schlüssel zu<br />
entnehmen, Signaturen zu prüfen, Aussteller zu identifizieren und Zertifikatsinhalte<br />
(Erweiterungen und Einschränkungen) zu behandeln.<br />
Certificate diese Basisklasse stellt ein Public-Key-Zertifikat dar.<br />
X509Certificate als Erweiterung von Certificate handelt es sich hierbei um<br />
ein Zertifikat nach dem X.509-Standard. Es gibt unter anderem Methoden<br />
um den Inhaber und seinen öffentlichen Schlüssel, den Aussteller oder den<br />
Gültigkeitszeitraum zu erfahren, sowie um die Signatur zu prüfen (hierzu<br />
muß der öffentliche Schlüssel des Ausstellers vorliegen).<br />
CRL diese Klasse repräsentiert eine Revokationsliste (certificate revocation list).<br />
Hier sind Zertifikate aufgeführt, die für ungültig erklärt wurden. Es gibt<br />
auch eine Unterklasse für X.509-Revokationslisten.<br />
CertificateFactory eine CertificateFactory erzeugt Certificate-Instanzen<br />
aus Eingabeströmen, zum Beispiel aus Dateien.<br />
KeyStore neben der Speicherung von Schlüsseln dient ein KeyStore auch dazu,<br />
vertrauenswürdige Zertifikate abzulegen, anhand derer Signaturen auf<br />
Benutzerzertifikaten überprüft werden sollen. Durch das Integritätspaßwort<br />
wird sichergestellt, daß nicht unbemerkt Zertifikate entfernt oder<br />
installiert werden können.<br />
5.1.3 Algorithmen<br />
Für die verschiedenen kryptographischen Operationen sind jeweils eigene Klassen<br />
vorgesehen, die vom Programmierer mit einer getInstance()-Methode aktiviert<br />
werden können. Die Implementierung wird dabei erst zur Laufzeit ausgewählt<br />
und dynamisch geladen. Auf diese Weise wird eine Java-Anwendung<br />
von den unterschiedlichen Algorithmen und den Bibliotheken, in denen diese<br />
bereit gestellt werden, entkoppelt. Beispielsweise wird eine MD5withRSA-<br />
Signatur gemäß JCA wie folgt erzeugt:<br />
Signature signer = Signature.getInstance("MD5withRSA");<br />
signer.initSign((PrivateKey)privateKey);<br />
signer.update((byte[]) message);<br />
byte[] signature = signer.sign();<br />
46