PKCS12-Export übers WebUI erzeugt korrumpierte Dateien?

Started by Weltherrscher, August 02, 2024, 12:31:30 PM

Previous topic - Next topic
Hallo zusammen,

ich habe - bedingt durch den Umstieg auf Unifi-APs - versucht, mein internes Zertifikat als PKCS12 zu exportieren.
Der Keystore-Explorer, welchen man benötigt, um den Java-Keystore des Unifi-Controllers upzudaten, akzeptiert Schlüssel nur im PKCS12-Format... -.-

Also, Vorgehen:
1. Export des intern genutzten Zertifikates (erzeugt auf der OPNsense) als PKCS12 im WebUI
2. Import der Datei in den Keystore-Explorer unter Windows, eigentlich egal, da Java-Anwendung)
3. Fehlermeldung: Datei korrupt oder Passwort nicht korrekt (PW IST korrekt gewesen, 4x versucht)

Workaround probiert:
1. Konfiguration samt Zertifikaten aus der OPNsense exportiert
2. entsprechende PEMs mittels Notepad++ aus der Konfigurationsdatei extrahiert
3. mittels openssl (unter Windows) ein PKCS12 mit dem cert.pem, key.pem und demselben Passwort wie oben erzeugt
4. die Datei im Keystore-Explorer importiert
5. fluppt.

Aufgefallen ist mir das Verhalten mit v24.7, aber ich möchte nicht meine Hand dafür ins Feuer legen, dass der Export übers WebUI schon länger kaputt sein könnte.
Falls er das nicht ist, was habe ich beim Export falsch gemacht?


Oh Mann, danke.
Das teste ich heute Nachmittag gleich mal, könnte tatsächlich daran liegen.
Mein OpenSSL auf Windows ist noch ne uralte Installation...

August 02, 2024, 02:25:11 PM #3 Last Edit: August 02, 2024, 02:28:15 PM by Weltherrscher
Nope, siehe Screenshot und Code.

cert.p12 -> Export aus WebUI
bundle_v1.1.p12 -> exportierte PEMs (aus dem WebUI) mit openssl 1.1.1w zusammengefügt
bundle_v3.p12 -> exportierte PEMs (aus dem WebUI) mit openssl 3.3.1 zusammengefügt


e:\Progs\Security\openssl-3\x64\bin>openssl pkcs12 -info -in cert.p12
B47E0000:error:0680007B:asn1 encoding routines:ASN1_get_object:header too long:..\crypto\asn1\asn1_lib.c:105:

e:\Progs\Security\openssl-3\x64\bin>openssl pkcs12 -info -in bundle_v1.1.p12
Enter Import Password:

MAC: sha1, Iteration 2048
MAC length: 20, salt length: 8
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Error outputting keys and certificates
E4680000:error:0308010C:digital envelope routines:inner_evp_generic_fetch:unsupported:..\crypto\evp\evp_fetch.c:355:Global default library context, Algorithm (RC2-40-CBC : 0), Properties ()

e:\Progs\Security\openssl-3\x64\bin>openssl pkcs12 -info -in bundle_v3.p12
Enter Import Password:

MAC: sha256, Iteration 2048
MAC length: 32, salt length: 8
PKCS7 Encrypted data: PBES2, PBKDF2, AES-256-CBC, Iteration 2048, PRF hmacWithSHA256
Certificate bag
Bag Attributes
    localKeyID: 57 3C ... 60 87
subject=C=DE, blah blubb server-rsa
issuer=C=DE, blah blubb -ca
-----BEGIN CERTIFICATE-----
MIIHaDkBFg9pdEBhbHRlbmhlaW0uaXQxHjAc...



Habs mal auf Github angemerkt, lag wohl daran, dass der Browser mit Binärblobs komische Dinge macht.
Wird gefixt:
https://github.com/opnsense/core/issues/7703