【问题标题】:Developing R package and need to deal with "SSL connect error"开发 R 包需要处理“SSL 连接错误”
【发布时间】:2017-03-04 14:18:40
【问题描述】:

我正在开发an R packagegetting reports 的:

httr::GET('http://gdc-api.nci.nih.gov/status') 
Error in curl::curl_fetch_memory(url, handle = handle) : SSL connect error

我已经看到了许多不同的方法来处理这个问题,但我无法在本地测试它们,因为我无法重现这个问题。是否有推荐的方法来处理 R 中的这个问题,不需要用户安装新的系统库(一罐蠕虫)?

【问题讨论】:

    标签: r ssl curl httr


    【解决方案1】:

    此问题很可能是由于客户端上的 TLS 支持过时,因为禁用对等证书和主机名验证没有帮助。

    服务器的快速scan 表明它们仅支持 TLS 1.2 连接,因此客户端必须支持这一点(SSLv3、TLS 1.0 或 TLS 1.1 将不起作用)。这意味着需要 OpenSSL 1.0.1 或更高版本。

    很遗憾,您无法在代码中执行任何操作来解决此问题。他们需要确保他们的 cURL 库是用现代 TLS 支持构建的。

    sslscan https://gdc-api.nci.nih.gov
    Version: 1.10.5-rbsec
    OpenSSL 1.0.2k  26 Jan 2017
    
    Testing SSL server gdc-api.nci.nih.gov on port 443
    
      TLS renegotiation:
    Session renegotiation not supported
    
      TLS Compression:
    Compression disabled
    
      Heartbleed:
    TLS 1.0 not vulnerable to heartbleed
    TLS 1.1 not vulnerable to heartbleed
    TLS 1.2 not vulnerable to heartbleed
    
      Supported Server Cipher(s):
    Accepted  TLSv1.2  256 bits  ECDHE-RSA-AES256-GCM-SHA384  
    Accepted  TLSv1.2  256 bits  ECDHE-RSA-AES256-SHA384      
    Accepted  TLSv1.2  128 bits  ECDHE-RSA-AES128-GCM-SHA256  
    Accepted  TLSv1.2  128 bits  ECDHE-RSA-AES128-SHA256      
    
      Preferred Server Cipher(s):
    TLSv1.2  256 bits  ECDHE-RSA-AES256-GCM-SHA384  
    

    【讨论】:

    • 至少在某些系统上,libcurl 似乎也需要更新。
    • 是的,如果不清楚,抱歉。 libcurl 也需要更新,以便了解以后的 TLS 协议以及如何将它们与更新的 SSL 库一起使用。
    猜你喜欢
    • 2023-03-12
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 2014-08-14
    • 2015-11-29
    • 2012-11-18
    • 2016-08-28
    相关资源
    最近更新 更多