Como estabelecer uma conexão webdav com autenticação de certificado de cliente TLS no Ubuntu?

2

Esta resposta funciona bem para estabelecendo conexões webdav ou webdavs com o nautilus.

No entanto, quando eu tento isso em um compartilhamento de webdav protegido com uma autenticação de certificado de cliente TLS auto-assinado, recebo:

Primeiro:

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

E depois clico em sim:

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

... e nunca me pedem um certificado de cliente. Eu estou no Ubuntu 16.04 com o Unity e preferiria assim para trabalhar com o Nautilus. Preciso de instruções, incluindo a instalação do certificado do cliente (e a autoridade da autoridade de certificação).

PS: Isto

    
por Bruni 18.05.2016 / 10:07

2 respostas

2

Uma solução que funcionou é usar o davfs .

Instalação

Instale o davfs

sudo apt-get install davfs2

Configuração

copie o certificado da CA (no formato pem) para / ect / davfs2 / certs e o certificado do cliente (no formato .p12) para / ect / davfs / certs / private e modifique o arquivo de configuração, por exemplo

sudo nano /etc/davfs2/davfs2.conf

removendo o comentário (removendo o #) as linhas trust_ca_cert e clientcert e adicionando os caminhos completos aos respectivos certificados, por exemplo,

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

salve o arquivo e saia ( Ctrl + O , Ctrl + x no nano) e certifique-se o clientcert tem as permissões corretas

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

Uso

Para montar a execução do sistema de arquivos

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

Desvantagens

Os problemas com esta solução são:

  1. Eu preciso digitar a senha do certificado toda vez que eu montar o compartilhamento de webdav (senhas de certificado não devem ser conhecidas usuários, e eles são bastante longos) update : isso não é totalmente verdade. Você pode usar o arquivo de credencial /etc/davfs2/secrets .
  2. O site oferece links no formulário davs: // que não funcionam com o cenário acima
  3. O Freefilesync retorna o seguinte erro quando tento sincronizar com uma pasta montada como acima:

>

Cannot set directory lock for "/path/to/mountpoint".

Cannot write file "/path/to/mountpoint/sync.ffs_lock".

Error Code 13:Permission denied (open)

update Para atenuar isso, mudei para o rsync. Portanto, eu preferiria uma resposta envolvendo instruções sobre como fazer isso usando o método padrão Nautilus, ou alguns remédios para os problemas mencionados acima.

    
por Bruni 08.06.2016 / 14:29
0

Como este é um certificado auto-assinado, você precisará garantir que BOTH termine o certificado público da CA instalado.

Isso normalmente não funciona da mesma maneira para todos os pacotes, já que alguns não fazem uso do armazenamento central de certificação.

Heres algumas instruções sobre a instalação de certificados de CA raiz no Ubuntu Como faço para instalar um certificado raiz?

    
por Amias 07.06.2016 / 17:40