Как принять SSL-сертификат через командную строку SVN?

Как принять SSL-сертификат через командную строку SVN?

Существует ли опция командной строки для автоматического принятия SSL-сертификата на постоянной основе с помощью командной строки SVN, избегая при этом запроса?

решение1

Это зависит от вашей версии SVN. Последние (1.6+) имеют обычный --non-interactive(который вы хотите использовать, чтобы избежать подсказок), а также , --trust-server-certкоторый может делать то, что вы хотите.

решение2

Использование --trust-server-certне будет постоянно принимать сертификат SSL. Вы можете постоянно принимать сертификат SSL через командную строку, используяПеренаправление вводаи не использовать --non-interactive.

Вот пример для Unix/Linux:

svn list [TARGET] << EOF
p
EOF

ПРИМЕЧАНИЕ:Буква «p» выше означает (p)permanently.

решение3

Мое решение использует expect. Это небезопасно, но будет работать, когда другие решения не будут.

#!/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@.*:\/#"

решение4

Вы должны иметь возможность загрузить сертификат и затем поместить его в соответствующий каталог. Или вы можете загрузить сертификат CA и затем установить опцию конфигурациифайлы-авторитетов-sslдоверять этому CA.

СмотритеУправление SSL-сертификатамираздел в книге.

Связанный контент