Como você aceita um certificado SSL por meio da linha de comando do SVN?

Como você aceita um certificado SSL por meio da linha de comando do SVN?

Existe uma opção de linha de comando para aceitar automaticamente um certificado SSL permanentemente usando a linha de comando SVN de uma forma que evite o prompt?

Responder1

Depende um pouco da sua versão do SVN. Os recentes (1.6+) têm o usual --non-interactive(que você deseja usar para evitar avisos) e também um --trust-server-certque pode fazer o que você quiser.

Responder2

O uso --trust-server-certnão aceitará permanentemente o certificado SSL. Você pode aceitar permanentemente o certificado SSL através da linha de comando usandoRedirecionamento de entradae não usando --non-interactive.

Aqui está um exemplo para Unix/Linux:

svn list [TARGET] << EOF
p
EOF

OBSERVAÇÃO:O "p" acima é para (p) permanentemente.

Responder3

Minha solução usa expect. Não é seguro, mas funcionará quando as outras soluções não.

#!/usr/bin/expect -f

set svn_username [lindex $argv 0]
set svn_password [lindex $argv 1]
set svn_url [lindex $argv 2]

spawn svn --username=${svn_username} --password=${svn_password} list ${svn_url}
expect "(R)eject, accept (t)emporarily or accept (p)ermanently? "
send -- "p\r"
expect "Store password unencrypted (yes/no)? "
send "no\r"
expect -re "root@.*:\/#"

Responder4

Você deve conseguir baixar o certificado e colocá-lo no diretório apropriado. Ou você pode baixar o certificado CA e definir a opção de configuraçãoarquivos de autoridade sslconfiar nessa CA.

Veja oGerenciamento de certificados SSLseção do livro.

informação relacionada