4

我有一个问题,当我做 curl 请求或 git push 时,这告诉我

curl: (35) gnutls_handshake() failed: 公钥签名验证失败。

卷曲--版本

curl 7.50.1 (x86_64-pc-linux-gnu) libcurl/7.50.1 GnuTLS/3.5.3 zlib/1.2.8 libidn/1.33 libssh2/1.7.0 nghttp2/1.14.0 librtmp/2.3 协议:dict文件ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp 特性:AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets

我已经完成了:将 curl 更新并降级到 7.38 版,但这对我没有帮助。对不起我的英语,tnx。

4

4 回答 4

19
dpkg -l | grep libgnutls

ii  libgnutls-deb0-28:amd64              3.3.8-6+deb8u3              amd64        GNU TLS library - main runtime library
ii  libgnutls-openssl27:amd64            3.3.8-6+deb8u3              amd64        GNU TLS library - OpenSSL wrapper
ii  libgnutls30:amd64                    3.5.7-2                     amd64        GNU TLS library - main runtime library

sudo apt-get remove --purge libgnutls-deb0-28

...为我工作。

于 2016-12-25T03:58:41.893 回答
3

降级到 curl 7.38.0 后,我还不得不降级:

$ sudo apt-mark hold libcurl3-gnutls
$ sudo apt-get install libcurl3-gnutls=7.38.0-4+deb8u4

然后错误消失了。我在debian jessie上。

于 2016-10-09T18:49:01.617 回答
1

我也不得不降级 libcurl3 和 curl

sudo apt-get install libcurl3-gnutls=7.38.0-4+deb8u4 curl=7.38.0-4+deb8u4 libcurl3=7.38.0-4+deb8u4 

```

也适用于 Debian 测试.. 需要降级到 Jessie 的 libcurl3

于 2016-11-14T10:46:02.100 回答
1

将 curl 降级到 7.38.0 将适用于 https url

首先你可以尝试通过 apt-get 来移除 curl,其实 apt-get 并不能移除所有的依赖!然后使用 aptitude 安装 curl 7.38.0,请看下面的命令

apt-get remove --auto-remove curl

能力安装 curl=7.38.0-4+deb8u4

以下操作将解决这些依赖关系:

 Keep the following packages at their current version:

1) curl [未安装]

接受这个解决方案?[是/n/q/?] n

以下操作将解决这些依赖关系:

 Install the following packages:

1) libcurl3 [7.38.0-4+deb8u4 (stable)] 接受这个解决方案?[Y/n/q/?]

于 2016-10-26T08:28:04.607 回答