https://commons.wikimedia.org/w/index.php?curid=994870CUPS - das Printing-System für Linux-Systeme dient unter OpenSuSE zum Ansteuern von Druckern. Es wird standardmäßig installiert und verdient sich lautlos im Hintergrund seine Sporen. Normalerweise wird man kaum einen Gedanken über diesen Daemon verlieren. Aber im Zeitalter der Verschlüsselung kommt auch dieser Dienst nicht ganz ungeschoren davon. In der normalen Einstellung bzw. Standardinstallation unter OpenSuSE ist dieser Dienst derart konfiguriert, dass er ein selbst signiertes Zertifikat erzeugt, wenn er beim Starten kein geeignetes Zertifikat vorfindet.

Also heißt es, dem Dienst einfach ein geeignetes Zertifikat zum Fraß vorwerfen und die Sache sollte gegessen sein. Pustekuchen. Es hat mich viel gekostet an Schweiß, bis es endlich funktionierte. Ich denke, euch geht es ebenso.

LetsEncrypt liefert schon seit geraumer Zeit für eine Site Zertifikate aus, die die verschiedenen Browser akzeptieren und keine weiteren Nachfragen stellen. Da sie kostenlos ausgestellt werden, sind sie eigentlich das Mittel der Wahl für Otto Normalverbraucher. Und damit fangen die Tücken auch schon an. Scheinbar will CUPS nicht einfach jedes Zertifikat akzeptieren - zumindest nicht unter OpenSuSE.

Alle Informationen finden sich im Verzeichnis /etc/cups in der Datei cupsd.conf. Hier müssen eigentlich nur 2 neue Zeilen zugefügt werden und der Spuk der selbst signierten Zertifkate hat ein Ende. Allerdings scheinen einige Direktiven nicht mehr die gewünschte Funktion auszuführen, was eben zur Schwierigkeit unter OpenSuSE führt, LetsEncrypt-Zertifikate auch für CUPS zu nutzen. Aber der Reihe nach:

1. Ans Ende der Datei cupsd.conf werden folgende beiden Einträge angehängt:
CreateSelfSignedCert No
SSLListen 0.0.0.0:632

Es gibt noch die Direktiven ServerCertificate und ServerKey. Die scheinen jedoch unter OpenSuSE nicht die gewünschte Wirkung zu entfalten.

Dann wechselt ihr in den Ordner /etc/cups/ssl

Sobald CUPS einmal gestartet war, findet ihr hier zwei Dateien - die selbst signierten Zertifikate von CUPS, die beim ersten Start generiert wurden. Diese beiden Dateien werden mit dem vollqualifizierten Namen und den Endungen .cert sowie .key benannt. Mein Server heißt leopard und befindet sich in der Domäne baerlin.in-berlin.de. Deshalb lauten die beiden Dateien leopard.baerlin.in-berlin.de.cert und leopard.baerlin.in-berlin.de.key. Bevor ihr nun fortfahrt, wird der Dienst CUPS angehalten, das Kommando systemctl stop cups ist euer Freund. Sobald der Dienst beendet ist, könnt ihr die beiden Dateien entweder löschen oder an einen anderen Ort verschieben zur Sicherung https://indipill.com/fi/geneerinen-levitra-intiasta/. Dann werden statt dieser Dateien symbolische Links auf die LetsEncrypt-Zertifkatsdateien angelegt:

ln -s /etc/letsencrypt/live/<domäne>/fullchain.pem leopard.baerlin.in-berlin.de.cert
ln -s /etc/letsencrypt/live/<domäne>/privatekey.pem leopard.baerlin.in-berlin.de.key

Dann dürft ihr den Dienst wieder starten: systemctl start cups. Wenn alles klappt, ist CUPS jetzt in der Lage https zu sprechen, ohne dass sich ein Browser beschwert.

Gebt im Browser einfach https://ipadresse-cups-server:632 ein und die CUPS Begrüßungsseite sollte euch mit eingeschnapptem Schloss in der Browserzeile begrüßen.

Die Druckdaten werden nun auch über https angeliefert: https://ipadresse-cups-server:632/printers/<druckername> ist die entsprechende Kontaktadresse.

Bitte bedenkt, wenn ihr die Zertifikate von LetsEncrypt aktualisiert, muss der Dienst CUPS neu gestartet werden. Durch die symbolischen Links werden automatisch die aktuellen und erneuerten Zertifikatsdateien gezogen.


Tagesschau

tagesschau.de