curl 错误 35:无法接收握手,SSL/TLS 连接失败
curl error 35 : failed to receive handshake, SSL/TLS connection failed
当我尝试执行此 curl 命令时:
curl -v --key some_key_file.key --cert certificate_file.pem --show-error --header "Content-Type: application/json;charset=UTF-8" https://some-api/service
我收到以下错误:curl: (35) schannel: 无法接收握手,SSL/TLS 连接失败
以及完整的执行日志:
我在网上搜索了这个错误,但没有找到任何人解释它的真正含义。
- 你知道根源可能是什么吗?
- 你知道是否有办法获得有关该错误的更多信息吗?
原来问题出在我的 curl 版本上,出于某种原因,它不接受参数 --cert 和 --key。
为了解决这个问题,我安装了一个全新的 curl 版本,运行 它从 instllation 文件夹中安装了它并且它起作用了。
我也尝试安装最新的 curl(如下所示),但它没有解决我的问题。
curl 7.77.0 (x86_64-pc-win32) libcurl/7.77.0 OpenSSL/1.1.1k (Schannel)
zlib/1.2.11 brotli/1.0.9 zstd/1.5.0 libidn2/2.3.1 libssh2/1.9.0
nghttp2/1.43.0 libgsasl/1.10.0 Release-Date: 2021-05-26 Protocols:
dict file ftp ftps gopher gophers http https imap imaps ldap ldaps
mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS brotli gsasl HSTS HTTP2 HTTPS-proxy IDN
IPv6 Kerberos Largefile libz MultiSSL NTLM SPNEGO SSL SSPI TLS-SRP
Unicode UnixSockets zstd
运行 来自 curl 包所在路径的命令。
如果你放在 c:\curl goto this path 和 运行 curl 命令它会工作。
修复了从 https 中删除 's'。
当您位于仅允许通过应用程序进行 SSL 连接的 7 层防火墙(即 Palo Alto)后面时,会发生此错误,因此您必须在此类解决方案中配置 2 条规则。
- 允许 443 或任何具有更高优先级的端口
- 允许优先级较低的应用程序 SSL
当我尝试执行此 curl 命令时:
curl -v --key some_key_file.key --cert certificate_file.pem --show-error --header "Content-Type: application/json;charset=UTF-8" https://some-api/service
我收到以下错误:curl: (35) schannel: 无法接收握手,SSL/TLS 连接失败
以及完整的执行日志:
我在网上搜索了这个错误,但没有找到任何人解释它的真正含义。
- 你知道根源可能是什么吗?
- 你知道是否有办法获得有关该错误的更多信息吗?
原来问题出在我的 curl 版本上,出于某种原因,它不接受参数 --cert 和 --key。
为了解决这个问题,我安装了一个全新的 curl 版本,运行 它从 instllation 文件夹中安装了它并且它起作用了。
我也尝试安装最新的 curl(如下所示),但它没有解决我的问题。
curl 7.77.0 (x86_64-pc-win32) libcurl/7.77.0 OpenSSL/1.1.1k (Schannel) zlib/1.2.11 brotli/1.0.9 zstd/1.5.0 libidn2/2.3.1 libssh2/1.9.0 nghttp2/1.43.0 libgsasl/1.10.0 Release-Date: 2021-05-26 Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp Features: alt-svc AsynchDNS brotli gsasl HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz MultiSSL NTLM SPNEGO SSL SSPI TLS-SRP Unicode UnixSockets zstd
运行 来自 curl 包所在路径的命令。 如果你放在 c:\curl goto this path 和 运行 curl 命令它会工作。
修复了从 https 中删除 's'。
当您位于仅允许通过应用程序进行 SSL 连接的 7 层防火墙(即 Palo Alto)后面时,会发生此错误,因此您必须在此类解决方案中配置 2 条规则。
- 允许 443 或任何具有更高优先级的端口
- 允许优先级较低的应用程序 SSL