Also ich habe da nun folgendes gemacht
sed -i "s/localhost:8080/"$(hostname -f)":8443/g" /usr/share/grommunio-admin-api/config.yaml
sed -i -n "p; s/127.0.0.1/"$(hostname -i)"/p" /usr/share/grommunio-admin-common/nginx-ssl.conf
dann würde es gehen, wenn die Suse-Appliance PYTHON-APPs auch die Letsencrypt-Zertifikate akzeptieren würden. - Da bin ich grad noch dran ohne in der Flask-App was anzupassen zu müssen... :-).
curl
lokal funktioniert, https
(httpie) von meiner workstation aus funktioniert
http
(httpie ) via zypper in httpie
funktioniert nicht und genauso wenig funktioniert die flask.app was ja wichtiger wäre. Also alles unter /usr/share/grommunio-admin-api/
Hmmm... ganz komisch ..
python3 -m certifi
/etc/ssl/ca-bundle.pem
Wobei laut der Datei das eh nicht mehr benutzt werden soll.. wie auch immer..
Naja... geht auf gewissen Hosts auch nicht :-)
gromi:~ # https docs.grommunio.com
https: error: SSLError: HTTPSConnectionPool(host='docs.grommunio.com', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),)) while doing a GET request to URL: https://docs.grommunio.com/
Also OpenSuse hat einfach immer noch probleme mit ISRG Root X1
Ich hab die ISRG-Zertifikate aus /var/lib/ca-certificates/pem
gelöscht und mit zypper
neu installieren lassen.
Zu finden via
for i in /var/lib/ca-certificates/pem/*.pem ; do echo -n $i": "; openssl x509 -noout -subject -in $i; done |grep ISRG
Leider hat das auch nichts gebracht.
Vergleich OpenSuse-Appliance gegen ein frisch installiertes Debian
opensuse
gromi:/etc/ssl # echo | openssl s_client -connect MEINE.DOMAIN.LAN:443 |head
depth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify error:num=2:unable to get issuer certificate
issuer= O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = R3
issuer= C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify return:1
depth=0 CN = MEINE.DOMAIN.LAN
issuer= C = US, O = Let's Encrypt, CN = R3
verify return:1
CONNECTED(00000003)
---
Certificate chain
0 s:CN = MEINE.DOMAIN.LAN
i:C = US, O = Let's Encrypt, CN = R3
1 s:C = US, O = Let's Encrypt, CN = R3
i:C = US, O = Internet Security Research Group, CN = ISRG Root X1
2 s:C = US, O = Internet Security Research Group, CN = ISRG Root X1
i:O = Digital Signature Trust Co., CN = DST Root CA X3
---
DONE
debian
> echo | openssl s_client -connect MEINE.DOMAIN.LAN:443 |head
depth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = R3
verify return:1
depth=0 CN =MEINE.DOMAIN.LAN
verify return:1
DONE
CONNECTED(00000003)
---
Certificate chain
0 s:CN =MEINE.DOMAIN.LAN
i:C = US, O = Let's Encrypt, CN = R3
1 s:C = US, O = Let's Encrypt, CN = R3
i:C = US, O = Internet Security Research Group, CN = ISRG Root X1
2 s:C = US, O = Internet Security Research Group, CN = ISRG Root X1
i:O = Digital Signature Trust Co., CN = DST Root CA X3
---
Und somit mutmaße ich mal hier das Python deswegen rummeckert... Toll...
QUICKFIX
sed -i "s|conf\[host\], stream=True|conf\[host\], stream=True, verify=False|g" /usr/share/grommunio-admin-api/endpoints/system/misc.py
https://github.com/crpb/grommunio/blob/main/setup/admin_https