SSL-Funktionalität im JDK 1.3

Um einen Provider für den oben geschilderten Zweck verwenden zu können, muss dieser registriert werden. Diese Registrierung kann statisch oder dynamisch erfolgen. Zur statischen Registrierung können Sie die Datei mit den Sicherheitseigenschaften (java.security) bearbeiten. Allerdings schränkt dieses Verfahren die Flexibilität der Verwendung ein. Ich empfehle die Nutzung der dynamischen Registrierung, wie im oben stehenden Code gezeigt. Dadurch wird der Standard-Provider (SunJSSE) dynamisch in Laufzeit hinzugefügt und ist nicht permanent.

Listing A erstellt ein serverseitiges Socket mithilfe einer Server Socket Factory, die einen Port an das Socket (sowie an die lokale IP im Hintergrund) bindet und unterstützte Cipher-Suites ermöglicht.

Anders als ein allgemeines Server-Socket muss ein SSL-Server-Socket aufgrund seiner Komplexität durch sein Factory-Objekt erstellt werden. Die standardmäßige Factory kann von Benutzern aus den USA oder Kanada durch Ändern des Werts für ssl.ServerSocketFactory.provider in der Eigenschaftendatei java.security variiert werden. Alle anderen Benutzer sollten die ursprüngliche Implementierung beibehalten, da es andernfalls zu einer Runtime Exception kommt.

Wie oben bereits erwähnt ist SSLSocket eine Unterklasse von Socket und SSLServerSocket eine Unterklasse von ServerSocket. Diese Hierarchie ist durchaus sinnvoll, da SSL auf dem TCP aufbaut. Ein Socket ist an eine Portnummer gebunden, so dass das TCP den Prozess identifizieren kann, an den bestimmte Daten gesendet werden sollen.

Die letzte Anweisung in Listing A erstellt eine Liste unterstützter Cipher-Suites. Die Cipher-Suites stellen eine Gruppe variierter Verschlüsselungsalgorithmen dar, die zur Authentifizierung zwischen dem Server und dem Client, zur Übermittlung von Zertifikaten und zum Erstellen von Sitzungsschlüsseln eingesetzt werden. Wenn ein Client eine Verbindung zu einem Server anfordert, tauschen die beiden Übertragungsenden Daten aus um sich auf einen von beiden unterstützten Cipher zu einigen.


Der oben stehende Code-Ausschnitt ermöglicht dem Server-Socket das Abhören einer Verbindung. Wenn eine Verbindungsanfrage eingeht, wird das Socket nach einem ordnungsgemäßen SSL-Handshake die Verbindung genehmigen.

Schlussbemerkung

Sie haben hier erfahren, wie Sie die JSSE installieren und den serverseitigen Code einrichten können. In meinem nächsten Artikel werde ich die clientseitigen Konfigurationen erläutern, die Sie vornehmen müssen, bevor Sie Ihre Java-SSL-Anwendung starten können.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu SSL-Funktionalität im JDK 1.3

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *