服务器证书验证失败:颁发者不受信任

Sha*_*aun 66 svn ant

运行ANT脚本目标时,我遇到错误.错误消息"服务器证书验证失败".请帮助解决此问题.我在Windows XP中工作.

C:\apache-ant-1.8.1>ant checkout
Buildfile: C:\Program Files\Java\apache-ant-1.8.1\build.xml

checkout:
[svn] Using command line interface
Svn : Checking out a working copy from a repository :
co -r HEAD https://col.../trunk C:\ant-1.8.1\Test_Checkout 
--username 69 --password *******--non-interactive
svn: PROPFIND request failed on '/svn/asia-pac-financials/trunk'
svn: PROPFIND of '/sv.../trunk': 
Server certificate verification failed: 
issuer is not trusted (https://col....com)

BUILD FAILED
C:\apache-ant-1.8.1\build.xml:16: Can't checkout

Total time: 3 seconds
Run Code Online (Sandbox Code Playgroud)

Jos*_*seK 139

您可以尝试使用命令行svn checkout手动运行一次到您的URL https://yoururl/trunk C:\ant-1.8.1\Test_Checkout并接受证书.

或者@AndrewSpear在下面说

而不是svn list https://your.repository.url从终端(Mac)/命令行(Win)手动运行,以获得永久接受证书的选项

svn会要求你确认.永久地接受它.

之后,这应该适用于来自ant脚本的后续请求.

  • 而不是手动检出我只是从终端(Mac)/命令行(Win)运行`svn list https:// your.repository.url`以获得永久接受证书的选项. (27认同)
  • 在 OS XI 上,需要将 sudo 与 svn list 命令一起使用,否则选择 (p)ermanent 似乎不起作用。 (2认同)

and*_*nov 48

对所有可用选项运行"svn help commit".您将看到有一个选项负责接受服务器证书:

--trust-server-cert :接受未知的SSL服务器证书而不提示(但仅限于--non-interactive)

将它添加到您的svn命令参数中,您不需要手动运行svn来永久接受它.

  • 如果服务器向您发送的主机名值与实际服务器主机名不同,则不起作用 (28认同)
  • 这是自动脚本的最佳解决方案,通常不会接受已接受答案中列出的步骤.应该注意的是,盲目接受SSL证书基本上会破坏SSL的整个目的,因此可以打开你的MitM攻击. (3认同)
  • --trust-server-cert 现在已弃用,并且不再像以前那样工作。等效参数是`--trust-server-cert-failures=unknown-ca,cn-mismatch,expired,not-yet-valid,other`。见 http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.commit.html (3认同)

Kuf*_*Kuf 11

我不会用:

svn checkout
Run Code Online (Sandbox Code Playgroud)

只是为了授权服务器身份验证,我宁愿使用:

svn list https://your.repository.url
Run Code Online (Sandbox Code Playgroud)

它也会要求你进行身份验证.

如果需要这样才能获得无法登录的用户的授权,请运行:

sudo -u username svn list https://your.repository.url
Run Code Online (Sandbox Code Playgroud)