04.02.2013 Aufrufe

Full paper (pdf) - CDC

Full paper (pdf) - CDC

Full paper (pdf) - CDC

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.

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!