Zertifikate Check bringt UnicodeEncodeError (02_certificate_check in UCS 5.0-1 errata336.)

Hallo,

vor zwei Tagen habe ich die aktuellen Updates eingespielt und bekomme jetzt vom Zertifikate-Check folgenden Fehler:

root@ucs-master:/tmp# univention-run-diagnostic-checks -t 02_certificate_check
Domain Admin Login: Administrator
Password:
Executing following checks: ['02_certificate_check']

You can find the logging messages of the diagnostic modules at /var/log/univention/management-console-module-diagnostic.log

############################ Start 02_certificate_check ###########################
## Check failed: 02_certificate_check - Überprüfe Gültigkeit der SSL Zertifikate ##
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/diagnostic/__init__.py", line 280, in execute
    result = execute(umc_module, **kwargs)
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/diagnostic/plugins/02_certificate_check.py", line 286, in run
    cert_verify = list(verify_local(all_certificates))
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/diagnostic/plugins/02_certificate_check.py", line 260, in verify_local
    for error in verifier.verify(cert):
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/diagnostic/plugins/02_certificate_check.py", line 206, in verify
    for error in self._verify_timestamps(cert_path):
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/diagnostic/plugins/02_certificate_check.py", line 167, in _verify_timestamps
    cert = crypto.load_certificate(crypto.FILETYPE_PEM, fob.read())
  File "/usr/lib/python3/dist-packages/OpenSSL/crypto.py", line 1824, in load_certificate
    buffer = buffer.encode("ascii")
UnicodeEncodeError: 'ascii' codec can't encode character '\xfc' in position 2588: ordinal not in range(128)
Univention Support Database - Erneuern der TLS/SSL-Zertifikate (http://sdb.univention.de/1000)
############################# End 02_certificate_check ############################

Gibt es eine Möglichkeit, rauszufinden welches Cert-File da fehlerhaft ist? Im /var/log/univention/management-console-module-diagnostic.log steht nichts weiter drin :frowning:

Danke für alle Tipps!

Nico.

Habe mittlerweile rausgefunden, das die PEM-Dateien in ASCII-Codierung erwartet werden. Die Zertifikate auf unserem Server sind jedoch in UTF-8 codiert.

Mit einer Änderung im Modul /usr/lib/python3/dist-packages/OpenSSL/crypto.py von buffer = buffer.encode("ascii") in buffer = buffer.encode("UTF-8") ist der Fehler weg.

Weiss jemand, ob es einen Grund gibt, warum die PEM-Dateien jetzt neuerdings als ASCII erwartet werden oder ob o.g. Änderung Seiteneffekte hat?

Gruss Nico.

Mastodon