web-dev-qa-db-ja.com

SVNコマンドラインからSSL証明書をどのように受け入れますか?

プロンプトを回避する方法でSVNコマンドラインを使用してSSL証明書を永続的に自動的に受け入れるコマンドラインオプションはありますか?

20
James McMahon

SVNのバージョンによって多少異なります。最近の(1.6+)はいつもの--non-interactive(プロンプトを避けるために使用したい)と--trust-server-certそれはあなたが望むことをするかもしれません。

20
pjz

--trust-server-certを使用しても、SSL証明書は永続的に受け入れられません。 Input Redirectionを使用し、--non-interactiveを使用しないで、コマンドラインからSSL証明書を永続的に受け入れることができます。

Unix/Linuxの例を次に示します。

svn list [TARGET] << EOF
p
EOF

注:上記の "p"は(p)を永久に表すためのものです。

10
Jesse

私のソリューションは期待を使用しています。安全ではありませんが、他のソリューションが安全でないときに機能します。

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

証明書をダウンロードして、適切なディレクトリに配置できるはずです。または、CA証明書をダウンロードしてから、構成オプションssl-authority-filesを設定して、そのCAを信頼します。

本の SSL Certificate Management セクションを参照してください。

0
Zoredache