16.10 SLL-Verbindungen mit JSSE
Die JSSE (Java Secure Socket Extension) ist eine Java-Erweiterung zur sicheren Kommunikation im Internet. JSSE implementiert das verbreitete Protokoll SSL (Secure Sockets Layer) und TLS (Transport Layer Security) und erlaubt damit Verschlüsselung, Server-Authentifizierung und Integrität von Nachrichten. TLS ist ein Nachfolger von SLL und basiert weitestgehend darauf. Mit TLS lassen sich jedoch Verschlüsselungsverfahren flexibler auswechseln, da TLS ein echtes Transportprotokoll ist. Da SSL/TLS direkt unter dem Applikationsprotokoll sitzt, lassen sich damit Dienste wie HTTP, Telnet, NNTP oder FTS sichern. JSSE ist seit 1.4 enthalten. Ältere Installationen müssen ein optionales Paket installieren. Eine Unterstützung für 1.1/1.0 ist nicht vorgesehen. JSSE definiert das Paket javax.net und javax.net.ssl mit den wichtigen Klassen SSLSocket und SSLSocketFactory, welche im Jar-Archiv jsse.jar gebündelt sind.
Listing 16.15 SSLConnection.java
import java.io.*;
import javax.net.ssl.*;
public class SSLConnection
{
public static void main( String args[] ) throws IOException
{
int port = 1234;
String hostName = "HostName";
SSLSocketFactory sslFact = (SSLSocketFactory)SSLSocketFactory.getDefault();
SSLSocket socket = (SSLSocket)sslFact.createSocket(hostName, port);
InputStream in = socket.getInputStream();
OutputStream out = socket.getOutputStream();
// Nun sicher lesen und schreiben
in.close();
out.close();
}
}
|