Benutzer-Werkzeuge

Webseiten-Werkzeuge


benno_rest_mit_ssl-verschluesselung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
benno_rest_mit_ssl-verschluesselung [2016/10/31 13:13] – Externe Bearbeitung 127.0.0.1benno_rest_mit_ssl-verschluesselung [2023/04/26 16:57] (aktuell) – [Zertifikat erstellen] lwsystems
Zeile 1: Zeile 1:
-====== Benno_REST_mit_SSL-Verschlüsselung ======+====== Benno REST mit SSL-Verschlüsselung ======
  
-= Konfiguration von Jetty  =+**Achtung!** Dieses Dokument beschreibt die Konfiguration von Benno REST ab Version 2.10.0. Die Erläuterung zur Konfiguration der SSL-Verschlüsselung von älteren Versionen von Benno REST finden Sie [[Benno REST SSL 2.8|hier]]. 
 + 
 +===== Konfiguration von Jetty  =====
  
 Zur Konfiguration eines SSL-Connectors wird die Konfigurationsdatei /etc/benno/jetty.xml erweitert.  Zur Konfiguration eines SSL-Connectors wird die Konfigurationsdatei /etc/benno/jetty.xml erweitert. 
-<code>?xml version="1.0"? +<file xml> 
-!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd" +<?xml version="1.0"?> 
-!-- Configuration for bennorest / jetty -- +<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd"> 
-Configure id="FileServer" class="org.eclipse.jetty.server.Server" +<!-- Configuration for bennorest / jetty >= 2.10 --> 
-    Call name="addConnector" +<Configure id="BennoREST-2.10.0" class="org.eclipse.jetty.server.Server"> 
-      Arg +  <Call name="addConnector"> 
-          New class="org.eclipse.jetty.server.nio.SelectChannelConnector+    <Arg> 
-            Set name="host"localhost/Set +      <New class="org.eclipse.jetty.server.ServerConnector"> 
-            Set name="port"8080/Set +        <Arg name="server"> 
-          /New +          <Ref refid="BennoREST-2.10.0"/> 
-      /Arg +        </Arg> 
-    /Call +        <Set name="host"></Set> 
-    Call name="addConnector" +        <Set name="port">21080</Set> 
-      Arg +      </New> 
-          New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector+    </Arg> 
-            Set name="Host"192.168.1.10/Set +  </Call> 
-            Set name="Port"8443/Set +  <Call name="addConnector"
-            Set name="maxIdleTime"30000/Set +    <Arg> 
-            Set name="keystore"/etc/benno/keystore/Set +      <New id="httpsConnector" class="org.eclipse.jetty.server.ServerConnector"> 
-            Set name="password"mhO3WjtG7Y5UDgi2NWxL/Set +        <Arg name="server"> 
-            Set name="keyPassword"mhO3WjtG7Y5UDgi2NWxL/Set +          <Ref refid="BennoREST-2.10.0"/> 
-            Set name="truststore"/etc/benno/keystore/Set +        </Arg> 
-            Set name="trustPassword"mhO3WjtG7Y5UDgi2NWxL/Set +        <Arg> 
-          /New +          <New class="org.eclipse.jetty.util.ssl.SslContextFactory$Server"> 
-      /Arg +            <Set name="keyStorePath">/etc/benno/keystore</Set> 
-    /Call +            <Set name="keyStorePassword">mhO3WjtG7Y5UDgi2NWxL</Set> 
-/Configure +            <Set name="keyManagerPassword">mhO3WjtG7Y5UDgi2NWxL</Set> 
-</code>+            <Set name="trustStorePath">/etc/benno/keystore</Set> 
 +            <Set name="trustStorePassword">mhO3WjtG7Y5UDgi2NWxL</Set
 +          </New> 
 +        </Arg> 
 +        <Arg name="factories"> 
 +          <Array type="org.eclipse.jetty.server.ConnectionFactory"> 
 +            <Item> 
 +              <New class="org.eclipse.jetty.server.HttpConnectionFactory"> 
 +                <Arg name="config"> 
 +                  <New id="config" class="org.eclipse.jetty.server.HttpConfiguration"> 
 +                    <Call name="addCustomizer"> 
 +                      <Arg> 
 +                        <New class="org.eclipse.jetty.server.SecureRequestCustomizer"> 
 +                          <Arg name="sniRequired" type="boolean"> 
 +                            <Property name="jetty.ssl.sniRequired" default="false"/> 
 +                          </Arg> 
 +                          <Arg name="sniHostCheck" type="boolean"> 
 +                            <Property name="jetty.ssl.sniHostCheck" default="false"/
 +                          </Arg> 
 +                          <Arg name="stsMaxAgeSeconds" type="int"> 
 +                            <Property name="jetty.ssl.stsMaxAgeSeconds" default="-1"/
 +                          </Arg> 
 +                          <Arg name="stsIncludeSubdomains" type="boolean"> 
 +                            <Property name="jetty.ssl.stsIncludeSubdomains" default="false"/> 
 +                          </Arg> 
 +                        </New> 
 +                      </Arg> 
 +                    </Call> 
 +                  </New> 
 +                </Arg> 
 +              </New> 
 +            </Item> 
 +          </Array> 
 +        </Arg> 
 +        <Set name="host">192.168.1.10</Set> 
 +        <Set name="port">21443</Set> 
 +        <Set name="idleTimeout">30000</Set> 
 +      </New> 
 +    </Arg> 
 +  </Call> 
 +</Configure> 
 +</file>
  
-= Zertifikat erstellen  +===== Zertifikat erstellen ===== 
-<code>keytool -keystore /etc/benno/keystore -alias BennoCert -genkey -keyalg RSA</code>  + 
-*Passwort ist das oben eingetragene Passwort  +Der private Schlüssel und  das Zertifikat werden in einem [[keystore|Java Keystore]] gespeichert. 
-*Der Hostname (CN) des Systems wird beim keytool über "What ist your first and last name?" abgefragt.+Alternativ können dies auch als PKCS#12 Datei angegeben werden. Diese Datei kann mittels OpenSSL aus 
 +den häufig vorliegenden PEM-Files erstellt werden. 
 + 
 +<code bash> 
 +openssl pkcs12 -export \ 
 +  -passout pass:mhO3WjtG7Y5UDgi2NWxL \ 
 +  -inkey keyfile.pem \ 
 +  -in certchain.pem \ 
 +  -out certchain+key.pkcs12  
 +chown benno:benno certchain+key.pkcs12 
 +chmod 0440 certchain+key.pkcs12 
 +</code>  
 + 
 +===== Web-Frontend konfigurieren =====
  
-= Web-Frontend konfigurieren  = 
  
 In der Konfiguration von //benno-web// wird der URL in der Datei ///etc/benno-web/benno.conf// angepasst:  In der Konfiguration von //benno-web// wird der URL in der Datei ///etc/benno-web/benno.conf// angepasst: 
-<code>BASE_URL = https://rest.lw-systems.net:8443</code> +<code>BASE_URL = https://rest.lw-systems.net:21443</code> 
 Bei der Abfrage des REST-Backends wird das SSL-Zertifikat nicht geprüft. Falls diese Prüfung erzwungen werden soll,  Bei der Abfrage des REST-Backends wird das SSL-Zertifikat nicht geprüft. Falls diese Prüfung erzwungen werden soll, 
  
 muss der Konfigurations-Parameter REST_SSL_VERIFY auf "true" gesetzt werden.  muss der Konfigurations-Parameter REST_SSL_VERIFY auf "true" gesetzt werden. 
-<code># to enable ssl certificate verification of REST server set YES +<code> 
-#REST_SSL_VERIFY = NO</code> +# to enable ssl certificate verification of REST server set YES 
 +#REST_SSL_VERIFY = NO 
 +</code>
  
 Diese Parameter werden beim Aufbau der Session eingelesen. Daher ist es notwendig, sich nach Änderung abzumelden und wieder neu anzumelden. Diese Parameter werden beim Aufbau der Session eingelesen. Daher ist es notwendig, sich nach Änderung abzumelden und wieder neu anzumelden.
benno_rest_mit_ssl-verschluesselung.1477919590.txt.gz · Zuletzt geändert: 2016/11/21 14:15 (Externe Bearbeitung)