it-swarm.com.de

Wie stelle ich eine Webdav-Verbindung mit der TLS-Client-Zertifikat-Authentifizierung in Ubuntu her?

This answer funktioniert Nizza zum Herstellen von Webdav- oder Webdavs-Verbindungen mit Nautilus.

Wenn ich dies jedoch auf einer Webdav-Freigabe versuche, die mit einer selbstsignierten TLS-Clientzertifikatsauthentifizierung gesichert ist, erhalte ich Folgendes:

Zuerst:

The signing certificate authority is not known.
Certificate information:
....
Are you really sure you would like to continue?

Und nachdem ich auf Ja geklickt habe:

...Unhandled error message: HTTP Error: Error performing TLS handshake: A TLS fatal allert has been received.

... und ich werde nie nach einem Client-Zertifikat gefragt. Ich bin mit Unity auf Ubuntu 16.04 und möchte , dass dies vorzugsweise mit Nautilus funktioniert. Ich benötige Anweisungen, einschließlich der Installation des Client-Zertifikats (und der CA-Autorität) ).

PS: Diese Frage scheint verwandt (nicht identisch), hat aber auch keine Antwort.

2
Bruni

Eine Lösung, die funktioniert hat, ist die Verwendung von davfs .

Installation

Installieren Sie davfs

Sudo apt-get install davfs2

Aufbau

kopieren Sie dann das Zertifikat von der Zertifizierungsstelle (im PEM-Format) nach/ect/davfs2/certs und das Client-Zertifikat (im P12-Format) nach/ect/davfs/certs/private und ändern Sie die Konfigurationsdatei, z.

Sudo nano /etc/davfs2/davfs2.conf

indem die Zeilen trust_ca_cert und clientcert auskommentiert (das # entfernt) und die vollständigen Pfade zu den jeweiligen Zertifikaten hinzugefügt werden, z.

trust_ca_cert         /etc/davfs2/certs/ca.cert.pem
#servercert
clientcert            /etc/davfs2/certs/private/xxx.yyy.com.p12

speichern Sie die Datei und beenden Sie (Ctrl + OCtrl + x in nano) und stellen Sie sicher, dass das Client-Zertifikat die richtigen Berechtigungen hat

Sudo su
chmod 0600 /etc/davfs2/certs/private/xxx.yyy.com.p12
exit

Konfigurieren Sie optional die Anmeldeinformationsdatei

Sie können eine Anmeldedatei verwenden, die sich unter folgender Adresse befindet:

/etc/davfs2/secrets

Auf diese Weise müssen Sie nicht jedes Mal Ihr Passwort eingeben. Die Datei enthält gute Beispiele für ihre Syntax, die ich hier nicht replizieren werde.

Verwendungszweck

Führen Sie den folgenden Befehl aus, um das Dateisystem einzuhängen

Sudo mount -t davfs -o uid=bruni,gid=users https://serveraddress /home/bruni/mountpoint

Nachteile

Die Probleme mit dieser Lösung sind:

  1. Die Website bietet Links in der Form davs: //, die mit dem obigen Szenario nicht funktionieren

(Wir haben diese Serverseite durch die Bereitstellung von Links in der Formulardatei gelöst: //

  1. Freefilesync gibt den folgenden Fehler zurück, wenn ich versuche, mit einem wie oben gemounteten Ordner zu synchronisieren:

    Die Verzeichnissperre für "/ path/to/mountpoint" kann nicht festgelegt werden.

    Datei "/path/to/mountpoint/sync.ffs_lock" kann nicht geschrieben werden.

    Fehlercode 13: Berechtigung verweigert (offen)

update Um dies zu mildern, habe ich auf rsync umgestellt.

2
Bruni

Da dies ein selbstsigniertes Zertifikat ist, müssen Sie sicherstellen, dass auf BEIDEN Enden das öffentliche CA-Zertifikat installiert ist.

Dies funktioniert normalerweise nicht bei allen Paketen auf die gleiche Weise, da einige den zentralen Zertifikatspeicher nicht verwenden.

Hier sind einige Anweisungen zum Installieren von CA-Stammzertifikaten in Ubuntu Wie installiere ich ein Stammzertifikat?

0
Amias