如何使用SharpSvn自定义的证书颁发机构,而无需安装证书(How do I use a cust

2019-10-30 06:41发布

我试图访问使用SharpSvn Subversion库。 该仓库仅可通过HTTPS和机器用自己的私钥证书颁发机构(不用担心安全在这里,我相信权威)。

我有证书颁发机构的公共根证书,但是由于用户访问权限,我可以在没有证书安装到证书存储区。

如果我直接用颠覆,我可以添加:

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

无论是作为命令线对象或配置文件。

如何在SharpSvn设置这些选项,这样我就可以使用cacert.crt文件,这样我不明白“证书验证失败”当我试图进入我的仓库,我没有忽略这个错误?

非常感谢

Answer 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");

在自助道歉,希望它有助于下一个人。



Answer 2:

扩大对伯特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
}


文章来源: How do I use a custom Certificate Authority in SharpSvn without installing the certificate