Как исправить зависание sslv3 сбоя рукопожатия на Gentoo?

Я пытаюсь открыть сайт cURL следующим образом:

$ curl -vH "Accept: application/json" https://www.rocketleaguereplays.com/api/replays/-1/ 

Выход:

 * Trying 104.24.114.83... * Connected to www.rocketleaguereplays.com (104.24.114.83) port 443 (#0) * ALPN, offering h2 * ALPN, offering http/1.1 * Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH * successfully set certificate verify locations: * CAfile: /etc/ssl/certs/ca-certificates.crt CApath: /etc/ssl/certs * TLSv1.2 (OUT), TLS header, Certificate Status (22): * TLSv1.2 (OUT), TLS handshake, Client hello (1): * TLSv1.2 (IN), TLS header, Unknown (21): * TLSv1.2 (IN), TLS alert, Server hello (2): * error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure * Closing connection 0 * TLSv1.2 (OUT), TLS alert, Client hello (1): curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure 

У меня есть Linux kernel 4.4.0 и установлена ​​самая новая версия cURL:

 $ curl -V curl 7.47.1 (x86_64-pc-linux-gnu) libcurl/7.47.1 OpenSSL/1.0.2f zlib/1.2.8 c-ares/1.10.0 nghttp2/1.6.0 Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smtp smtps telnet tftp Features: AsynchDNS IPv6 Largefile NTLM SSL libz TLS-SRP HTTP2 UnixSockets 

Как я могу это исправить? На Ubuntu он отлично работает с cURL и тем же URL.

В основном, https://www.rocketleaguereplays.com использует устаревшее шифрование (SSL3), вы можете заставить curl подключаться к небезопасным сайтам, как это, используя переключатель -k (–insecure).

Попробуйте следующее: curl -kvH "Accept: application/json" https://www.rocketleaguereplays.com/api/replays/-1/

Вы также можете попробовать использовать переключатель -3 aka --sslv3 , однако, если curl был создан без поддержки SSL3, тогда вам нужно скомпилировать собственную версию curl, включив SSL3.

EDIT: ОП нашел проблему.

Я смутился сообщением об ошибке.

Это ошибка в gentoo:

https://bugs.gentoo.org/show_bug.cgi?id=531540

В принципе, когда вы создаете openssl с флагом bindist, кривая iptptic curve отключается. Для этого сайта требуется криптография криптографии.

Когда я запускаю это, я получаю следующее:

$ curl -vH "Accept: application/json" https://www.rocketleaguereplays.com/api/replays/-1/ * STATE: INIT => CONNECT handle 0x6000572d0; line 1090 (connection #-5000) * Added connection 0. The cache now contains 1 members * Trying 2400:cb00:2048:1::6818:7353... * STATE: CONNECT => WAITCONNECT handle 0x6000572d0; line 1143 (connection #0) * Connected to www.rocketleaguereplays.com (2400:cb00:2048:1::6818:7353) port 443 (#0) * STATE: WAITCONNECT => SENDPROTOCONNECT handle 0x6000572d0; line 1240 (connection #0) * ALPN, offering http/1.1 * Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH * successfully set certificate verify locations: * CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none * TLSv1.2 (OUT), TLS header, Certificate Status (22): * TLSv1.2 (OUT), TLS handshake, Client hello (1): * STATE: SENDPROTOCONNECT => PROTOCONNECT handle 0x6000572d0; line 1254 (connection #0) * TLSv1.2 (IN), TLS handshake, Server hello (2): * TLSv1.2 (IN), TLS handshake, Certificate (11): * TLSv1.2 (IN), TLS handshake, Server key exchange (12): * TLSv1.2 (IN), TLS handshake, Server finished (14): * TLSv1.2 (OUT), TLS handshake, Client key exchange (16): * TLSv1.2 (OUT), TLS change cipher, Client hello (1): * TLSv1.2 (OUT), TLS handshake, Finished (20): * TLSv1.2 (IN), TLS change cipher, Client hello (1): * TLSv1.2 (IN), TLS handshake, Finished (20): * SSL connection using TLSv1.2 / ECDHE-ECDSA-AES128-GCM-SHA256 <---- [...]

Таким образом, мой скручиватель использует elyptic curve с этим сайтом.