web-dev-qa-db-ja.com

WebSVNは信頼できないHTTPS証明書を受け入れます

リモートリポジトリでwebsvnを使用しています。このリポジトリはhttpsプロトコルを使用します。 websvnを構成した後、websvnWebページにアクセスします。

svn --non-interactive --config-dir /tmp list --xml --username '***' --password '***' 'https://scm.gforge.....'
OPTIONS of 'https://scm.gforge.....': Server certificate verification failed: issuer is not trusted 

証明書を受け入れて保存するためにsvnコマンドを実行するようにwebsvnに指示する方法がわかりません。誰かがそれを行う方法を知っていますか?

更新:

できます!うまく整理されたものにするために、WebSVN構成ファイルを更新してSubversion構成ディレクトリを/ etc/Subversionに再配置しました。これはdebianのデフォルトパスです。

$config->setSvnConfigDir('/etc/Subversion');

/ etc/Subversion/serversで、グループを作成し、証明書を信頼に関連付けました。

[groups]
my_repo = my.repo.url.to.trust

[global]
ssl-trust-default-ca = true
store-plaintext-passwords = no

[my_repo]
ssl-authority-files = /etc/Apache2/ssl/my.repo.url.to.trust.crt
6
Laurent

これを解決するには、2つの方法があります。

オプション1:

ユーザーwebsvnへのsuは、として実行されており、ターゲットサーバーに対してsvn log https://your.secure.repo.com/repo/を実行します。その後、Subversionは証明書を受け入れるように要求する必要があり、永続的に受け入れることを選択できます。その後、証明書を使用しても問題ありません。

オプション2:

繰り返しますが、websvnプロセスが実行されているユーザーとして、〜/ .Subversion/usersを編集し、[global]セクションに追加します。

ssl-authority-files = /home/websvn/ssl/CAcert1.pem

何かが早い場合は、オプション1を使用します。それ以外の場合は、オプション2を使用します。

訂正

ポスターがコマンドで指摘したように、svnは--config-dirオプションを指定して呼び出されています。これは、Subversionがその構成がそのディレクトリ(この場合は/ tmp)にあることを期待することを意味します。したがって、サーバーと構成を〜/ .Subversion /から/ tmpディレクトリーにコピーすると、Subversionクライアントはそれらを使用します。

3
AJ01

3番目のより単純なオプションがあります。すべてのサーバー証明書を信頼するようにwebsvnを構成することができます。 include/config.php次の行を追加またはコメント解除します:

$config->setTrustServerCert();
3
Dustin Ingram