next up previous contents
Nächste Seite: 7.6 Laufzeitumgebung für Agenteninstanzen Aufwärts: 7. Realisierung Vorherige Seite: 7.4 Code Repositories   Inhalt

Unterabschnitte

7.5 Authentisierung, Schlüssel- und Zertifikathandhabung

7.5.1 Standalone Tool masa_keytool

Abbildung 7.3: GUI von masa_keytool
\begin{figure}
\centering\includegraphics [width=1.0\textwidth]{masatool}\end{figure}

Um in der Entwicklungs- und Testphase auf einfache Weise, ohne komplette Zertifizierungshierarchie, Zertifikatketten für Authorities (vgl. 5.5.4) ``out of band'' erstellen zu können, wurde das masa_keytool implementiert. Mit diesem Werkzeug ist es möglich, mittels einer GUI (Abbildung 7.3), interaktiv Zertifikatketten zu erstellen.

Dabei werden, neben einigen X.509v3 Standard Extensions, auch die proprietären Netscape Extensions unterstützt, die benötigt werden, um die generierten Zertifikate mit Netscape Webbrowsern verwenden zu können7.4. Die Unterstützung der diversen Extensions ermöglicht masa_keytool die Generierung von Root CA, Sublevel CA und User Zertifikaten.

Abgespeichert werden die generierten Zertifikate im PKCS#12 Format, das von allen gängigen Browsern importiert werden kann.

7.5.2 Klasse AgentSystemCertManager

Die Klasse agentSystem.AgentSystemCertManager realisiert die in Kap. 6.5 beschriebenen Certificate Manager des Agentensystems. Konkret sind in dieser Klasse Methoden für die folgenden Aufgaben enthalten:

Für die Zertifikatüberprüfung ist momentan noch keine Authentication Policy implementiert.

7.5.3 Asynchrone Schlüsselerzeugung

Bei der Erzeugung eines neuen Zertifikats ist die Generierung des Schlüsselpaares ein sehr rechenintensiver und damit auch zeitraubender Vorgang. Um eine Verzögerung bei der Erstellung einer neuen Agenteninstanz, verursacht durch die Erzeugung des Sitzungszertifikats, zu vermeiden, wurde die Klasse agentSystem.AgentSystemKeyCache implementiert. Sie erzeugt mit dem Start des Agentensystems neue Schlüsselpaare auf Vorrat.

Hierzu wird ein niedrig priorisierter Thread gestartet, der asynchron zur Klasse agentSystem.AgentSystemCertManager solange neue Schlüsselpaare generiert, bis eine (konfigurierbare) Anzahl von Schlüsseln auf Vorrat in einem Cache bereitstehen. Die Klasse agentSystem.AgentSystemCertManager holt dann bei Bedarf ein neues Schlüsselpaar von agentSystem.AgentSystemKeyCache ab und kann damit unmittelbar ein neues Sitzungszertifikat ausstellen. Nachdem ein Schlüsselpaar aus dem Cache entnommen wurde, wird dieser durch den Berechnungsthread wieder aufgefüllt. Stehen keine Schlüsselpaare mehr im Cache zur Verfügung, blockiert der Aufruf zum Abholen eines neuen Schlüsselpaares, bis ein neues erzeugt worden ist.



Fußnoten

...onnen7.4
Erfolgreich getestete Versionen: Navigator 4.06 und 4.07, Communicator 4.5x und 4.6x

next up previous contents
Nächste Seite: 7.6 Laufzeitumgebung für Agenteninstanzen Aufwärts: 7. Realisierung Vorherige Seite: 7.4 Code Repositories   Inhalt
harald@roelle.com