0

SharpSvnを使用してSubversionリポジトリにアクセスしようとしています。リポジトリはhttps経由でのみ利用可能であり、マシンは独自のプライベート認証局を使用します(ここでのセキュリティについて心配する必要はありません。私はその認証局を信頼しています)。

認証局の公開ルート証明書を持っていますが、ユーザーアクセス権のため、証明書を証明書ストアにインストールできません。

Subversionを直接使用する場合は、次を追加できます。

servers:global:ssl-authority-files=/path/to/cacert.crt
servers:groups:myhost=myhostsdns.com

コマンドラインオブジェクトまたは設定ファイルのいずれかとして。

SharpSvnでこれらのオプションを設定して、cacert.crtファイルを使用して、リポジトリにアクセスしようとしたときに「証明書の検証に失敗しました」と表示されないようにするにはどうすればよいですか。エラーを無視する必要はありません。

どうもありがとう

4

2 に答える 2

1

質問をして初めて答えに気付くのはどうしてですか?

SvnClientオブジェクトの構成オプションを次のように設定することでこれを解決しました。

SvnClient _svnClient = new SvnClient();
_svnClient.Configuration.SetOption("servers", "global", "ssl-authority-files", "/path/to/cacert.crt");
_svnClient.Configuration.SetOption("servers", "groups", "myhost", "myhostsdns.com");

自助についてお詫びします、それが次の人を助けることを願っています。

于 2012-07-28T15:20:55.287 に答える
0

Bert Huijben(上記)のコメントを拡張します:

client.Authentication.SslServerTrustHandlers += new EventHandler<SharpSvn.Security.SvnSslServerTrustEventArgs>(Authentication_SslServerTrustHandlers);
void Authentication_SslServerTrustHandlers(object sender, SharpSvn.Security.SvnSslServerTrustEventArgs e)
{
    // Look at the rest of the arguments of E, whether you wish to accept

    // If accept:
    e.AcceptedFailures = e.Failures;
    e.Save = true; // Save acceptance to authentication store
}
于 2013-06-20T12:12:36.577 に答える