我试图访问使用SharpSvn Subversion库。 该仓库仅可通过HTTPS和机器用自己的私钥证书颁发机构(不用担心安全在这里,我相信权威)。
我有证书颁发机构的公共根证书,但是由于用户访问权限,我可以在没有证书安装到证书存储区。
如果我直接用颠覆,我可以添加:
servers:global:ssl-authority-files=/path/to/cacert.crt
servers:groups:myhost=myhostsdns.com
无论是作为命令线对象或配置文件。
如何在SharpSvn设置这些选项,这样我就可以使用cacert.crt文件,这样我不明白“证书验证失败”当我试图进入我的仓库,我没有忽略这个错误?
非常感谢
它是如何,它,你问的问题只有在你知道答案的?
我解决了这个通过设置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");
在自助道歉,希望它有助于下一个人。
扩大对伯特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