Windows Desktop Client: Das SSL-Client-Zertifikat konnte nicht geladen werden

Hallo,

ich habe auf einem VPS, auf dem Ubuntu 22.04.4 läuft, einen Nextcloud Server in der Version 29.0.4 laufen. Als Webserver verwende ich Apache in der Version 2.4.52.

Auf meinem lokalen PC habe ich Windows 10.0.19045 laufen und nutze den Nextcloud Desktop Client in der Version 3.13.2 (64bit).

Der Webserver ist so konfiguriert, dass man ein Client-Zertifikat benötigt, um sich mit dem Server und somit auch mit Nextcloud verbinden zu können. Das bisherige Client-Zertifikat hatte ich auch im Nextcloud-Desktop-Client hinterlegt und konnte problemlos Dateien auf meiner Festplatte mit dem Nextcloud-Server synchronisieren.

Dieses Setup verwende ich bereits seit ziemlich genau einem Jahr und hatte da bisher keine Probleme mit. Jetzt ist das Client-Zertifikat abgelaufen, daher musste ich ein Neues erstellen. Dabei sollte ich dieselben Schritte durchgeführt haben wie beim ersten Zertifikat.

Ich habe das neue Client-Zertifikat bereits in meinem Browser hinterlegt und kann mich mit dem Browser ohne Probleme auf meinen VPS verbinden. Das gilt auch für das Webinterface meines Nextcloud-Servers, ich kann mich dort über den Browser ohne Schwierigkeiten einloggen und meine Dateien sehen.

Wenn ich aber versuche, dasselbe Client-Zertifikat beim Nextcloud-Desktop-Client zu hinterlegen, bekomme ich die Fehlermeldung “Das Zertifikat konnte nicht geladen weren. Vielleicht ein falsches Passwort?”

Ich benutze im Desktop-Client dasselbe Zertifikat und dasselbe Passwort wie im Browser. Der Browser akzeptiert das Zertifikat ohne Fehler, in Nextcloud komme ich nicht weiter.

Ich habe bereits versucht, den Nextcloud-Client zu deinstallieren und neu zu installieren, das hatte aber keinen Effekt.

Im Nextcloud-Log bin ich über diese Zeilen gestolpert:

2024-08-19 19:32:31:281 [ warning qt.network.ssl unknown:0 ]:	Unable to parse PKCS#12 structure, error:0308010C:digital envelope routines::unsupported
2024-08-19 19:32:31:910 [ warning qt.network.ssl unknown:0 ]:	Unable to parse PKCS#12 structure, error:0308010C:digital envelope routines::unsupported
2024-08-19 19:32:47:030 [ warning qt.network.ssl unknown:0 ]:	Unable to parse PKCS#12 structure, error:11800071:PKCS12 routines::mac verify failure
2024-08-19 19:32:47:872 [ warning qt.network.ssl unknown:0 ]:	Unable to parse PKCS#12 structure, error:11800071:PKCS12 routines::mac verify failure

Hat jemand eine Idee, was hier das Problem sein könnte? Ist mein Zertifikat speziell mit Nextcloud inkompatibel? Worauf muss ich achten, wenn ich ein Client-Zertifikat erstellen möchte, dass der Nextcloud-Client akzeptiert?

Ich konnte das Problem in der Zwischenzeit lösen. Es lag tatsächlich an der Art und Weise, wie ich das Client-Zertifikat erstellt habe.

Ich hatte das Zertifikat zunächst mit OpenSSL mit diesem Befehl erstellt:

openssl pkcs12 -export -in <Zertifikatdatei>.pem -inkey <Keydatei>.pem -out <PFX-Datei>.pfx

Damit habe ich eine *.pfx-Datei erhalten, die laut eigener Aussage mit folgendem Algorithmus verschlüsselt ist:

pbeWithSHA1And40BitRC2-CBC

Die Datei hat im Nextcloud wie gesagt zu der genannten Fehlermeldung geführt.

Ich habe die *.pfx-Datei jetzt nochmal mit dem -descert Parameter erstellt:

openssl pkcs12 -export -descert -in <Zertifikatdatei>.pem -inkey <Keydatei>.pem -out <PFX-Datei>.pfx

Die damit erzeugte Datei verwendet dann diesen Algorithmus:

pbeWithSHA1And3-KeyTripleDES-CBC

Und diese Datei wird vom Nextcloud-Client akzeptiert.