web-dev-qa-db-fra.com

Comment établir une connexion webdav avec l'authentification par certificat client TLS sous Ubuntu?

This answer marche bien pour établir des connexions webdav ou webdavs avec Nautilus.

Cependant, lorsque j'essaie ceci sur un partage webdav sécurisé avec une authentification de certificat client TLS auto-signée, je reçois:

Première:

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

Et après je clique sur oui:

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

... et je ne suis jamais demandé un certificat client. Je suis sous Ubuntu 16.04 avec Unity et aimerais de préférence fonctionner avec Nautilus. Il me faut des instructions, notamment l'installation du certificat client ).

PS: Cette question semble liée (pas identique), mais n'a pas de réponse non plus.

2
Bruni

Une solution qui a fonctionné, utilise davfs .

Installation

Installer davfs

Sudo apt-get install davfs2

Configuration

copiez ensuite le certificat de l'autorité de certification (au format pem) dans/ect/davfs2/certs et le certificat client (au format .p12) dans/ect/davfs/certs/private et modifiez le fichier de configuration, par exemple.

Sudo nano /etc/davfs2/davfs2.conf

en décommentant (en supprimant le #) les lignes trust_ca_cert et clientcert et en ajoutant les chemins complets aux certificats respectifs, par ex.

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

sauvegardez le fichier et quittez (Ctrl + OCtrl + x dans nano) et assurez-vous que le clientcert dispose des autorisations appropriées

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

Configurer éventuellement le fichier d'informations d'identification

Vous pouvez utiliser un fichier d'informations d'identification situé à l'adresse suivante:

/etc/davfs2/secrets

De cette façon, vous ne devrez pas entrer votre mot de passe à chaque fois. Le fichier contient de bons exemples de syntaxe, que je ne vais pas reproduire ici.

Usage

Pour monter le système de fichiers, exécutez

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

Désavantages

Les problèmes avec cette solution sont:

  1. Le site propose des liens sous la forme davs: // qui ne fonctionnent pas avec le scénario ci-dessus.

(Nous avons résolu ce problème en fournissant des liens dans le fichier formulaire: //

  1. Freefilesync renvoie l'erreur suivante lorsque j'essaie de synchroniser avec un dossier monté comme ci-dessus:

    Impossible de définir le verrouillage du répertoire pour "/ path/to/mountpoint".

    Impossible d'écrire le fichier "/path/to/mountpoint/sync.ffs_lock".

    Code d'erreur 13: autorisation refusée (ouverte)

update Pour remédier à cela, je suis passé à rsync.

2
Bruni

Comme il s'agit d'un certificat auto-signé, vous devez vous assurer que _ LES DEUX ont le certificat public CA installé.

Cela ne fonctionne généralement pas de la même manière pour tous les packages car certains n'utilisent pas le magasin de certificats central.

Voici quelques instructions sur l’installation des certificats de certification racine dans Ubuntu Comment installer un certificat racine?

0
Amias