[Gelöst] openvpn: Cannot load certificate file /tmp/flash/openvpn/box.crt

maceis

Mitglied
Mitglied seit
9 Apr 2006
Beiträge
687
Punkte für Reaktionen
4
Punkte
18
Hallo zusammen,

Fritzbox 5990
freetz-ng aktuell gebaut
openvpn client-server setup mit Zertifikaten

Zunöchstemal ist mir aufgefallen, dass man offenbar (wenn man die config über das freetz Webbinterface erstellt) für die Verschlüsselung, die man als Authentifizierungsmethde wählt (hier AES-256-CBC), unten einen Zusatzparameter "data-ciphers AES-256-CBC" eingeben muss, um Fehlermeldungen zu vermeiden. Aber das nur am Rande.

Mein Problem ist, dass der Server nicht startet, sondern folgende Ausgabe liefert:
Code:
openvpn --config /mod/etc/openvpn.conf
2023-07-28 20:46:35 OpenVPN 2.6.5 mips-unknown-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [MH/PKTINFO] [AEAD]
2023-07-28 20:46:35 library versions: OpenSSL 3.0.9 30 May 2023, LZO 2.10
2023-07-28 20:46:35 net_route_v4_best_gw query: dst 0.0.0.0
2023-07-28 20:46:35 net_route_v4_best_gw result: via 0.0.0.0 dev dsl
2023-07-28 20:46:35 Diffie-Hellman initialized with 2048 bit key
2023-07-28 20:46:35 OpenSSL: error:0A00018E:lib(20)::reason(398)
2023-07-28 20:46:35 Cannot load certificate file /tmp/flash/openvpn/box.crt
2023-07-28 20:46:35 Exiting due to fatal error

Die Datei /tmp/flash/openvpn/box.crt ist lesbar für alle und hat auch den richtigen Inhalt.
Code:
ls -l /tmp/flash/openvpn/box.crt
-rw-r--r--    1 root     root          8279 Jul 28 11:22 /tmp/flash/openvpn/box.crt

head -9 /tmp/flash/openvpn/box.crt
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 1 (0x1)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=DE, ST=xxx, L=xxx, O=de.xxx, OU=xxx, CN=xxx/emailAddress=xxx
        Validity
            Not Before: Jan 21 23:59:27 2020 GMT
            Not After : Jan 18 23:59:27 2030 GMT

Laut Internetrecherche weist die Fehlermeldung "Cannot load certificate file" auf eine ungültig config-Datei hin, aber ich komme an dieser Stelle nicht weiter.
Hat jemand eine Idee, wie ich den Fehler beheben kann.

Meine aktuelle config sieht so aus:
Code:
# OpenVPN 2.6.5 mips-unknown-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [MH/PKTINFO] [AEAD]
# library versions: OpenSSL 3.0.9 30 May 2023, LZO 2.10
#  Config date: Fri Jul 28 20:32:48 CEST 2023
proto udp
dev tun
ca /tmp/flash/openvpn/ca.crt
cert /tmp/flash/openvpn/box.crt
key /tmp/flash/openvpn/box.key
dh /tmp/flash/openvpn/dh.pem
tls-server
port 1194
ifconfig 10.8.0.1 255.255.255.0
push "route-gateway 10.8.0.1"
topology subnet
push "topology subnet"
push "route 192.168.100.0 255.255.255.0"
max-clients 20
mode server
client-config-dir clients_openvpn
route 192.168.102.0 255.255.255.0 10.8.0.2
route 192.168.103.0 255.255.255.0 10.8.0.3
route 192.168.104.0 255.255.255.0 10.8.0.4
route 192.168.105.0 255.255.255.0 10.8.0.5
route 192.168.006.0 255.255.255.0 10.8.0.6
route 192.168.002.0 255.255.255.0 10.8.0.32
route 192.168.033.0 255.255.255.0 10.8.0.33
route 192.168.034.0 255.255.255.0 10.8.0.34
route 192.168.107.0 255.255.255.0 10.8.0.7
client-to-client
tun-mtu 1500
mssfix
verb 3
cipher AES-256-CBC
keepalive 10 120
status /var/log/openvpn.log
cd /var/tmp/openvpn
chroot /var/tmp/openvpn
user openvpn
group openvpn
persist-tun
persist-key
data-ciphers AES-256-CBC

Kaum hatte ich gepostet, habe ich online noch eine Lösung gefunden, die tatsächlich funktioniert.
Unter openvpn 2.5 war das nicht notwendig, aber nach Hinzufügen des folgenden Parameters fährt openvpn hoch.

Vielleicht hilft das mal jemand anderem.
Mich wundert nur, dass die Suche zu dem Problem nichts hergibt.
Ich bin doch nicht der einzige hier, der openvpn nutzt.
 
head -9 /tmp/flash/openvpn/box.crt
Also wenn ein head-Kommando tatsächlich DIESE Ausgabe liefert, wie man sie oben lesen kann, dann ist das schlicht das falsche Format für das verwendete Zertifikat.

Denn dieses muß entweder binär als ASN.1-Struktur in der Datei vorliegen (das ist dann das sogenannte DER-Format, ein Ableger des allgemeineren BER-Formats) oder zusätzlich noch mit einer Base64-Kodierung in ein Textformat (das nennt sich dann PEM) verwandelt werden.

Das, was da bei Dir angezeigt wird, ist aber die "Textausgabe" des Zertifikatinhalts, damit kann (oder konnte) das OpenVPN einfach nichts anfangen.

Ich bezweifele stark, daß der von Dir gefundene Parameter (den ich in Deinem Beitrag auch nicht sehen kann) die positive Veränderung bewirkte, da dürfte eher nach weiteren Versuchen dann doch noch das Zertifikat im korrekten Format vorgelegen haben.
 
Kaum hatte ich gepostet, habe ich online noch eine Lösung gefunden, die tatsächlich funktioniert.
Unter openvpn 2.5 war das nicht notwendig, aber nach Hinzufügen des folgenden Parameters fährt openvpn hoch.

Vielleicht hilft das mal jemand anderem.
Gleiches Problem hier.
Leider sehe ich in Deinem Post nicht welchen Parameter Du hinzugefügt hast.
Wärst Du so nett und würdest das gerade nochmal posten?
Vielen Dank
 
Hallo wengi,

der Parameter war
tls-cipher "DEFAULT : @ SECLEVEL=0"

(Leerzeichen entfernen)

Der Server startet jetzt, aber aktuell können sich die Clients nicht anmelden.
Ich musste das zurückstellen, möchte das demnächst aber wieder weiterverfolgen.
 
Danke :)
 
Freut mich, dass es Dir geholfen hat.
Können sich Deine Clients jetzt anmelden?
Mich würde mal Deine Client config interessieren.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.