JAX-RS 2.0-Client mit SSL sichern

Sie können die Kommunikation zwischen Ihrer JAX-RS-Anwendung (Java™ API for RESTful Web Services) und Clients, die die Anwendung aufrufen, mit SSL-Sicherheit (Secure Sockets Layer) auf Transportebene sichern.

Vorbereitende Schritte

Diese Task setzt voraus, dass Sie die folgenden Schritte bereits ausgeführt haben:
  • Sie haben ein Zellenprofil für einen Anwendungsserver oder für einen Anwendungsserver erstellt, der in einen Network Deployment-Manager eingebunden ist. Informationen zum Erstellen von Zellenprofilen, die einen eingebunden Anwendungsserverknoten und einen Deployment Manager enthalten, finden Sie im Artikel zum Erstellen von Zellenprofilen.
  • Sie haben Ihre JAX-RS 2.0-Anwendung im Anwendungsserver installiert.

Informationen zu diesem Vorgang

JAX-RS 2.0-Clientprogramme können die Transportsicherheit mit SSL nutzen, um Anforderungen und Antworten von JAX-RS 2.0-Ressourcen zu schützen.

Wenn Sie Ihre JAX-RS 2.0-Anwendung so konfiguriert haben, dass sie einen SSL-Kanal verwendet, um die Sicherheit auf der Transportebene zu gewährleisten, kann der JAX-RS 2.0-Client diese SSL-Verbindung verwenden, um die REST-Ressourcen aufzurufen. Wurde beispielsweise die Basisauthentifizierung in Ihrer JAX-RS 2.0-Anwendung konfiguriert, kann SSL verwendet werden, um die Benutzerberechtigungsnachweise über sichere Verbindungen zu übertragen.

Zur Veranschaulichung dieses Szenarios wird angenommen, dass Sie einen einzelnen Anwendungsserver in Ihrer Zelle und JAX-RS 2.0-Ressourcen in diesem Server implementiert haben. Die JAX-RS 2.0-Ressourcen in diesem Server erfordern die Verwendung von SSL. Sie können den JAX-RS 2.0-Client verwenden, um eine dieser sicheren Ressourcen aufzurufen, die die Verwendung von SSL voraussetzt. Der JAX-RS 2.0-Client ist eine API auf einer höheren Ebene als HttpURLConnection, ist in JAX-RS-Provider integriert und wird mit diesem Produkt bereitgestellt.

Wichtig: Wenn Sie JAX-RS 2.0-Ressourcen aus einer Anwendung aufrufen, die in einer Umgebung von WebSphere Application Server ausgeführt wird, z. B. in einem Downstream-Aufruf, ist keine zusätzliche Konfiguration für SSL erforderlich. Sie müssen keine SSL-Verbindungen für diese Ressource konfigurieren, weil die SSL-Laufzeitumgebung und die SSL-Konfiguration des Anwendungsservers verwendet werden.

Führen Sie die folgenden Schritte aus, um SSL mit dem JAX-RS-Client zu konfigurieren.

Vorgehensweise

  1. Konfigurieren Sie die SSL-Eigenschaften in der WebSphere Application Server Traditional-Administrationskonsole. Weitere Informationen hierzu finden Sie im Artikel SSL-Konfiguration erstellen.
  2. Aktivieren Sie die Sicherheit für Ihre JAX-RS-Anwendung, und konfigurieren Sie Ihre Anwendung so, dass ein SSL-Kanal für Transporte verwendet wird, wenn REST-Ressourcen aufgerufen werden.

    Wenn Sie Anwendungen entwickeln oder implementieren, bearbeiten Sie die die Datei web.xml und fügen eine Integritätsbedingung für die Sicherheit hinzu, die die Verwendung von SSL für Ihre Ressourcen voraussetzt. Weitere Einzelheiten zum Aktivieren von SSL für Ihre Anwendung finden Sie in dem Artikel, der beschreibt, wie JAX-RS-Anwendungen im Web-Container gesichert werden.

    Das folgende Element innerhalb des Elements "security-constraint" gibt an, dass SSL für die Anwendung verwendet werden soll:
    <user-data-constraint id="UserDataConstraint_1">
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
     </user-data-constraint>
  3. Wenn Sie Ihre Clientanwendung entwickeln, können Sie Client-SSL aktivieren, indem Sie eine Clienteigenschaft in Ihren Clientanwendungscode aufnehmen.

    Setzen Sie den Clienteigenschaftsschlüssel auf com.ibm.ws.jaxrs.client.ssl.config und dessen Wert auf "true". Verwenden sie das folgende Code-Snippet als Referenz:

    ClientBuilder cb = ClientBuilder.newBuilder();
    cb.property("com.ibm.ws.jaxrs.client.ssl.config", "NodeDefaultSSLSettings");
    Tipp: Der Eigenschaftswert entspricht dem Server-SSL-Alias, den Sie festgelegt haben. Sie können diese Angabe unter Anwendungsserver->Server n (wobei n die dem Anwendungsserver zugewiesene Nummer ist) ->Transportketten für Web-Container->WCInboundDefaultSecure->SSL-Kanal für eingehende Anforderungen (SSL_2) im Feld SSL-Konfiguration abrufen.
  4. Verwenden Sie die Administrationskonsole, um Ihre Clientanwendung in WebSphere Application Server Traditional zu implementieren.
  5. Starten Sie die Clientanwendung in der WebSphere Application Server Traditional-Administrationskonsole. Zum Starten der Anwendung navigieren Sie zu Anwendungen->Anwendungstypen->WebSphere-Unternehmensanwendungen->Starten.

Ergebnisse

Sie definieren eine sichere Verbindung zwischen dem Client und dem Zielserver über SSL, um die Integrität und Vertraulichkeit der Kommunikation zwischen der JAX-RS-Anwendung und Ihrem Client zu gewährleisten.


Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jaxrs_impl_securejaxrs2
Dateiname:twbs_jaxrs_impl_securejaxrs2.0_clientssl.html