Changes for page STARFACE

Last modified by Sebastian Marsching on 2024/01/09 23:21

From version 8.1
edited by Sebastian Marsching
on 2022/07/17 16:33
Change comment: There is no comment for this version
To version 9.1
edited by Sebastian Marsching
on 2024/01/09 23:21
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -84,5 +84,27 @@
84 84   -in root-ca.pem \
85 85   -out root-ca.cer \
86 86   -outform DER
87 -````
87 +```
88 88  
89 +# TLS-Zertifikate mit ECDSA-Schlüsseln
90 +
91 +Zur Zeit (STARFACE 8.1.1.1) unterstützt STARFACE keine Zertifikate mit ECDSA-Schlüsseln, d.h. es muss zwingend ein Zertifikat mit einem RSA-Schlüssel installiert werden.
92 +
93 +Der Grund liegt nicht in der Software selbst sondern in der Tomcat-Konfiguration der STARFACE: In der `ciphers`-Liste des TLS-Connectors werden nur RSA-basierte Cipher-Suites aufgelistet. Dies führt dazu, dass bei Verwendung eines ECDSA-basierten Zertifikats keine Verbindung hergestellt werden kann. In Firefox erhält man z.B. die Fehlermeldung `SSL_ERROR_NO_CYPHER_OVERLAP`.
94 +
95 +Ein temporärer Workaround liegt darin, sich per SSH auf der STARFACE einzuloggen und die Datei /opt/tomcat/conf/server.xml so zu bearbeiten, dass das `cipher`-Attribut des Connectors für Port 8081 zusätzlich die folgenden Cipher-Suites enthält:
96 +
97 +* TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
98 +* TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
99 +* TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
100 +* TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
101 +* TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
102 +* TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
103 +* TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
104 +* TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
105 +
106 +Je nach verwendetem Browser reicht wahrscheinlich auch nur die erste oder zweite Cipher-Suite.
107 +
108 +Anschließend muss Tomcat mit `systemctl restart tomcat.service` neugestartet werden. Nach erfolgreichem Neustart kann man sich wieder in der Administrationsoberfläche anmelden und das Zertifikat durch eines ersetzen, das einen RSA-Schlüssel verwendet.
109 +
110 +Den oben genannten Workaround dauerhaft zu verwenden empfiehlt sich eher nicht, da die hinzugefügten Cipher-Suites wieder entfernt werden, wenn STARFACE die Konfigurationsdatei neu schreibt. Dafür werden anscheinend die Templates in `/opt/tomcat/webapps/localhost/starface/WEB-INF/classes/de/vertico/starface/helpers/tomcat/https-connector-template.xml` und `/opt/tomcat/webapps/localhost/starface/WEB-INF/classes/de/vertico/starface/helpers/tomcat/provisioning-https-connector-template.xml` verwendet, d.h. man könnte prinzipiell diese Templates anpassen. Allerdings ist es sehr wahrscheinlich, dass diese Templates überschrieben werden, wenn die STARFACE-Version aktualisiert wird, d.h. eine solche Lösung würde regelmäßig manuelle Nacharbeiten erfordern. Einfach ein Zertifikat mit RSA-Schlüssel zu verwenden ist in dieser Hinsicht die einfachere Lösung. Dies funktioniert übrigens auch, wenn die übergeordnete CA selbst einen ECDSA-Schlüssel verwendet.