Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 6 Nächste Version anzeigen »

Step-by-step guide

Um die Webservice-Schnittstelle von jadice server über TLS abzusichern müssen drei Dinge angepasst werden.

  1. Der embedded jetty-Server, den jadice server mitbringt, muss so konfiguriert werden, dass dieser die für die Verschlüsselung benötigten Keystores kennt. Dazu erstellen Sie unter server-config/application die Datei jetty-ssl.xml mit diesem Inhalt:

    jetty-ssl.xml
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:http="http://cxf.apache.org/transports/http/configuration"
        xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration"
        xmlns:sec="http://cxf.apache.org/configuration/security" xmlns:cxf="http://cxf.apache.org/core"
        xsi:schemaLocation="
        http://www.springframework.org/schema/beans                  http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
        http://cxf.apache.org/configuration/security                 http://cxf.apache.org/schemas/configuration/security.xsd
        http://cxf.apache.org/transports/http/configuration            http://cxf.apache.org/schemas/configuration/http-conf.xsd
        http://cxf.apache.org/transports/http-jetty/configuration      http://cxf.apache.org/schemas/configuration/http-jetty.xsd
        http://cxf.apache.org/core                                     http://cxf.apache.org/schemas/core.xsd">
        <cxf:bus />
        <httpj:engine-factory bus="cxf">
            <httpj:engine port="9001">
                <httpj:tlsServerParameters>
                    <sec:keyManagers keyPassword="password">
                        <sec:keyStore
                            file="keystore.jks"
                            password="password" type="JKS" />
                    </sec:keyManagers>
                    <sec:trustManagers>
                        <sec:keyStore
                            file="keystore.jks"
                            password="password" type="JKS" />
                    </sec:trustManagers>
                    <sec:cipherSuitesFilter>
            <!-- these filters ensure that a ciphersuite
                            with export-suitable or null encryption is used, but exclude anonymous Diffie-Hellman
                            key change as this is vulnerable to man-in-the-middle attacks -->
                        <sec:include>.*_EXPORT_.*</sec:include>
                        <sec:include>.*_EXPORT1024_.*</sec:include>
                        <sec:include>.*_WITH_DES_.*</sec:include>
                        <sec:include>.*_WITH_AES_.*</sec:include>
                        <sec:include>.*_WITH_NULL_.*</sec:include>
                        <sec:exclude>.*_DH_anon_.*</sec:exclude>
                    </sec:cipherSuitesFilter>
                    <sec:clientAuthentication want="true"
                        required="false" />
                </httpj:tlsServerParameters>
                <httpj:handlers>
                    <bean class="org.eclipse.jetty.server.handler.DefaultHandler" />
                </httpj:handlers>
            </httpj:engine>
        </httpj:engine-factory>
    </beans>
  2. Um die oben erzeugte Konfigurationsdatei in jadice server einzubinden muss in der Datei server-config/application/webservices.xml folgende Zeile ergänzt werden:

    Ergänzung in webservices.xml
    <import resource="jetty-ssl.xml"/>


  3. Die Addresse und der Port entsprechend der Werte im jetty-ssl.xml anpassen

    Anpassung in webservices.xml
    <jaxws:endpoint id="jobServiceEndpoint" implementor="#jobService"
        address="https://${jadice.server.hostname}:9001/jadiceServer">

Weitere Informationen zu den Einstellungen können Sie der Dokumentation von Apache CXF Jetty entnehmen.

  • Keine Stichwörter