Show TOC

 Anwendungsbeispiele der Secure Connection FactoryLocate this document in the navigation structure

HTTP-Verbindungen mithilfe von URLs anlegen

Die folgenden Beispiele zeigen verschiedene Möglichkeiten, wie Sie die Secure Connection Factory zum Einrichten von HTTP-Verbindungen verwenden können. Das erste Beispiel zeigt, wie Sie eine Verbindung nur mithilfe einer SSL-Server-Authentifizierung herstellen können. Das zweite Beispiel zeigt dieselbe Verbindung unter Verwendung gegenseitiger Authentifizierung. Das dritte Beispiel zeigt dieselbe Verbindung unter Verwendung von Benutzer-ID und Kennwort für die Client-Authentifizierung.

SSL-Server-Authentifizierung verwenden

Das folgende Beispiel zeigt, wie Sie nur mithilfe von SSL mit Server-Authentifizierung eine Verbindung zur Seite www.mycompany.com einrichten können. Für die Verifizierung des Zertifikats des Servers wird die Keystore namens keystoreCAs verwendet. Diese befindet sich in einem beliebigen Verzeichnis, beispielsweise einer Datei im Dateisystem.

Code-Beispiel für das Herstellen einer HTTPS-Verbindung mithilfe SSL-Server-Authentifizierung

//  keystoreCAs        Keystore-Instanz mit vertrauenswürdigen Zertifikaten //  ... ist ein beliebiges Verzeichnis für Ihren Keystore KeyStore keystoreCAs = ... // Factory anlegen SecureConnectionFactory factory = new SecureConnectionFactory     (keystoreCAs, null); // HTTPS-Verbindung anlegen HttpURLConnection con = factory.createURLConnection      ("https://www.mycompany.com"); // Siehe JAVADOC für java.net.HttpURLConnection

 

Gegenseitige SSL-Authentifizierung verwenden

Das folgende Beispiel zeigt, wie die Verbindung zu www.mycompany.com mithilfe von SSL mit gegenseitiger Authentifizierung hergestellt wird. Für die Verifizierung des Zertifikats des Servers wird die Keystore namens keystoreCAs verwendet. Das Schlüsselpaar des Clients und das Zertifikat wurden im der Keystore keystoreMyKeys abgelegt. Beide Keystores befinden sich in einem beliebigen Verzeichnis, beispielsweise in einer Datei in einem Dateisystem.

Code-Beispiel für das Herstellen einer HTTPS-Verbindung mithilfe gegenseitiger SSL-Authentifizierung

//  keystoreCAs        Keystore-Instanz mit vertrauenswürdigen Zertifikaten //  ... ist ein beliebiges Verzeichnis für Ihren Keystore KeyStore keystoreCAs = ... //  keystoreMyKeys     Keystore-Instanz mit key+certs für die  //  Anwendung (zur Client-Authentifizierung) KeyStore keystoreMyKeys = ...  // Factory anlegen SecureConnectionFactory factory = new SecureConnectionFactory     (keystoreCAs, keystoreMyKeys); // HTTPS-Verbindung anlegen HttpURLConnection con = factory.createURLConnection      ("https://www.mycompany.com"); // Siehe JAVADOC für java.net.HttpURLConnection

Benutzer-ID und Kennwort zur Client-Authentifizierung verwenden

Das folgende Beispiel zeigt, wie die Verbindung zu www.mycompany.com mithilfe von SSL mit Server-Authentifizierung hergestellt wird. Sie verwendet Benutzer-ID und Kennwort zur Authentifizierung des Client.

Code-Beipiel für die Verwendung von Benutzer-ID und Kennwort zur Client-Authentifizierung

//  keystoreCAs        Keystore-Instanz mit vertrauenswürdigen Zertifikaten //  ... ist ein beliebiges Verzeichnis für Ihren Keystore KeyStore keystoreCAs = ... // Factory anlegen SecureConnectionFactory factory = new SecureConnectionFactory     (keystoreCAs, null); // HTTPS-Verbindung anlegen HttpURLConnection con = factory.createURLConnection      ("https://www.mycompany.com"); // Siehe JAVADOC für java.net.HttpURLConnection // Standardauthentifizierung Header mit Benutzername und Kennwort zur // Client-Authentifizierung festlegen com.sap.security.core.server.https.Utils.setBasicAuthenticationHeader(con, username, password);

 

SSL-Socket-Instanz anlegen

Das folgende Beispiel zeigt, wie eine SSL-Socket-Instanz mithilfe der Methode createSocket angelegt wird. Es liefert eine Socket-Instanz für Port 443.

Code-Beispiel für das Anlegen einer SSL-Socket-Instanz

// (SSL)Socket anlegen Socket socket = factory.createSocket("www.mycompany.com", 443); // Siehe JAVADOC für java.net.Socket

 

Weitere Methoden

Das folgende Beispiel zeigt im Folgenden einige Funktionen für die Verwaltung von Verbindungen.

  • Über die Methode setRequestMethod wird die HTTP-Request-Methode auf POST gesetzt.
  • Über die Methode connect wird die Verbindung zur Seite hergestellt, die die HTTPS-Verbindung verwendet.
  • Über die Methode getResponseCode kann der Rückgabecode für die Verarbeitung von Fehlern ermittelt werden.
  • Über die Methode loadAsBytes der Klasse Util kann die HTML-Seite als Bytes gelegen werden.

Code-Beispiel für das Herstellen einer HTTPS-Verbindung mithilfe einer URL

// set request method if necessary (default: GET) con.setRequestMethod("POST"); // connect con.connect (); // read response code rc = con.getResponseCode (); // read html byte [] bhtml = Utils.loadAsBytes(con);