【问题标题】:How to fetch this URL? Getting SSL handshake error如何获取此 URL?获取 SSL 握手错误
【发布时间】:2015-11-28 09:28:12
【问题描述】:

我正在尝试通过各种库和命令行工具获取以下 URL,但遇到 SSL 握手错误。

> curl https://www.joelosteen.com/Views/RSS/Feed?t=PodcastVideo&ct=CustomList&cst=Podcasts
curl: (35) error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error

我已经看到 here 可以通过减少可能的密码来修复它,但尝试使用受限密码的 this less strict call 并不能修复它。

curl -vlkL "https://www.joelosteen.com/Views/RSS/Feed?t=PodcastVideo&ct=CustomList&cst=Podcasts" --ciphers DHE-RSA-AES256-SHA

有什么办法可以解决这个问题吗?这是一个共享帐户,即没有可用的根。

【问题讨论】:

    标签: http ubuntu ssl curl https


    【解决方案1】:

    服务器仅支持 TLS 1.2 版本,即不支持 TLS 1.0 甚至 SSL 3.0。我的猜测是你使用的 curl 太旧了,无法使用 TLS 1.2,但是如果没有关于你使用的版本的更多细节,这个猜测无法验证。

    要确定 curl 的版本,请使用 curl --version。如果您看到它是使用 OpenSSL 编译的,那么它应该至少显示 OpenSSL 1.0.1 版本才能支持 TLS 1.2。

    curl -vlkL ... --ciphers DHE-RSA-AES256-SHA

    这不是服务器支持的密码。支持的密码之一是 AES128-SHA,但同样,如果您的 curl 不支持 TLS 1.2,则没有机会。

    【讨论】:

    • 你是对的。这是一个旧版本。 “curl 7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3 协议:dict 文件 ftp ftps gopher http https imap imaps ldap pop3 pop3s rtmp rtsp smtp smtps telnet tftp 功能:GSS-协商 IDN IPv6 大文件 NTLM NTLM_WB SSL libz TLS-SRP"。显然这是2011年的模型。我看看能不能造一个新的。
    • @mahemoff:这个版本有 OpenSSL 1.0.1,应该包括 TLS 1.2 支持。但是一些供应商(如 Ubuntu)在一段时间内发布了 OpenSSL 1.0.1,并在客户端禁用了 TLS 1.2,因为某些服务器存在一些问题。可能是您使用了如此精简的 OpenSSL 版本。
    • 谢谢,这确实是一个 Ubuntu 问题。它归结为大量重新编译 OpenSSL + Curl 并最终使其正常工作 (askubuntu.com/questions/475670/…)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-11
    • 1970-01-01
    • 2016-10-01
    • 2015-02-03
    • 2016-08-08
    • 2016-04-13
    相关资源
    最近更新 更多