Разработка пакета R и необходимость иметь дело с "Ошибка SSL-соединения"

Я разрабатываю пакет R и получаю отчеты о:

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

Я видел несколько разных подходов к решению проблемы, но я не могу проверить их локально, так как не могу воспроизвести проблему. Есть ли рекомендуемый подход для решения этой проблемы в R, который не требует от пользователя установки новых системных библиотек (червей)?

1 ответ

Решение

Скорее всего, проблема связана с устаревшей поддержкой TLS на клиентах, поскольку отключение проверки сертификата однорангового узла и проверки имени хоста не помогает.

Быстрое сканирование сервера показывает, что они поддерживают только соединения 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  
Другие вопросы по тегам