Zertifikatsupload in 1781A funktioniert nicht (solved)

Forum zum Thema allgemeinen Fragen zu VPN

Moderator: Lancom-Systems Moderatoren

Antworten
marco.l
Beiträge: 7
Registriert: 28 Mai 2020, 09:28

Zertifikatsupload in 1781A funktioniert nicht (solved)

Beitrag von marco.l »

Hallo Zusammen,

für die Einwahl per IKEv2 auf einen Strongswan Server habe ich für die Authentifizierung CA+Zertifikat+PrivKey bekommen.
Diese dann per openssl in ein PKCS12 zusammengepackt:

Code: Alles auswählen

openssl pkcs12 -export -in zert.pem -inkey key.key -certfile ca-certs.pem -out output.p12
Das p12 versuche ich per Lanconfig in den VPN-Container (VPN1) hochzuladen, bekomme jedoch folgenden Fehler:

Code: Alles auswählen

Meldung des Gerätes:
  FAILURE

Rest der Nachricht:
  <0>:
Ein anderes Passwort für den p12 Container habe ich probiert.
Beim Import über die WebConfig kommt selbst bei Simpel-Passworten "Bad Password" mit folgenden Meldungen im Syslog:

Code: Alles auswählen

1 	2020-05-28 10:11:16 	KERN 	Error 	PKCS12_lcos_read_file: Error reading PKCS#12 file /flash/security/vpn/vpn_add_cas: Undefined error: 0
2 	2020-05-28 10:11:16 	KERN 	Notice 	OpenSSL: 137:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:crypto/asn1/asn1_lib.c:101:
3 	2020-05-28 10:11:16 	KERN 	Error 	PKCS12_lcos_read_cert_file: Error reading file /flash/security/vpn/vpn_rootcert: (Unknown error)
4 	2020-05-28 10:11:16 	KERN 	Notice 	OpenSSL: 137:error:0909006C:PEM routines:get_name:no start line:crypto/pem/pem_lib.c:745:Expecting: CERTIFICATE
5 	2020-05-28 10:11:16 	KERN 	Error 	PKCS12_lcos_read_cert_file: Error reading file /flash/security/vpn/vpn_devcert: (Unknown error)
6 	2020-05-28 10:11:16 	KERN 	Notice 	OpenSSL: 137:error:0909006C:PEM routines:get_name:no start line:crypto/pem/pem_lib.c:745:Expecting: CERTIFICATE
7 	2020-05-28 10:11:16 	KERN 	Error 	PKCS12_lcos_read_file: Error reading PKCS#12 file /flash/security/vpn/vpn_pkcs12_int: Undefined error: 0
8 	2020-05-28 10:11:16 	KERN 	Notice 	OpenSSL: 137:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:crypto/asn1/asn1_lib.c:101:
9 	2020-05-28 10:11:16 	KERN 	Error 	PKCS12_lcos_read_file: Error reading PKCS#12 file /flash/security/vpn/vpn_add_cas: Undefined error: 0
10 	2020-05-28 10:11:16 	KERN 	Notice 	OpenSSL: 137:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:crypto/asn1/asn1_lib.c:101:
11 	2020-05-28 10:11:16 	KERN 	Error 	PKCS12_lcos_read_cert_file: Error reading file /flash/security/vpn/vpn_rootcert: (Unknown error)
12 	2020-05-28 10:11:16 	KERN 	Notice 	OpenSSL: 137:error:0909006C:PEM routines:get_name:no start line:crypto/pem/pem_lib.c:745:Expecting: CERTIFICATE
13 	2020-05-28 10:11:16 	KERN 	Error 	PKCS12_lcos_read_cert_file: Error reading file /flash/security/vpn/vpn_devcert: (Unknown error)
14 	2020-05-28 10:11:16 	KERN 	Notice 	OpenSSL: 137:error:0909006C:PEM routines:get_name:no start line:crypto/pem/pem_lib.c:745:Expecting: CERTIFICATE
15 	2020-05-28 10:11:16 	KERN 	Error 	PKCS12_lcos_read_file: Error reading PKCS#12 file /flash/security/vpn/vpn_pkcs12_int: Undefined error: 0
16 	2020-05-28 10:11:16 	KERN 	Notice 	OpenSSL: 137:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:crypto/asn1/asn1_lib.c:101:
17 	2020-05-28 10:11:16 	KERN 	Error 	PKCS12_lcos_read_file: Error reading PKCS#12 file /flash/security/vpn/vpn_add_cas: Undefined error: 0
18 	2020-05-28 10:11:16 	KERN 	Notice 	OpenSSL: 137:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:crypto/asn1/asn1_lib.c:101:
19 	2020-05-28 10:11:16 	KERN 	Error 	PKCS12_lcos_read_cert_file: Error reading file /flash/security/vpn/vpn_rootcert: (Unknown error)
20 	2020-05-28 10:11:16 	KERN 	Notice 	OpenSSL: 137:error:0909006C:PEM routines:get_name:no start line:crypto/pem/pem_lib.c:745:Expecting: CERTIFICATE
21 	2020-05-28 10:11:16 	KERN 	Error 	PKCS12_lcos_read_cert_file: Error reading file /flash/security/vpn/vpn_devcert: (Unknown error)
22 	2020-05-28 10:11:16 	KERN 	Notice 	OpenSSL: 137:error:0909006C:PEM routines:get_name:no start line:crypto/pem/pem_lib.c:745:Expecting: CERTIFICATE
23 	2020-05-28 10:11:16 	KERN 	Error 	PKCS12_lcos_read_file: Error reading PKCS#12 file /flash/security/vpn/vpn_pkcs12_int: Undefined error: 0
24 	2020-05-28 10:11:16 	KERN 	Notice 	OpenSSL: 137:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:crypto/asn1/asn1_lib.c:101:
25 	2020-05-28 10:11:16 	KERN 	Error 	PKCS12_lcos_read_file: Error reading PKCS#12 file /flash/security/vpn/vpn_add_cas: Undefined error: 0
26 	2020-05-28 10:11:16 	KERN 	Notice 	OpenSSL: 137:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:crypto/asn1/asn1_lib.c:101:
27 	2020-05-28 10:11:16 	KERN 	Error 	PKCS12_lcos_read_cert_file: Error reading file /flash/security/vpn/vpn_rootcert: (Unknown error)
28 	2020-05-28 10:11:16 	KERN 	Notice 	OpenSSL: 137:error:0909006C:PEM routines:get_name:no start line:crypto/pem/pem_lib.c:745:Expecting: CERTIFICATE
29 	2020-05-28 10:11:16 	KERN 	Error 	PKCS12_lcos_read_cert_file: Error reading file /flash/security/vpn/vpn_devcert: (Unknown error)
30 	2020-05-28 10:11:16 	KERN 	Notice 	OpenSSL: 137:error:0909006C:PEM routines:get_name:no start line:crypto/pem/pem_lib.c:745:Expecting: CERTIFICATE
31 	2020-05-28 10:11:16 	KERN 	Error 	PKCS12_lcos_read_file: Error reading PKCS#12 file /flash/security/vpn/vpn_pkcs12_int: Undefined error: 0
32 	2020-05-28 10:11:16 	KERN 	Notice 	OpenSSL: 137:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:crypto/asn1/asn1_lib.c:101:
33 	2020-05-28 10:11:16 	KERN 	Notice 	OpenSSL: 137:error:09072007:PEM routines:PEM_write_bio:BUF lib:crypto/pem/pem_lib.c:658:
34 	2020-05-28 10:11:16 	KERN 	Error 	PKCS12_lcos_write_file: Error writing PKCS#12 file /flash/security/vpn/vpn_pkcs12_int: Undefined error: 0
Auf einem Windows-Rechner lässt sich das p12 problemlos importieren.

Firmware auf dem Gerät ist die aktuelle 10.40, außerdem ist der WLAN-Controller aktiviert.

Habt ihr eine Idee woran das liegen kann?

Danke!
Marco
Zuletzt geändert von marco.l am 25 Jun 2020, 21:12, insgesamt 1-mal geändert.
Benutzeravatar
LoUiS
Site Admin
Site Admin
Beiträge: 5031
Registriert: 07 Nov 2004, 18:29
Wohnort: Aix la Chapelle

Re: Zertifikatsupload in 1781A funktioniert nicht

Beitrag von LoUiS »

Probier mal Slot 2, geht es dort zu importieren?
Dr.House hat geschrieben:Dr. House: Du bist geheilt. Steh auf und wandle.
Patient: Sind Sie geisteskrank?
Dr. House: In der Bibel sagen die Leute schlicht "Ja, Herr" und verfallen dann ins Lobpreisen.
marco.l
Beiträge: 7
Registriert: 28 Mai 2020, 09:28

Re: Zertifikatsupload in 1781A funktioniert nicht

Beitrag von marco.l »

Import geht auch mit Slot 2 nicht, Fehlermeldungen sind die gleichen wie bei Slot1.
GrandDixence
Beiträge: 1054
Registriert: 19 Aug 2014, 22:41

Re: Zertifikatsupload in 1781A funktioniert nicht

Beitrag von GrandDixence »

Mit:

Code: Alles auswählen

# openssl pkcs12 -export -in zert.pem -inkey key.pem -certfile ca-certs.pem -out output.p12
sollte es unter LCOS 10.32 RU4 funktionieren.

=> Key.key durch key.pem ersetzen! Es muss alles im PEM-Format im p12-Container vorliegen!
https://serverfault.com/questions/9708/ ... d-key-file

Anleitungen zum Erstellen einer eigenen PKI mit OpenSSL findet man unter:
fragen-zum-thema-vpn-f14/windows-phone- ... tml#p86774
marco.l
Beiträge: 7
Registriert: 28 Mai 2020, 09:28

Re: Zertifikatsupload in 1781A funktioniert nicht

Beitrag von marco.l »

Hallo GrandDixence,

der Key war im PEM-Format. Ich habe jetzt das Passwort vom Priv-Key entfernt und nochmal getestet. -> gleicher Fehler
PKCS12 ohne Passwort erstellt, bringt beim Import ebenfalls "Bad Password" ?
Folgende Extented Key Usage ist gesetzt:

Code: Alles auswählen

X509v3 Extended Key Usage:
                TLS Web Client Authentication, 1.3.6.1.5.5.8.2.2, TLS Web Server Authentication
Kann 1.3.6.1.5.5.8.2.2 (Ike Intermediate System) zu dem Problem führen? Soll ich das mal entfernen lassen? Die CA die das Zertifikat ausstellt wird von jemand anderem betrieben.

Gruß, Marco
GrandDixence
Beiträge: 1054
Registriert: 19 Aug 2014, 22:41

Re: Zertifikatsupload in 1781A funktioniert nicht

Beitrag von GrandDixence »

Es sollte schon klar sein, dass keine einzige *.pem-Datei einen Passwortschutz respektive eine Verschlüsselung aufweisen darf.
Einzig die *.p12-Datei darf ein "Transportschutz-Passwort" aufweisen, welches man beim Hochladen im LCOS eingibt. Die *.p12-Datei ist mit diesem "Transportschutz-Passwort" verschlüsselt. Beim Hochladen wird die *.p12-Datei entschlüsselt+entpackt und der LANCOM-Router liest die einzelnen X.509-Zertifikate entsprechend aus und legt diese einzeln ab.

Mindestens eines in einer *.pem-Datei enthaltene X.509-Zertifikat liegt nicht im korrekten Format vor. Dies gilt es mit OpenSSL zu überprüfen:

Code: Alles auswählen

# openssl x509 -noout -text -in zukontrollierende.pem
Zusätzliche "Extended Key Usage" ist kein Problem.
marco.l
Beiträge: 7
Registriert: 28 Mai 2020, 09:28

Re: Zertifikatsupload in 1781A funktioniert nicht

Beitrag von marco.l »

Hallo GrandDixence,
vielen Dank für Deine Hilfe.

ich habe nochmal das Passwort entfernt und die unverschlüsselte private-Key Datei beim Packen des p12 Containers angegeben. Es zeigt sich das gleiche Bild. Aus meiner Sicht liegen die Zertifikate auch alle im korrekten Format vor.
Die Ausgabe als Text (mit dem von Dir genannten Code) funktioniert für Zertifikat und CA's, beim private Key geht es mit "rsa" statt "x509".

Die Dateien haben (aus meinem Verständnis) auch die korrekten Header:
- Zertifikat und CA's jeweils:

Code: Alles auswählen

-----BEGIN CERTIFICATE-----
- der private Key:

Code: Alles auswählen

-----BEGIN RSA PRIVATE KEY-----
Das verify gibt ein OK zurück:

Code: Alles auswählen

openssl verify -CAfile ca-certs.pem zert.pem
Aber nichts hilft. Importfehlermeldungen bleiben die selben. Ich habe auch mal den verzweifelten Versuch unternommen von meiner CA (per XCA verwaltet) ein Zertifikat auszustellen, das als p12 Container inkl. der CA und Intermediate exportiert und versucht zu importieren.... -> gleicher Fehler in grün. Er findet irgendwo den "CERTIFICATE" Header nicht wie der Parser ihn erwartet (mein Verständnis der Fehlermeldung) und meint "header too long".

Gibt es denn keine vernünftige Möglichkeit das zu debuggen?
GrandDixence
Beiträge: 1054
Registriert: 19 Aug 2014, 22:41

Re: Zertifikatsupload in 1781A funktioniert nicht

Beitrag von GrandDixence »

Ja, konnte ich selber auch reproduzieren, dass der private Key (key.pem) wegen dem "PEM private key"-Format nicht mit "openssl x509" als Text ausgegeben werden kann. Für das Auslesen vom "PEM private key"-Format ist offensichtlich "openssl rsa" erforderlich. Das Auslesen von zert.pem und ca-certs.pem funktioniert auch bei mir einwandfrei mit "openssl x509".

Und ja, gemäss:
https://serverfault.com/questions/9708/ ... d-key-file
ist die "korrekte" Dateiendung für das "PEM private key"-Format *.key und nicht *.pem. Also:

korrekt: key.key
falsch: key.pem

Man lernt nie aus :roll:

Als nächster Schritt zur Fehlereingrenzung empfehle ich das händische Hochladen der einzelnen *.pem/*.key-Dateien in den LANCOM-Router (zum Beispiel im Webinterface/Webconfig):

VPN - Root-CA-Zertifikat: ca-certs.pem
VPN - Geräte-Zertifikat: zert.pem
VPN - Privater-Geräte-Schlüssel: key.key

Beim Hochladen der *.p12-Datei als "VPN - Container (VPN1)" wird der p12-Container im LANCOM-Router-internen FLASH-Speicher unter:

VPN - Container (VPN1): /flash/security/vpn/vpn_pkcs12_int

abgelegt. Danach wird der p12-Container vom LANCOM-Router-internen OpenSSL entpackt. Die entpackten *.pem/*.key-Dateien werden dann entsprechend im LANCOM-Router-internen FLASH-Speicher abgelegt:

VPN - Root-CA-Zertifikat: /flash/security/vpn/vpn_rootcert
VPN - Geräte-Zertifikat: /flash/security/vpn/vpn_devcert
VPN - Privater-Geräte-Schlüssel: /flash/security/vpn/vpn_devprivkey

Das VPN-Modul arbeitet mit den einzelnen *.pem/*.key-Dateien aus dem LANCOM-Router-internen FLASH-Speicher.

Gemäss meiner Interpretation schlägt das Entpacken des p12-Containers fehl (=> Zeile 1+2 der Fehlermeldungen im ersten Beitrag). Das LANCOM-Router-interne OpenSSL stolpert über den Kopfteil (Header) des p12-Containers (too long => zu lang). Die restlichen Fehlermeldungen werden generiert, da die einzelnen *.pem/*.key-Dateien im FLASH-Speicher des LANCOM-Router fehlen und deren Einlesen mit dem LANCOM-Router-internen Openssl deshalb fehlschlägt (=> no start line). Meine Interpretation wird bestätigt, wenn das händische Hochladen der einzelnen *.pem/*.key-Dateien in den LANCOM-Router funktioniert.

Wie man:

Code: Alles auswählen

# man pkcs12
entnehmen kann, gibt es zahlreiche OpenSSL-Konfigurationsparameter, welche beim Erstellen des p12-Containers zu einer Inkompatibilität zum LANCOM-Router-internen OpenSSL führen könnten.

Solche Kompatibilitätsprobleme kann man vermeiden, indem man ein LTS Linux einsetzt (Long Term Support => Langzeitunterstützung). Die bekanntesten LTS Linux sind: Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise (SLED/SLES), Ubuntu LTS und CentOS. Generell empfehle ich im Linux-, BSD- und UNIX-Umfeld den Einsatz eines LTS Linux als Betriebssystem.

https://de.wikipedia.org/wiki/Red_Hat_Enterprise_Linux

https://de.wikipedia.org/wiki/SUSE_Linu ... ise_Server

https://de.wikipedia.org/wiki/Ubuntu

https://de.wikipedia.org/wiki/CentOS

https://kofler.info/centos-8-sechs-wochen-ohne-updates/

Gleiches gilt ja analog auch für das LANCOM-Betriebssystem LCOS. Auch hier sollte man den Stable-Zweig verwenden (aktuell LCOS 10.32 RU<xy>), damit Kompatibilitätsprobleme und weitere Probleme möglichst vermieden werden:
https://www.lancom-systems.de/produkte/ ... ebersicht/
marco.l
Beiträge: 7
Registriert: 28 Mai 2020, 09:28

Re: Zertifikatsupload in 1781A funktioniert nicht

Beitrag von marco.l »

Vielen Dank für den Hinweis zum Unterschied zwischen Stable / Release Version. Das war mir so noch nicht bekannt.
Ich nutze für die wichtigen Sachen nur LTS Linuxe, meist Ubuntu, wenn es sein muß CentOS (wg. der Binärkompatibilität zu RedHat).

Das einzelne Hochladen funktioniert leider ebenfalls nicht.
Schon beim Versuch das VPN CA-Zert über die WebUI hochzuladen, kommt als Meldung:

Code: Alles auswählen

Could not write to flashrom
Fehlermeldung im Syslog:

Code: Alles auswählen

2020-06-03 21:36:36 	KERN 	Error 	PKCS12_lcos_read_file: Error reading PKCS#12 file /flash/security/vpn/vpn_add_cas: Undefined error: 0
2020-06-03 21:36:36 	KERN 	Notice 	OpenSSL: 137:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:crypto/asn1/asn1_lib.c:101:
2020-06-03 21:36:36 	KERN 	Error 	PKCS12_lcos_read_cert_file: Error reading file /flash/security/vpn/vpn_rootcert: (Unknown error)
2020-06-03 21:36:36 	KERN 	Notice 	OpenSSL: 137:error:0909006C:PEM routines:get_name:no start line:crypto/pem/pem_lib.c:745:Expecting: CERTIFICATE
2020-06-03 21:36:36 	KERN 	Error 	PKCS12_lcos_read_cert_file: Error reading file /flash/security/vpn/vpn_devcert: (Unknown error)
2020-06-03 21:36:36 	KERN 	Notice 	OpenSSL: 137:error:0909006C:PEM routines:get_name:no start line:crypto/pem/pem_lib.c:745:Expecting: CERTIFICATE
2020-06-03 21:36:36 	KERN 	Error 	PKCS12_lcos_read_file: Error reading PKCS#12 file /flash/security/vpn/vpn_pkcs12_int: Undefined error: 0
2020-06-03 21:36:36 	KERN 	Notice 	OpenSSL: 137:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:crypto/asn1/asn1_lib.c:101:
2020-06-03 21:36:36 	KERN 	Error 	PKCS12_lcos_read_file: Error reading PKCS#12 file /flash/security/vpn/vpn_pkcs12_int2: Undefined error: 0
2020-06-03 21:36:36 	KERN 	Notice 	OpenSSL: 137:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:crypto/asn1/asn1_lib.c:101:
2020-06-03 21:36:36 	KERN 	Error 	PKCS12_lcos_read_file: Error reading PKCS#12 file /flash/security/vpn/vpn_add_cas: Undefined error: 0
2020-06-03 21:36:36 	KERN 	Notice 	OpenSSL: 137:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:crypto/asn1/asn1_lib.c:101:
2020-06-03 21:36:36 	KERN 	Error 	PKCS12_lcos_read_cert_file: Error reading file /flash/security/vpn/vpn_rootcert: (Unknown error)
2020-06-03 21:36:36 	KERN 	Notice 	OpenSSL: 137:error:0909006C:PEM routines:get_name:no start line:crypto/pem/pem_lib.c:745:Expecting: CERTIFICATE
2020-06-03 21:36:36 	KERN 	Error 	PKCS12_lcos_read_cert_file: Error reading file /flash/security/vpn/vpn_devcert: (Unknown error)
2020-06-03 21:36:36 	KERN 	Notice 	OpenSSL: 137:error:0909006C:PEM routines:get_name:no start line:crypto/pem/pem_lib.c:745:Expecting: CERTIFICATE
2020-06-03 21:36:36 	KERN 	Error 	PKCS12_lcos_read_file: Error reading PKCS#12 file /flash/security/vpn/vpn_pkcs12_int: Undefined error: 0
2020-06-03 21:36:36 	KERN 	Notice 	OpenSSL: 137:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:crypto/asn1/asn1_lib.c:101:
2020-06-03 21:36:36 	KERN 	Error 	PKCS12_lcos_read_file: Error reading PKCS#12 file /flash/security/vpn/vpn_pkcs12_int2: Undefined error: 0
2020-06-03 21:36:36 	KERN 	Notice 	OpenSSL: 137:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:crypto/asn1/asn1_lib.c:101:
Es sind die gleichen Fehlermeldungen, wie beim pkcs12 Upload. Da ist doch was faul?!

Ich konnte jetzt mal mit einem anderen Lancom testen, auf dem noch LCOS 10.32RU5 läuft. Dort lässt sich der p12 Container problemlos in den VPN1 Store hochladen.

Ist also ein Bug. Mist!

Danke für Deine ausführliche Hilfe!
GrandDixence
Beiträge: 1054
Registriert: 19 Aug 2014, 22:41

Re: Zertifikatsupload in 1781A funktioniert nicht

Beitrag von GrandDixence »

marco.l hat geschrieben: 03 Jun 2020, 21:50Ist also ein Bug. Mist!
Oder der FLASH-Speicher ist voll oder defekt. Oder etwas mit dem Dateisystem des FLASH-Speichers (YAFFS2) ist nicht in Ordnung. Siehe auch:
aktuelle-lancom-router-serie-f41/lancom ... ml#p100561
marco.l
Beiträge: 7
Registriert: 28 Mai 2020, 09:28

Re: Zertifikatsupload in 1781A funktioniert nicht

Beitrag von marco.l »

Im Flash ist noch etliches an Platz:
lancom_flash.png
Den Punkt Nand-Statistik gibts bei mir leider nicht :(
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
marco.l
Beiträge: 7
Registriert: 28 Mai 2020, 09:28

Re: Zertifikatsupload in 1781A funktioniert nicht

Beitrag von marco.l »

Das Thema hat sich gelöst. Auslöser ist ein Fehler im LCOS. Ich habe eine Supportfall bei Lancom aufgemacht und einen Daily Build der 10.40 erhalten. Mit diesem tritt das Problem nicht mehr auf.
Antworten