服务器证书验证失败

时间:2011-03-02 09:24:09

标签: svn

当我在命令行中执行svn时:

command: svn commit path -m "Uploaded By  User" --username username 
  --password password  --non-interactive --trust-server-cert  --quiet 2>&1

这会导致错误:

  

阵       (           [0] => svn:提交失败(详情如下):           [1] => svn:'svn url'的选项:服务器证书验证失败:证书已过期,颁发者不受信任(svn url:8443)       )

7 个答案:

答案 0 :(得分:3)

您是否在没有--trust-server-cert选项的情况下尝试:它会要求您接受/拒绝证书。 --trust-server-cert选项仅在svn 1.6

之后可用

答案 1 :(得分:2)

我通过控制台修复:

rm ~/.subversion/auth/svn.ssl.server/*

答案 2 :(得分:2)

Tortoise SVN解决方案:

我刚刚遇到这种情况,今天在Windows 7上运行尝试使用git bash中的svn。我试图点击服务器的任何命令都会得到相同的“服务器证书验证失败:证书已过期,颁发者不受信任”。通常,只是继续尝试命中服务器将导致svn然后询问您是否信任服务器。如果你说是,那么一切都很好。

然而,这一次,这一切都没有奏效。我终于注意到我使用的svn是Tortoise SVN安装的一部分。所以我拉起文件资源管理器,尝试通过Tortoise控件更新我的目录。

乌龟完美地处理了一切。我有一个窗口询问我是否信任服务器。我永远说是的。然后它问我的用户名和密码。在我给出之后,Tortoise更新了文件夹,当我尝试通过命令行与服务器交互时,这也很好。

结论:如果您使用命令行svn作为Tortoise软件包的一部分在Windows上,请尝试直接通过Tortoise控件进行更新。

答案 3 :(得分:0)

您正在使用与Web服务器的SSL连接(即:您的存储库路径以https://开头),并且该服务器上安装的certifiacte已过期。

您需要联系服务器的管理员以更新证书(如果符合您的安全要求,则使用非SSL签出)。

答案 4 :(得分:0)

这恰好发生在我本地使用PhpStorm IDE并在我的服务器上使用自签名证书,该证书开始报告"错误:服务器SSL证书被拒绝"今天(已经过期了),我通过去终端并进行了更新"回复:

Error validating server certificate for 'https://example.com:443':
 - The certificate is not issued by a trusted authority.
Use the fingerprint to validate the certificate manually!
 - The certificate hostname does not match.
 - The certificate has expired.
Certificate information:
 - Hostname: *.example.com
 - Valid: from Jun  6 13:18:35 2010 GMT until Jun  5 13:18:35 2015 GMT
 - Issuer: (jonny@example.com)
 - Fingerprint: **:**:**:**:**:**:**:**:**:**:**:**:**:etc
(R)eject, accept (t)emporarily or accept (p)ermanently?

回复" p"更新了我信任的证书,一切都很好。

然而只有当你真的信任服务器时才使用它,当然!

希望能帮到别人!

答案 5 :(得分:0)

我有这个问题,但是对于Netbeans 8.1问题,我有一个旧的cvsdude存储库URL,现在是cloudforge。因此,我所要做的就是进入团队/工作副本/重新定位,并将旧网址更改为新网址并修复我的问题。

答案 6 :(得分:0)

--trust-server-cert的含义已更改,现在指定了等效行为,如下所示:

svn checkout https://your.repository.url/ --non-interactive --trust-server-cert-failures="unknown-ca,cn-mismatch,expired,not-yet-valid,other" --username=blah --password=blah