Benutzer-Werkzeuge

Webseiten-Werkzeuge


benno_rest_mit_ssl-verschluesselung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
benno_rest_mit_ssl-verschluesselung [2023/04/13 12:56] lwsystemsbenno_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 ======
  
-*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]].+**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  ===== ===== Konfiguration von Jetty  =====
Zeile 11: Zeile 11:
 <!-- Configuration for bennorest / jetty >= 2.10 --> <!-- Configuration for bennorest / jetty >= 2.10 -->
 <Configure id="BennoREST-2.10.0" class="org.eclipse.jetty.server.Server"> <Configure id="BennoREST-2.10.0" class="org.eclipse.jetty.server.Server">
-    <Call name="addConnector">+  <Call name="addConnector"
 +    <Arg> 
 +      <New class="org.eclipse.jetty.server.ServerConnector"> 
 +        <Arg name="server"> 
 +          <Ref refid="BennoREST-2.10.0"/> 
 +        </Arg> 
 +        <Set name="host"></Set> 
 +        <Set name="port">21080</Set> 
 +      </New> 
 +    </Arg> 
 +  </Call> 
 +  <Call name="addConnector"> 
 +    <Arg> 
 +      <New id="httpsConnector" class="org.eclipse.jetty.server.ServerConnector"> 
 +        <Arg name="server"> 
 +          <Ref refid="BennoREST-2.10.0"/> 
 +        </Arg>
         <Arg>         <Arg>
-            <New class="org.eclipse.jetty.server.ServerConnector"> +          <New class="org.eclipse.jetty.util.ssl.SslContextFactory$Server"> 
-                <Arg name="server"> +            <Set name="keyStorePath">/etc/benno/keystore</Set
-                    <Ref refid="BennoREST-2.10.0"/> +            <Set name="keyStorePassword">mhO3WjtG7Y5UDgi2NWxL</Set
-                </Arg+            <Set name="keyManagerPassword">mhO3WjtG7Y5UDgi2NWxL</Set
-                <Set name="host"></Set> +            <Set name="trustStorePath">/etc/benno/keystore</Set> 
-                <Set name="port">21080</Set> +            <Set name="trustStorePassword">mhO3WjtG7Y5UDgi2NWxL</Set> 
-            </New>+          </New>
         </Arg>         </Arg>
-    </Call+        <Arg name="factories"
-    <Call name="addConnector"> +          <Array type="org.eclipse.jetty.server.ConnectionFactory"> 
-        <Arg> +            <Item> 
-            <New id="httpsConnector" class="org.eclipse.jetty.server.ServerConnector"> +              <New class="org.eclipse.jetty.server.HttpConnectionFactory"> 
-                <Arg name="server"> +                <Arg name="config"
-                    <Ref refid="BennoREST-2.10.0"/>+                  <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>                 </Arg>
-                <Arg> +              </New> 
-                    <New class="org.eclipse.jetty.util.ssl.SslContextFactory$Server"> +            </Item> 
-                        <Set name="keyStorePath">/etc/benno/keystore</Set> +          </Array>
-                        <Set name="keyStorePassword">mhO3WjtG7Y5UDgi2NWxL</Set> +
-                        <Set name="keyManagerPassword">mhO3WjtG7Y5UDgi2NWxL</Set> +
-                        <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>         </Arg>
-    </Call>+        <Set name="host">192.168.1.10</Set> 
 +        <Set name="port">21443</Set> 
 +        <Set name="idleTimeout">30000</Set> 
 +      </New> 
 +    </Arg> 
 +  </Call>
 </Configure> </Configure>
 </file> </file>
Zeile 79: Zeile 78:
 ===== Zertifikat erstellen ===== ===== Zertifikat erstellen =====
  
-Der private Schlüssel und  das Zertifikat werden in einem [[keystore|Java Keystore]] gespeichert. +Der private Schlüssel und  das Zertifikat werden in einem [[keystore|Java Keystore]] gespeichert. 
 +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 =====
benno_rest_mit_ssl-verschluesselung.1681390608.txt.gz · Zuletzt geändert: 2023/04/13 12:56 von lwsystems