Làm thế nào để khắc phục lỗi bắt tay cảnh báo sslv3?


27

Tôi đang cố gắng cuộn trang web HTTPS theo cách sau:

$ curl -v https://thepiratebay.se/

Tuy nhiên, nó không thành công với lỗi:

* About to connect() to thepiratebay.se port 443 (#0)
*   Trying 173.245.61.146...
* connected
* Connected to thepiratebay.se (173.245.61.146) port 443 (#0)
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS alert, Server hello (2):
* error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
* Closing connection #0
curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

Sử dụng -k/ --insecurehoặc thêm insecurevào của tôi ~/.curlrckhông làm cho bất kỳ sự khác biệt.

Làm cách nào để bỏ qua hoặc buộc chứng chỉ sử dụng curldòng lệnh?


Khi sử dụng wgetdường như hoạt động tốt. Cũng hoạt động khi thử nghiệm opensslnhư dưới đây:

$ openssl s_client -connect thepiratebay.se:443
CONNECTED(00000003)
SSL handshake has read 2651 bytes and written 456 bytes
New, TLSv1/SSLv3, Cipher is AES128-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : AES128-SHA

Tôi có:

$ curl --version
curl 7.28.1 (x86_64-apple-darwin10.8.0) libcurl/7.28.1 OpenSSL/0.9.8| zlib/1.2.5 libidn/1.17
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp 
Features: IDN IPv6 Largefile NTLM NTLM_WB SSL libz 

Câu trả lời:


20

Một số trang web vô hiệu hóa hỗ trợ cho SSL 3.0 (có thể do nhiều lần khai thác / lỗ hổng), do đó, có thể buộc phiên bản SSL cụ thể bằng -2/ --sslv2hoặc -3/ --sslv3. Cũng -Lđáng thử nếu trang được yêu cầu đã chuyển đến một vị trí khác.

Trong trường hợp của tôi, đó là một curllỗi ( được tìm thấy trong OpenSSL ), vì vậy curlcần phải nâng cấp lên phiên bản mới nhất (> 7,40) và nó hoạt động tốt.

Xem thêm:


Có, nâng cấp curl đã khắc phục vấn đề cho tôi. Cảm ơn.
Simon East

Bản curl mới nhất không thích mật mã RC4 lỗi thời mà các máy chủ cũ vẫn có thể sử dụng, vì vậy tôi đã kết thúc bằng cách sử dụng "--ciphers RC4" để cho phép cụ thể
maxpolk

@SimonEast Từ phiên bản nào bạn đã làm ugprade?
Olle Härstedt

5

Bắt đầu với Mavericks, Apple đã chuyển công cụ TLS / SSL từ OpenSSL sang công cụ Vận chuyển an toàn của riêng họ trong hệ nhị phân cURL do Apple phân phối, phá vỡ việc sử dụng chứng chỉ ứng dụng khách. Sử dụng nhị phân cURL từ homebrew:

brew install curl
brew link curl --force

1
brew link curl --forcekhông còn hoạt động nữa, bạn phải đặt export "$(brew --prefix curl)/bin:$PATH".bash_profile của bạn thay vào đó.
Lars Nyström

1

Tôi đã có lỗi này khi tôi gửi một tiêu đề máy chủ sai.

Tôi đã phát triển một proxy từ http://127.0.0.1:12345 đến https://site.com:443 . Vì vậy, tôi đã gửi tiêu đề yêu cầu như đã đến từ trình duyệt và có tiêu đề: 127.0.0.1: 12345. Tôi đã xóa tiêu đề máy chủ xuất phát từ trình duyệt để giải quyết vấn đề.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.