Разработка пакета 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