我使用 SharpSVN 并在 subversion 中添加了一个文件夹。然后我尝试提交它,并得到以下异常:SharpSvn.SvnRepositoryIOException: OPTIONS of 'https://sth.com/svn/blah/Documents': Server certificate verification failed: certificate has expired, certificate issued for a different hostname, issuer is not trusted
就我在这里看到的:
Server certificate verification failed
..似乎我必须使用 --trust-server-cert
选项,但我在 SvnCommitArgs
的参数中没有看到这一点。
另外,我发现了这个:
How do I use a custom Certificate Authority in SharpSvn without installing the certificate
..我在哪里看到这个:
client.Configuration.SetOption(...)
但我不知道我必须提供哪些设置才能使其毫无问题地提交。
有没有人做过类似的事情?
编辑:
我也试过这样做:
client.Authentication.SslServerTrustHandlers += new EventHandler<SharpSvn.Security.SvnSslServerTrustEventArgs>(Authentication_SslServerTrustHandlers);
void Authentication_SslServerTrustHandlers(object sender, SharpSvn.Security.SvnSslServerTrustEventArgs e)
{
// Accept ceritificate here?
}
但是我不明白我必须在处理程序内部做什么才能接受证书... :(
最佳答案
好的。我解决了这个问题,现在我遇到了另一个错误。
你需要做的是:
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
}
关于c# - SharpSVN - 服务器证书验证失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17211545/