04.02.2013 Aufrufe

Full paper (pdf) - CDC

Full paper (pdf) - CDC

Full paper (pdf) - CDC

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.

daß die einzelnen Algorithmen von verschiedenen Anbietern (Provider) implementiert<br />

werden können, die Verwaltung der verschiedenen (auch gleichzeitig<br />

installierten) Provider für den Anwender jedoch transparent, auf dessen Wunsch<br />

aber auch zur Laufzeit beeinflußbar ist. Da wir Teile unserer Implementierung<br />

über JCA anbieten, ist ein Grundverständnis der Konzepte von JCA notwendig,<br />

so daß wir an dieser Stelle einen kurzen Überblick geben wollen. Zur Vertiefung<br />

sei auf die Literatur [Oak98] und die Internetseiten von Sun Microsystems verwiesen.<br />

Ein Teil der JCA-Klassen wird auch als Java Cryptography Extension (JCE)<br />

bezeichnet. Im Gegensatz zu den übrigen JCA-Klassen, die sich in den java.security-<br />

Paketen befinden, liegen die JCE-Klassen in javax.crypto-Paketen. Diese Aufteilung<br />

war aufgrund von mittlerweile gelockerten Exportvorschriften der US-<br />

Regierung notwendig, ist dann aber hinfällig geworden, so daß auch JCE inzwischen<br />

zum Standardumfang der Laufzeitumgebung gehört. Wir werden im<br />

folgenden nicht zwischen JCA und JCE unterscheiden.<br />

5.1.1 Schlüssel<br />

JCA modelliert private, öffentliche und symmetrische Schlüssel und bietet Klassen<br />

zu deren Erzeugung, Konvertierung und Speicherung an.<br />

Key diese Schnittstelle gruppiert alle kryptographischen Schlüssel. Sie schreibt<br />

lediglich vor, daß ein Schlüssel einem Algorithmus zugeordnet wird und<br />

eine Binärkodierung unterstützen sollte.<br />

PrivateKey diese Schnittstelle ohne Methoden dient nur zur typsicheren Unterscheidung<br />

von öffentlichen und privaten Schlüsseln.<br />

PublicKey diese Schnittstelle ohne Methoden dient nur zur typsicheren Unterscheidung<br />

von öffentlichen und privaten Schlüsseln.<br />

KeyPair diese Klasse faßt einen PrivateKey und einen PublicKey zu einem<br />

Schlüsselpaar zusammen.<br />

SecretKey diese Schnittstelle ohne Methoden dient nur zur typsicheren Identifikation<br />

eines symmetrischen Schlüssels.<br />

KeySpec zusätzlich zu den Key-Klassen gibt es noch die KeySpec-Klassen, die<br />

beschreibende Informationen über einen Schlüssel enthalten, anhand derer<br />

eine Key-Instanz erzeugt werden kann. Dabei kann es sich um binäre Beschreibungen<br />

(wie PKCS8) handeln oder auch um algorithmenabhängige<br />

offene Beschreibungen, etwa zwei BigInteger-Werte e und N zur Spezifikation<br />

eines öffentlichen RSA-Schlüssels.<br />

KeyPairGenerator ein KeyPairGenerator erzeugt ein neues Schlüsselpaar (KeyPair).<br />

KeyFactory eine KeyFactory transformiert Schlüsselbeschreibungen (etwa Binärformate)<br />

in Key-Instanzen.<br />

45

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!