Full paper (pdf) - CDC
Full paper (pdf) - CDC
Full paper (pdf) - CDC
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