Я нахожусь на Ма c и пытаюсь использовать мою локальную среду для скрининга сайта со старым TLS (1.0). Я использую python
3.7x и чтобы установить его, я заварил openssl
(OpenSSL 1.0.2p).
Я могу свернуть сайт через MacOS и подключиться через openssl
(версия по умолчанию для MacOS - libressl
).
> openssl s_client -connect site_name.com:443
---
No client certificate CA names sent
---
SSL handshake has read 4259 bytes and written 514 bytes
---
New, TLSv1/SSLv3, Cipher is DES-CBC3-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1
Cipher : DES-CBC3-SHA
Session-ID: 480400009FCE3C51847DB9E466C0746B1D7783AD7BF3C6B927F52DF2EA638E8F
Session-ID-ctx:
Master-Key: D23BFDDBDE6DBA79D9BDA07EB3C82C24B3624866BBC86AF02C7105CD59C3BDB3B5AC71CB58D328FF67AEF9FD625CF87D
Start Time: 1587310662
Timeout : 7200 (sec)
Verify return code: 0 (ok)
---
Заваренная версия openssl
полностью блокирует сайт, то есть requests
/ urllib3
не может подключиться:
> openssl s_client -connect site_name.com:443
CONNECTED(00000003)
4538068588:error:140790E5:SSL routines:ssl23_write:ssl handshake failure:s23_lib.c:177:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 307 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1587310619
Timeout : 300 (sec)
Verify return code: 0 (ok)
---
Шифр DES-CBC3-SHA
, который не поддерживается openssl 1.0.2p (устанавливается через brew). С помощью запросов я пытался отключить требование verify
, но все равно не удается.
r = requests.get(url, verify=False)
requests.exceptions.SSLError: HTTPSConnectionPool(host='public.site_name.com', port=443): Max retries exceeded with url: /webroot/default.htm (Caused by SSLError(SSLError("bad handshake: SysCallError(-1, 'Unexpected EOF')")))
Если не считать раскручивание другой среды и установку более старой версии openssl, есть ли способ разрешить мне подключиться к этому сайту? Это небольшой проект, и я только загружаю данные, поэтому не беспокоюсь о безопасности.