Уведомления

Группа в Telegram: @pythonsu

#1 Июль 18, 2016 06:45:41

tpavel
Зарегистрирован: 2016-07-18
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

python ssl

Здравствуйте.

Нигде не могу найти описание ошибки для такого кода:

 r = requests.get('https://portal.rosreestr.ru:4433/cxf/External?wsdl', cert='/etc/ssl/certs/portal.rosreestr.ru.pem', verify=True)

ошибка:
 Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 560, in urlopen
    body=body, headers=headers)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 346, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in _validate_conn
    conn.connect()
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 252, in connect
    ssl_version=resolved_ssl_version)
  File "/usr/lib/python3/dist-packages/urllib3/util/ssl_.py", line 303, in ssl_wrap_socket
    context.load_cert_chain(certfile, keyfile)
ssl.SSLError: [SSL] PEM lib (_ssl.c:2844)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 376, in send
    timeout=timeout
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 589, in urlopen
    raise SSLError(e)
requests.packages.urllib3.exceptions.SSLError: [SSL] PEM lib (_ssl.c:2844)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "rosreestr_requests.py", line 48, in <module>
    r = requests.get('https://portal.rosreestr.ru:4433/cxf/External?wsdl', cert='/etc/ssl/certs/portal.rosreestr.ru.pem', verify=True)
  File "/usr/lib/python3/dist-packages/requests/api.py", line 67, in get
    return request('get', url, params=params, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/api.py", line 53, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 468, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 576, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 447, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: [SSL] PEM lib (_ssl.c:2844)

Можно попробовать вручну создать контекст ssl, но всё запарывается на ззагрузке сертификата:
 context.load_cert_chain(certfile, keyfile)
ssl.SSLError: [SSL] PEM lib (_ssl.c:2844)

Что имеется в виду?

Офлайн

#2 Июль 18, 2016 11:24:10

sander
Зарегистрирован: 2015-02-19
Сообщения: 317
Репутация: +  53  -
Профиль   Отправить e-mail  

python ssl

tpavel
stackoverflow закрыли? и поисковые системы не работают?

Офлайн

#3 Июль 18, 2016 11:25:10

sander
Зарегистрирован: 2015-02-19
Сообщения: 317
Репутация: +  53  -
Профиль   Отправить e-mail  

Офлайн

#4 Июль 18, 2016 13:53:29

tpavel
Зарегистрирован: 2016-07-18
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

python ssl

sander
tpavelпервая ссылка в поисковой выдаче
Спасибо. У меня такого в выборке почему-то не было.

Но у меня ошибка растёт отсюда
https://github.com/python/cpython/blob/3.5/Modules/_ssl.c#L2844

Нашёл вот такое
http://stackoverflow.com/questions/19029647/ssl-ctx-use-privatekey-file-failed
возможно нужно просто убрать пароль с ключа. Сегодня попробую.

Отредактировано tpavel (Июль 18, 2016 13:59:20)

Офлайн

#5 Июль 18, 2016 15:00:15

r00tl3ss
Зарегистрирован: 2016-03-31
Сообщения: 25
Репутация: +  5  -
Профиль   Отправить e-mail  

python ssl

А еще у вас какой-то порт странный.

Офлайн

#6 Июль 19, 2016 03:10:09

tpavel
Зарегистрирован: 2016-07-18
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

python ssl

Порт имено этот.

Как-то не стастается

sudo /opt/gost-ssl/bin/openssl rsa -in /opt/gost-ssl/ssl/certs/private_key.pem -out /opt/gost-ssl/ssl/certs/nopasskey.pem
139752573597336:error:0607907F:digital envelope routines:EVP_PKEY_get1_RSA:expecting an rsa key:p_lib.c:279:

Вот так прокатывает, но откуда там взялся des
sudo /opt/gost-ssl/bin/openssl des -in /opt/gost-ssl/ssl/certs/private_key.pem -out /opt/gost-ssl/ssl/certs/nopasskey.pem

 cert = ("/opt/gost-ssl/ssl/certs/certfile.pem", "/opt/gost-ssl/ssl/certs/nopasskey.pem")
r = requests.get('https://portal.rosreestr.ru:4433/cxf/External?wsdl', cert=cert, verify=True)
ругается на
requests.exceptions.SSLError: [SSL: X509_LIB] x509 lib (_ssl.c:2825)
https://github.com/python/cpython/blob/3.5/Modules/_ssl.c#L2825

сертификат выгружал вот так:
/opt/gost-ssl/bin/openssl pkcs12 -in ~/cert/p12.pfx -out /opt/gost-ssl/ssl/certs/certfile.pem -nodes

Что не так? Понять не могу.

Офлайн

#7 Сен. 20, 2016 04:51:41

marataziat
От: Алматы
Зарегистрирован: 2016-05-24
Сообщения: 104
Репутация: +  -5  -
Профиль   Отправить e-mail  

python ssl

Надо юзать именно 81 порт :3,я так понял



Я настоящий тюленялюб :)

Офлайн

#8 Сен. 20, 2016 09:29:12

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

python ssl

marataziat
и на каком основании вы так поняли ?



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version