当我在命令行中执行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) )
答案 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