Requests: A solicitação https GET falha com "falha de handshake"

Criado em 26 abr. 2014  ·  83Comentários  ·  Fonte: psf/requests

Relacionado ao #1083, talvez. O padrão requests.get() para este site/página em particular https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html resulta em:

>>> import requests
>>> requests.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/api.py", line 55, in get
    return request('get', url, **kwargs)
  File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/api.py", line 44, in request
    return session.request(method=method, url=url, **kwargs)
  File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
    resp = self.send(prep, **send_kwargs)
  File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
    r = adapter.send(request, **kwargs)
  File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/adapters.py", line 385, in send
    raise SSLError(e)
requests.exceptions.SSLError: [Errno 1] _ssl.c:504: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

Usando request-toolbelt de SSLAdapter para tentar várias versões ssl, todas elas falham, ao que parece... veja os seguintes rastreamentos.

TLSv1:

>>> adapter = SSLAdapter('TLSv1')
>>> s = requests.Session()
>>> s.mount('https://', adapter)
>>> s.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 395, in get
    return self.request('GET', url, **kwargs)
  File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
    resp = self.send(prep, **send_kwargs)
  File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
    r = adapter.send(request, **kwargs)
  File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/adapters.py", line 385, in send
    raise SSLError(e)
requests.exceptions.SSLError: [Errno 1] _ssl.c:504: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

SSLv3:

>>> adapter = SSLAdapter('SSLv3')
>>> s = requests.Session()
>>> s.mount('https://', adapter)
>>> s.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 395, in get
    return self.request('GET', url, **kwargs)
  File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
    resp = self.send(prep, **send_kwargs)
  File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
    r = adapter.send(request, **kwargs)
  File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/adapters.py", line 385, in send
    raise SSLError(e)
requests.exceptions.SSLError: [Errno 1] _ssl.c:504: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

SSLv2:

>>> adapter = SSLAdapter('SSLv2')
>>> s = requests.Session()
>>> s.mount('https://', adapter)
>>> s.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 395, in get
    return self.request('GET', url, **kwargs)
  File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
    resp = self.send(prep, **send_kwargs)
  File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
    r = adapter.send(request, **kwargs)
  File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/adapters.py", line 378, in send
    raise ConnectionError(e)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='docs.apitools.com', port=443): Max retries exceeded with url: /2014/04/24/a-small-router-for-openresty.html (Caused by <class 'socket.error'>: [Errno 54] Connection reset by peer)

Observe que o último fornece um erro Connection reset by peer , que difere dos outros, mas tenho certeza de que o SSLv2 não é suportado pelo servidor de qualquer maneira.

Por diversão, tentei passar por alguns cabeçalhos mais apropriados na última solicitação também:

>>> headers = {
...     'Accept': u"text/html,application/xhtml+xml,application/xml",
...     'User-Agent': u"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36",
...     'Accept-Encoding': u"gzip,deflate",
...     'Accept-Language': u"en-US,en;q=0.8"
... }
>>> adapter = SSLAdapter('SSLv2')
>>> s = requests.Session()
>>> s.mount('https://', adapter)
>>> s.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html', headers=headers)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 395, in get
    return self.request('GET', url, **kwargs)
  File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
    resp = self.send(prep, **send_kwargs)
  File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
    r = adapter.send(request, **kwargs)
  File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/adapters.py", line 378, in send
    raise ConnectionError(e)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='docs.apitools.com', port=443): Max retries exceeded with url: /2014/04/24/a-small-router-for-openresty.html (Caused by <class 'socket.error'>: [Errno 54] Connection reset by peer)

Nenhum dado lá também. Veja como são as informações de conexão HTTPS no Chrome no Mac:

screen shot 2014-04-26 at 10 35 21 am

Não tenho certeza, mas algumas pesquisas no Google indicam que é provável que seja um problema de lista de cifras, que é mais urllib3, eu acho?

Tentei modificar DEFAULT_CIPHER_LIST em pyopenssl , mas comecei a ter erros de importação. Neste ponto, parecia que as coisas estavam quebradas, e não havia realmente uma maneira adequada de abordar a correção disso ainda.

Versão informação:
OSX Mavericks
Python 2.7.5
OpenSSL 0.9.8y 5 de fevereiro de 2013 - (de python -c "import ssl; print ssl.OPENSSL_VERSION" )
solicitações 2.2.1
request-toolbelt 0.2.0
urllib3 1,8

Comentários muito úteis

Infelizmente, isso não está relacionado ao problema que você identificou, e inteiramente ao OpenSSL de baixa qualidade que o OS X vem com por padrão. A versão 0.9.8y tem alguns problemas reais com a execução de handshakes SSL, e alguns servidores não o toleram bem. Usar o Python 3 na minha caixa OS X (portanto, usando um OpenSSL mais recente) revela que não há problema.

Você tem duas opções:

  1. Instale o OpenSSL do Homebrew e, em seguida, instale uma nova versão do Python 2 do Homebrew que se vinculará automaticamente ao OpenSSL fornecido pelo Homebrew.
  2. Instale o OpenSSL do Homebrew e, em seguida, instale o PyOpenSSL nessa nova versão executando env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install PyOpenSSL .

Todos 83 comentários

Infelizmente, isso não está relacionado ao problema que você identificou, e inteiramente ao OpenSSL de baixa qualidade que o OS X vem com por padrão. A versão 0.9.8y tem alguns problemas reais com a execução de handshakes SSL, e alguns servidores não o toleram bem. Usar o Python 3 na minha caixa OS X (portanto, usando um OpenSSL mais recente) revela que não há problema.

Você tem duas opções:

  1. Instale o OpenSSL do Homebrew e, em seguida, instale uma nova versão do Python 2 do Homebrew que se vinculará automaticamente ao OpenSSL fornecido pelo Homebrew.
  2. Instale o OpenSSL do Homebrew e, em seguida, instale o PyOpenSSL nessa nova versão executando env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install PyOpenSSL .

Ah, parece que eu estava seguindo um arenque vermelho - não pretendo implantar nada no OSX de qualquer maneira. Parece que vou mover meus testes para uma caixa virtual linux. Desculpas por este assunto prolixo!

Não há necessidade de se desculpar, fazer essa pergunta foi a coisa certa a fazer: é um conhecimento bizarramente específico saber que o OS X tem esse problema. =)

Ok, isso é uma chatice. Eu criei uma imagem do Virtualbox de 32 bits do servidor Ubuntu 14.04 via Vagrant e tudo isso ainda está acontecendo, exceto no caso SSLv2, onde falha porque o protocolo não está incluído na versão OpenSSL no Ubuntu 14.04 (por design, acredito - SSLv2 é antigo e desatualizado).

Versões:
Ubuntu 14.04 32 bits (via combinação Vagrant/Virtualbox)
Python 2.7.6
solicitações==2.2.1
request-toolbelt==0.2.0
urllib3==1.8.2

EDIT: esqueci a versão do OpenSSL...

python -c "importar ssl; imprimir ssl.OPENSSL_VERSION"
OpenSSL 1.0.1 de 6 de janeiro de 2014

TLSv1:

>>> import requests
>>> from requests_toolbelt import SSLAdapter
>>> adapter = SSLAdapter('TLSv1')
>>> s = requests.Session()
>>> s.mount('https://', adapter)
>>> s.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html')
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 395, in get
    return self.request('GET', url, **kwargs)
  File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
    r = adapter.send(request, **kwargs)
  File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/adapters.py", line 385, in send
    raise SSLError(e)
SSLError: [Errno 1] _ssl.c:510: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

SSLv2:

>>> import requests
>>> from requests_toolbelt import SSLAdapter
>>> adapter = SSLAdapter('SSLv3')
>>> s = requests.Session()
>>> s.mount('https://', adapter)
>>> s.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html')
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 395, in get
    return self.request('GET', url, **kwargs)
  File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
    r = adapter.send(request, **kwargs)
  File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/adapters.py", line 385, in send
    raise SSLError(e)
SSLError: [Errno 1] _ssl.c:510: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

SSLv23:

>>> import requests
>>> from requests_toolbelt import SSLAdapter
>>> adapter = SSLAdapter('SSLv23')
>>> s = requests.Session()
>>> s.mount('https://', adapter)
>>> s.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html')
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 395, in get
    return self.request('GET', url, **kwargs)
  File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
    r = adapter.send(request, **kwargs)
  File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/adapters.py", line 385, in send
    raise SSLError(e)
SSLError: [Errno 1] _ssl.c:510: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

Talvez este seja um problema de lista de cifras então? Ou a versão OpenSSL usada aqui ainda é problemática?

Estou absolutamente disposto a dedicar algum tempo para ajudar a depurar isso, se necessário... desde que vocês me deem alguma orientação.

A VM está baixando. Não consigo reproduzir isso no ArchLinux.
Os stacktraces indicam isso, mas gostaria de ter certeza: você _não_ está usando PyOpenSSL, mas apenas o stdlib?

@ t-8ch Obrigado por dar uma olhada nisso, estou um pouco confuso. OpenSSL torna minha vida muito difícil =(

@ t-8ch Eu não instalei o PyOpenSSL se é isso que você está perguntando?

Eu teria assumido (talvez incorretamente) que pip install requests deveria me dar tudo que eu preciso para chamar requests.get('...') com sucesso em uma página HTTPS. O que, é claro, funciona na maior parte, mas não para este site por algum motivo.

@jaddison _principalmente_ sim. Infelizmente, a biblioteca padrão do Python 2.7 é uma droga e não suporta alguns recursos, como o SNI.

Gostaria de saber se isso é SNI...

@jaddison Existem dois caminhos de código diferentes nos bastidores. Você não deveria se preocupar com isso, mas ajuda saber ao depurar.

No entanto, agora posso reproduzir isso no Ubuntu. Mas apenas o Py2. No Py3 está tudo bem.
Eu suspeito que @Lukasa está certo e o servidor falha quando o cliente não está usando o SNI.

Incomoda-me que a ausência de SNI falhe de várias maneiras diferentes, dependendo do servidor em questão.

Eu notei essa mudança entre o OpenSSL 1.0.1f e 1.0.1g (https://www.openssl.org/news/openssl-1.0.1-notes.html):

Add TLS padding extension workaround for broken servers.

EDIT: Ahh, esqueça - o bug não deve variar entre Py 2 e 3, eu acho.

@jaddison Para testar se isso é SNI, você precisará instalar os requisitos de SNI para Python 2.

@Lucasa estava certo. Comparar:

$ openssl s_client -connect docs.apitools.com:443                              
CONNECTED(00000003)
139846853338768:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:762:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 517 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---

$  openssl s_client -connect docs.apitools.com:443 -servername docs.apitools.com
... happy handshake here

Para elaborar: O segundo comando habilita a funcionalidade SNI de openssl s_client .

Você pode a) mudar para python3 b) instalar dependências extras.
O stdlib no momento não tem como fazer SNI.

Obrigado pelo feedback rápido. Já que não tem bug, vou fechar... de novo.

Oi, obrigado pessoal!! Instalei o python3 no meu mac e boom, funciona.

Só quero entrar em contato e dizer que experimentei esse problema no OS X 10.9.5, Python 2.7.7 e OpenSSL 0.9.8zc.

Consegui resolver meu problema de handshake:

  1. Instalando um OpenSSL mais recente que o estoque na minha máquina via brew install OpenSSL
  2. Compilando e instalando o pacote cryptography vinculado ao novo OpenSSL ( env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptography )
  3. Instalando solicitações com suporte SNI fazendo pip install requests[security]

Obrigado, @Microsserf. Estou praticamente executando as mesmas especificações (10.9.5, Python 2.7.6 instalado via Homebrew, mas compilado com o sistema fornecido OpenSSL 0.9.8zg) e este foi todo o meu processo para obter requests em funcionamento para o Django :

brew install openssl

Instale requests com um monte de coisas SNI , compiladas em nossa nova instalação do OpenSSL. A opção [security] simplesmente instala pyopenssl ndg-httpsclient pyasn1

env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install requests[security] urllib3

E estamos prontos:

"""
This may or may not be needed. See:
https://urllib3.readthedocs.org/en/latest/security.html#openssl-pyopenssl
"""
# from urllib3.contrib import pyopenssl
# pyopenssl.inject_into_urllib3()

import requests
# r = requests.get(...)

Existe uma resposta definitiva sobre como fazer isso funcionar no Ubuntu? Estou enfrentando esse problema e parece que a única resposta aqui diz respeito a como fazer isso funcionar em um Mac. Atualizar toda a nossa base de código para python 3 não é uma opção.

OK, eu posso ter acabado de responder minha própria pergunta. O que eu fiz se resume a:

sudo apt-get install libffi-dev
pip install pyOpenSSL ndg-httpsclient pyasn1

@lsemel obrigado, isso me economizou muito tempo

@lsemel Tem certeza? Eu tentei no Ubuntu 15.10 e ainda não funciona com o Python 2.7.10.

Funciona com Python 2.7 no Travis CI:
https://travis-ci.org/playing-se/swish-python

Deu pra funcionar agora! Eu simplesmente desinstalei o pyOpenSSL:
pip uninstall pyOpenSSL

Talvez devêssemos apenas pyopenssl.inject_into_urllib3() se a versão do Python for menor que 2.7.9? pyOpenSSL parece quebrar coisas no Ubuntu e no Windows se a versão do Python for 2.7.10.

PyOpenSSL não deve estar quebrando nada. Se isso acontecer, isso é um bug que deve ser relatado.

Vou ter que olhar para isso, mas existe algum bom motivo para injetar pyopenssl em urllib3 se a versão do Python for 2.7.9 ou mais recente?

Estou pensando em algo assim:

# Check if Modern SSL with SNI support
try:
    from ssl import SSLContext
    from ssl import HAS_SNI
except ImportError:
    # Attempt to enable urllib3's SNI support, if possible
    try:
        from .packages.urllib3.contrib import pyopenssl
        pyopenssl.inject_into_urllib3()
    except ImportError:
        pass

Sim, frequentemente há. Por exemplo, no OS X, a maioria dos Pythons vincula-se ao sistema OpenSSL, que é a versão 0.9.8zg. O PyOpenSSL, no entanto, será vinculado a um OpenSSL muito mais recente (1.0.2). Isso torna o uso do PyOpenSSL uma melhoria substancial de segurança.

Além disso, o PyOpenSSL nos dá um acesso muito melhor ao OpenSSL, permitindo protegê-lo de forma mais eficaz.

OK, eu brinquei um pouco com isso agora.

FUNCIONA com pyopenssl MAS não se ndg-httpsclient estiver instalado.

No entanto, posso fazê-lo funcionar com ndg-httpsclient se eu desinstalar o pyasn1 me dando estes avisos:

/usr/lib/python2.7/dist-packages/ndg/httpsclient/subj_alt_name.py:22: UserWarning: Error importing pyasn1, subjectAltName check for SSL peer verification will be disabled.  Import error is: No module named pyasn1.type
  warnings.warn(import_error_msg)
/usr/lib/python2.7/dist-packages/ndg/httpsclient/ssl_peer_verification.py:25: UserWarning: SubjectAltName support is disabled - check pyasn1 package installation to enable
  warnings.warn(SUBJ_ALT_NAME_SUPPORT_MSG)
/usr/lib/python2.7/dist-packages/ndg/httpsclient/subj_alt_name.py:22: UserWarning: Error importing pyasn1, subjectAltName check for SSL peer verification will be disabled.  Import error is: No module named pyasn1.type
  warnings.warn(import_error_msg)

Mesmo comportamento no Ubuntu 15.10 e Windows 10 com o Python 2.7.10 instalado.

Isso porque sem o ndg-httpsclient o suporte ao PyOpenSSL não é usado.

Sim, terei que investigar por que funciona se SubjectAltName estiver desabilitado. Qualquer ideia?

Quase certamente o problema é que você está usando OpenSSLs diferentes em cada caso.

Eu tive o mesmo problema na minha caixa Ubuntu 14.04 e Python 2.7.11

é do SNI

O que funcionou para mim foi isso:

  • solicitações de desinstalação
  • desinstalar urllib3
  • instale as várias dependências de criptografia
  • instalar urllib3
  • instale urllib3[secure] # apenas por segurança
  • solicitações de instalação

Acho que houve uma verificação de tempo de instalação no urllib3 ou solicitações que impediram que as coisas funcionassem sem a desinstalação

@jvanasco o que você está usando para instalar esses pacotes? Eu suponho pip. Por que você está instalando o urllib3 e os pedidos separadamente?

Bem, eu precisava do urllib3 no virtualenv... mas instalei-o para tentar obter os requisitos instalados por pip e easy_install. (usei os dois)

Eu tenho um indexador da web e alguns URLs quebrados. Eu escrevi um script rápido para tentar os quebrados e continuei reinstalando/excluindo+instalando os pacotes nas instruções urllib3 sobre problemas de SSL até que eles funcionassem.

Em 31 de maio de 2016, às 19h25, Ian Cordasco [email protected] escreveu:

@jvanasco o que você está usando para instalar esses pacotes? Eu suponho pip. Por que você está instalando o urllib3 e os pedidos separadamente?


Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub ou silencie a conversa.

Ainda estou vendo esse problema e tentei as soluções sugeridas.
Atualizei minha versão python para 2.7.11
Instalei os 3 pacotes adicionais.

Eu tentei a sequência de desinstalação/instalação que @jvanasco sugeriu e ainda recebi o SSLError
Também usando o Ubuntu 14.04, infelizmente, não há atualização do OpenSSL, então tenho que usar as soluções alternativas postadas aqui e não estou tendo sorte.

Algum passo extra que vocês possivelmente tomaram?

Obrigado

@Lekinho Achei que fazer um pequeno script de teste que testou o domínio com o qual eu estava tendo problemas ajudou.

foi só:

 import requests
 r = requests.get(bad_url)
 print r.__dict__

@Lekinho Você pode extrair pyopenssl de solicitações em seu código:

try:
    from requests.packages.urllib3.contrib import pyopenssl
    pyopenssl.extract_from_urllib3()
except ImportError:
    pass

@Lekinho Se você ainda estiver encontrando esse problema com o Python 2.7.11, é altamente provável que o servidor remoto não suporte as configurações de TLS usadas pelas solicitações. O servidor em questão está disponível na internet pública? Se sim, pode me fornecer a URL?

eu tentei a importação pyopenssl como sugerido.
Infelizmente, isso não é acessível publicamente.
No entanto, tenho os detalhes exatos de qual versão do openSSL o servidor possui.
Basicamente, rodamos em uma máquina virtual redhat, eu tinha esse openSSL quando tudo estava funcionando: openssl-1.0.1e-42.el6_7.4.x86_64

Então fizemos uma atualização do redhat e houve uma atualização para openssl : openssl-1.0.1e-48.el6_8.1.x86_64

Esta versão sempre tem o problema de handshake ruim ao usar openssl no Ubuntu 14.04.

Vocês têm alguma URL pública que eu possa tentar, para ver se as soluções alternativas ajudaram a resolver o problema e é apenas essa combinação única que eu tenho que é o problema?

A mesma máquina está bem quando as solicitações REST são enviadas pelo navegador (ou seja, sem o ubuntu openssl )

Obrigado

Você pode fornecer a saída de rpm -q --changelog openssl , por favor?

[ admin@leke-2-2-8-11 ~]$ rpm -q --changelog openssl

  • Seg, 02 de maio de 2016 Tomáš Mráz [email protected] 1.0.1e-48.1
  • correção CVE-2016-2105 - possível estouro na codificação base64
  • correção CVE-2016-2106 - possível estouro em EVP_EncryptUpdate()
  • correção CVE-2016-2107 - oráculo de preenchimento em AES-NI CBC-MAC costurado
  • correção CVE-2016-2108 - corrupção de memória no codificador ASN.1
  • correção CVE-2016-2109 - possível DoS ao ler dados ASN.1 da BIO
  • corrigir CVE-2016-0799 - problemas de memória em BIO_printf
  • Quarta-feira, 24 de fevereiro de 2016 Tomáš Mráz [email protected] 1.0.1e-48
  • correção CVE-2016-0702 - ataque de canal lateral na exponenciação modular
  • correção CVE-2016-0705 - double free na análise de chave privada DSA
  • corrigir CVE-2016-0797 - corrupção de heap em BN_hex2bn e BN_dec2bn
  • Ter, 16 de fevereiro de 2016 Tomáš Mráz [email protected] 1.0.1e-47
  • correção CVE-2015-3197 - Aplicação do conjunto de criptografia SSLv2
  • desabilitar SSLv2 no método TLS genérico
  • Sex 15 de janeiro de 2016 Tomáš Mráz [email protected] 1.0.1e-46
  • corrigir vazamento de memória de 1 byte na análise pkcs12 (#1229871)
  • documente algumas opções do comando de velocidade (#1197095)
  • Qui, 14 de janeiro de 2016 Tomáš Mráz [email protected] 1.0.1e-45
  • corrigir carimbos de data/hora de alta precisão na autoridade de carimbo de data/hora
  • Seg, 21 de dezembro de 2015 Tomáš Mráz [email protected] 1.0.1e-44
  • correção CVE-2015-7575 - não permite o uso de MD5 em TLS1.2
  • Sex 04 de dezembro de 2015 Tomáš Mráz [email protected] 1.0.1e-43
  • correção CVE-2015-3194 - falha de verificação de certificado com parâmetro PSS ausente
  • corrigir CVE-2015-3195 - vazamento de memória X509_ATTRIBUTE
  • corrigir CVE-2015-3196 - condição de corrida ao lidar com a dica de identidade PSK
  • Ter, 23 de junho de 2015 Tomáš Mráz [email protected] 1.0.1e-42
  • correção de regressão causada por erro na correção para CVE-2015-1791
  • Qui 11 de junho de 2015 Tomáš Mráz [email protected] 1.0.1e-41
  • correção aprimorada para CVE-2015-1791
  • adicionar partes ausentes da correção CVE-2015-0209 para correção, embora inexplorável
  • Ter, 09 de junho de 2015 Tomáš Mráz [email protected] 1.0.1e-40
  • correção CVE-2014-8176 - inválido livre no código de buffer DTLS
  • correção CVE-2015-1789 - leitura fora dos limites em X509_cmp_time
  • corrigir CVE-2015-1790 - falha PKCS7 com falta de EncryptedContent
  • correção CVE-2015-1791 - tratamento de condição de corrida NewSessionTicket
  • correção CVE-2015-1792 - CMS verifica loop infinito com função hash desconhecida
  • Ter, 02 de junho de 2015 Tomáš Mráz [email protected] 1.0.1e-39
  • correção CVE-2015-3216 - regressão no bloqueio RAND que pode causar falhas de segmentação
    ler em aplicativos multithread
  • Seg, 25 de maio de 2015 Tomáš Mráz [email protected] 1.0.1e-38
  • corrigir CVE-2015-4000 - evitar o ataque de logjam no cliente - restringir
    o tamanho da chave DH para pelo menos 768 bits (o limite será aumentado no futuro)
  • Quarta-feira, 25 de março de 2015 Tomáš Mráz [email protected] 1.0.1e-37
  • elimine a restrição AES-GCM de 2^32 operações porque o IV é
    sempre 96 bits (campo fixo de 32 bits + campo de invocação de 64 bits)
  • Qui, 19 de março de 2015 Tomáš Mráz [email protected] 1.0.1e-36
  • correção de atualização para CVE-2015-0287 para o que foi lançado upstream
  • Quarta-feira, 18 de março de 2015 Tomáš Mráz [email protected] 1.0.1e-35
  • correção CVE-2015-0209 - uso potencial após livre em d2i_ECPrivateKey()
  • correção CVE-2015-0286 - manipulação imprópria da comparação booleana ASN.1
  • correção CVE-2015-0287 - estrutura ASN.1 reutilizar corrupção de memória de decodificação
  • correção CVE-2015-0288 - X509_to_X509_REQ NULL ponteiro dereference
  • correção CVE-2015-0289 - NULL desreferencia decodificação de dados PKCS#7 inválidos
  • correção CVE-2015-0292 - underflow inteiro no decodificador base64
  • correção CVE-2015-0293 - assert acionável no servidor SSLv2
  • Ter, 03 de março de 2015 Tomáš Mráz [email protected] 1.0.1e-34
  • copie o algoritmo de resumo ao manipular a troca de contexto SNI
  • melhorar a documentação de ciphersuites - patch de Hubert Kario
  • adicione suporte para configurar o serviço Kerberos e keytab em
    s_server e s_client
  • Ter, 13 de janeiro de 2015 Tomáš Mráz [email protected] 1.0.1e-33
  • correção CVE-2014-3570 - computação incorreta em BN_sqr()
  • correção CVE-2014-3571 - possível falha em dtls1_get_record()
  • correção CVE-2014-3572 - possível downgrade de ECDH ciphersuite para estado não-PFS
  • corrigir CVE-2014-8275 - vários problemas de impressão digital de certificado
  • correção CVE-2015-0204 - remove suporte para chaves efêmeras RSA para não exportação
    ciphersuites e no servidor
  • correção CVE-2015-0205 - não permite certificado DH de cliente não autenticado
  • correção CVE-2015-0206 - possível vazamento de memória ao armazenar em buffer registros DTLS
  • Qui, 16 de outubro de 2014 Tomáš Mráz [email protected] 1.0.1e-32
  • use o método aprovado pelo FIPS para cálculo de d no RSA
  • Quarta-feira, 15 de outubro de 2014 Tomáš Mráz [email protected] 1.0.1e-31
  • correção CVE-2014-3567 - vazamento de memória ao lidar com tickets de sessão
  • correção CVE-2014-3513 - vazamento de memória no suporte srtp
  • adicionar suporte para SCSV de fallback para mitigar parcialmente o CVE-2014-3566
    (ataque de preenchimento em SSL3)
  • Sex, 15 de agosto de 2014 Tomáš Mráz [email protected] 1.0.1e-30
  • adicionar extensões ECC TLS ao DTLS (#1119800)
  • Sex 08 de agosto de 2014 Tomáš Mráz [email protected] 1.0.1e-29
  • correção CVE-2014-3505 - doublefree no processamento de pacotes DTLS
  • corrigir CVE-2014-3506 - evitar esgotamento de memória em DTLS
  • corrigir CVE-2014-3507 - evitar vazamento de memória em DTLS
  • correção CVE-2014-3508 - correção de manipulação de OID para evitar vazamento de informações
  • correção CVE-2014-3509 - corrige a condição de corrida ao analisar o servidor hello
  • corrigir CVE-2014-3510 - corrigir DoS no tratamento anônimo (EC)DH em DTLS
  • correção CVE-2014-3511 - não permite downgrade de protocolo via fragmentação
  • Seg 16 de junho de 2014 Tomáš Mráz [email protected] 1.0.1e-28
  • correção CVE-2014-0224 que quebrou o suporte de retomada de sessão EAP-FAST
  • Sex 06 de junho de 2014 Tomáš Mráz [email protected] 1.0.1e-26
  • retire EXPORT, RC2 e DES da lista de cifras padrão (#1057520)
  • imprimir o tamanho da chave efêmera negociado no handshake TLS (#1057715)
  • não inclua ciphersuites ECC no cliente SSLv2 hello (#1090952)
  • detectar corretamente a falha de criptografia na BIO (#1100819)
  • falha na verificação de integridade do hmac se o arquivo .hmac estiver vazio (#1105567)
  • Modo FIPS: faça as limitações no keygen DSA, DH e RSA
    comprimento aplicado apenas se o ambiente OPENSSL_ENFORCE_MODULUS_BITS
    variável está definida
  • Seg 02 de junho de 2014 Tomáš Mráz [email protected] 1.0.1e-25
  • correção CVE-2010-5298 - possível uso de memória após liberar
  • correção CVE-2014-0195 - estouro de buffer via fragmento DTLS inválido
  • correção CVE-2014-0198 - possível desreferência de ponteiro NULL
  • correção CVE-2014-0221 - DoS de pacote de handshake DTLS inválido
  • correção CVE-2014-0224 - vulnerabilidade SSL/TLS MITM
  • correção CVE-2014-3470 - DoS do lado do cliente ao usar ECDH anônimo
  • Qui, 22 de maio de 2014 Tomáš Mráz [email protected] 1.0.1e-24
  • adicionar suporte de volta para a curva EC secp521r1
  • Seg 07 de abril de 2014 Tomáš Mráz [email protected] 1.0.1e-23
  • correção CVE-2014-0160 - divulgação de informações na extensão de pulsação TLS
  • Seg, 17 de março de 2014 Tomáš Mráz [email protected] 1.0.1e-22
  • use a chave RSA de 2048 bits nos autotestes FIPS
  • Quarta-feira, 19 de fevereiro de 2014 Tomáš Mráz [email protected] 1.0.1e-21
  • adicionar DH_compute_key_padded necessário para testes FIPS CAVS
  • faça com que a força de 3des seja 128 bits em vez de 168 (#1056616)
  • Modo FIPS: não gera chaves DSA e parâmetros DH < 2048 bits
  • Modo FIPS: use keygen RSA aprovado (permite apenas chaves de 2048 e 3072 bits)
  • Modo FIPS: adicione autoteste DH
  • Modo FIPS: resemente o DRBG corretamente em RAND_add()
  • Modo FIPS: adicione o autoteste de criptografia/descriptografia RSA
  • Modo FIPS: adicione limite rígido para criptografias de bloco 2^32 GCM com a mesma chave
  • use o comprimento da chave do arquivo de configuração se req -newkey rsa for invocado
  • Ter, 07 de janeiro de 2014 Tomáš Mráz [email protected] 1.0.1e-20
  • correção CVE-2013-4353 - Falha de handshake TLS inválida
  • Seg 06 de janeiro de 2014 Tomáš Mráz [email protected] 1.0.1e-19
  • corrigir CVE-2013-6450 - possível ataque MiTM em DTLS1
  • Sex, 20 de dezembro de 2013 Tomáš Mráz [email protected] 1.0.1e-18
  • correção CVE-2013-6449 - falha quando a versão na estrutura SSL está incorreta
  • Qui, 12 de dezembro de 2013 Tomáš Mráz [email protected] 1.0.1e-17
  • adicione de volta alguns símbolos no-op que foram descartados inadvertidamente
  • Qui, 31 de outubro de 2013 Tomáš Mráz [email protected] 1.0.1e-16
  • não anuncie curvas ECC que não suportamos
  • corrigir a identificação da CPU em CPUs Cyrix
  • Sex 27 de setembro de 2013 Tomáš Mráz [email protected] 1.0.1e-15
  • fazer o DTLS1 funcionar no modo FIPS
  • evite RSA e DSA 512 bits e Whirlpool em 'openssl speed' no modo FIPS
  • Qui, 26 de setembro de 2013 Tomáš Mráz [email protected] 1.0.1e-14
  • instalação de dracut-fips marca que o módulo FIPS está instalado
  • Seg 23 de setembro de 2013 Tomáš Mráz [email protected] 1.0.1e-13
  • evite dlopening libssl.so de libcrypto
  • Sex 20 de setembro de 2013 Tomáš Mráz [email protected] 1.0.1e-12
  • corrigir pequeno vazamento de memória no autoteste FIPS aes
  • corrigir segfault em openssl speed hmac no modo FIPS
  • Qui, 12 de setembro de 2013 Tomáš Mráz [email protected] 1.0.1e-11
  • documentar a opção nextprotneg nas páginas de manual
    patch original de Hubert Kario
  • Qui, 29 de agosto de 2013 Tomas Mraz [email protected] 1.0.1e-9
  • sempre execute os autotestes FIPS no construtor de biblioteca
    se o módulo FIPS estiver instalado
  • Sex, 16 de agosto de 2013 Tomas Mraz [email protected] 1.0.1e-8
  • corrigir o uso de rdrand se disponível
  • mais commits escolhidos a partir de upstream
  • correções de documentação
  • Sex, 26 de julho de 2013 Tomas Mraz [email protected] 1.0.1e-7
  • correção de página manual adicional
  • use o versionamento de símbolos também para a versão textual
  • Qui, 25 de julho de 2013 Tomas Mraz [email protected] 1.0.1e-6
  • correções de página de manual adicionais
  • saída de comando de velocidade de limpeza para ECDH ECDSA
  • Sex, 19 de julho de 2013 Tomas Mraz [email protected] 1.0.1e-5
  • usar macro _prefix
  • Qua, 10 de julho de 2013 Tomas Mraz [email protected] 1.0.1e-4
  • adicionar sinalizador de vinculação relro
  • Qua, 10 de julho de 2013 Tomas Mraz [email protected] 1.0.1e-2
  • adicione suporte para a opção -trusted_first para verificação da cadeia de certificados
  • Sex, 31 de maio de 2013 Tomas Mraz [email protected] 1.0.1e-1
  • rebase para a versão upstream 1.0.1e
  • Seg, 25 de fevereiro de 2013 Tomas Mraz [email protected] 1.0.0-28
  • correção para CVE-2013-0169 - ataque de temporização SSL/TLS CBC (#907589)
  • correção para CVE-2013-0166 - DoS na verificação de assinaturas OCSP (#908052)
  • ative a compactação somente se solicitado explicitamente ou OPENSSL_DEFAULT_ZLIB
    variável de ambiente está definida (corrige CVE-2012-4929 #857051)
  • use __secure_getenv() em todos os lugares em vez de getenv() (#839735)
  • Sex, 12 de outubro de 2012 Tomas Mraz [email protected] 1.0.0-27
  • corrija a referência sslrand(1) e sslpasswd(1) na página de manual openssl(1) (#841645)
  • solte a correção supérflua da lib64 nos arquivos pkgconfig .pc (#770872)
  • force BIO_accept_new(*:) para ouvir no IPv4
  • Quarta-feira, 15 de agosto de 2012 Tomas Mraz [email protected] 1.0.0-26
  • use PKCS#8 ao escrever chaves privadas no modo FIPS como o antigo
    O modo de criptografia PEM não é compatível com FIPS (#812348)
  • Ter, 15 de maio de 2012 Tomas Mraz [email protected] 1.0.0-25
  • correção para CVE-2012-2333 - verificação imprópria do comprimento do registro em DTLS (#820686)
  • inicialize corretamente o tkeylen na correção CVE-2012-0884
  • Qui, 19 de abril de 2012 Tomas Mraz [email protected] 1.0.0-24
  • correção para CVE-2012-2110 - corrupção de memória em asn1_d2i_read_bio() (#814185)
  • Seg 19 de março de 2012 Tomas Mraz [email protected] 1.0.0-23
  • corrigir problema com o patch de reinicialização do SGC que pode encerrar o handshake
    incorretamente
  • correção para CVE-2012-0884 - fraqueza do MMA no código CMS e PKCS#7 (#802725)
  • correção para CVE-2012-1165 - desreferência de leitura NULL em cabeçalhos MIME incorretos (#802489)
  • Qui 01 de março de 2012 Tomas Mraz [email protected] 1.0.0-22
  • corrigir criptografia incorreta de pedaços desalinhados nos modos CFB, OFB e CTR
  • Qui, 19 de janeiro de 2012 Tomas Mraz [email protected] 1.0.0-21
  • correção para CVE-2011-4108 e CVE-2012-0050 - recuperação de texto simples DTLS
    vulnerabilidade e correções DTLS adicionais (#771770)
  • correção para CVE-2011-4576 - preenchimento SSL 3.0 não inicializado (#771775)
  • correção para CVE-2011-4577 - possível DoS por meio de dados RFC 3779 malformados (#771778)
  • correção para CVE-2011-4619 - SGC reinicie o ataque DoS (#771780)
  • Seg, 31 de outubro de 2011 Tomas Mraz [email protected] 1.0.0-20
  • corrigir x86cpuid.pl - patch de Paolo Bonzini
  • Qui, 29 de setembro de 2011 Tomas Mraz [email protected] 1.0.0-19
  • adicionar teste de resposta conhecida para algoritmos SHA2
  • Quarta-feira, 21 de setembro de 2011 Tomas Mraz [email protected] 1.0.0-18
  • corrigir a inicialização ausente de uma variável no mecanismo CHIL (#740188)
  • Seg 12 de setembro de 2011 Tomas Mraz [email protected] 1.0.0-17
  • inicialize o X509_STORE_CTX corretamente para pesquisas de CRL - CVE-2011-3207
    (#736087)
  • Quarta-feira, 24 de agosto de 2011 Tomas Mraz [email protected] 1.0.0-16
  • mesclar as otimizações para AES-NI, SHA1 e RC4 do intelx
    engine para as implementações internas
  • Seg, 15 de agosto de 2011 Tomas Mraz [email protected] 1.0.0-15
  • melhor documentação dos resumos disponíveis em aplicativos (#693858)
  • correções do motor CHIL backport (#693863)
  • permitir compilação de teste sem patches downstream (#708511)
  • habilitar RELRO parcial ao vincular (#723994)
  • adicione o mecanismo intelx com desempenho aprimorado em novas CPUs Intel
  • adicione a variável de ambiente OPENSSL_DISABLE_AES_NI que desativa
    o suporte AES-NI (não afeta o mecanismo intelx)
  • Quarta-feira, 08 de junho de 2011 Tomas Mraz [email protected] 1.0.0-14
  • use o mecanismo AES-NI no modo FIPS
  • Ter, 24 de maio de 2011 Tomas Mraz [email protected] 1.0.0-11
  • adicionar a API necessária para o teste CAVS da nova geração de parâmetros DSA
  • Qui, 10 de fevereiro de 2011 Tomas Mraz [email protected] 1.0.0-10
  • corrigir vulnerabilidade de grampeamento OCSP - CVE-2011-0014 (#676063)
  • corrija o documento README.FIPS
  • Sex 04 de fevereiro de 2011 Tomas Mraz [email protected] 1.0.0-8
  • adicione o parâmetro -x931 ao comando openssl genrsa para usar o ANSI X9.31
    método de geração de chaves
  • use o método FIPS-186-3 para geração de parâmetros DSA
  • adicionar a variável de ambiente OPENSSL_FIPS_NON_APPROVED_MD5_ALLOW
    para permitir o uso de MD5 quando o sistema estiver em estado de manutenção
    mesmo se o sinalizador /proc fips estiver ativado
  • faça o comando openssl pkcs12 funcionar por padrão no modo FIPS
  • Seg, 24 de janeiro de 2011 Tomas Mraz [email protected] 1.0.0-7
  • ouça em ipv6 curinga em s_server para que aceitemos conexões
    de IPv4 e IPv6 (#601612)
  • corrija o comando openssl speed para que possa ser usado no modo FIPS
    com cifras permitidas FIPS (#619762)
  • Ter, 07 de dezembro de 2010 Tomas Mraz [email protected] 1.0.0-6
  • desabilitar código para SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG - CVE-2010-3864
    (#649304)
  • Sex 05 de novembro de 2010 Tomas Mraz [email protected] 1.0.0-5
  • correção de corrida no código de análise de extensão - CVE-2010-3864 (#649304)
  • Quarta-feira, 30 de junho de 2010 Tomas Mraz [email protected] 1.0.0-4
  • correção da página man do openssl (#609484)
  • Sex 04 de junho de 2010 Tomas Mraz [email protected] 1.0.0-3
  • corrigir definição ASN.1 incorreta de OriginatorInfo - CVE-2010-0742 (#598738)
  • corrigir vazamento de informações em rsa_verify_recover - CVE-2010-1633 (#598732)
  • Quarta-feira, 19 de maio de 2010 Tomas Mraz [email protected] 1.0.0-2
  • tornar o diretório CA legível - as chaves privadas estão no subdiretório privado (#584810)
  • algumas correções do CVS upstream
  • fazer o X509_NAME_hash_old funcionar no modo FIPS (#568395)
  • Ter, 30 de março de 2010 Tomas Mraz [email protected] 1.0.0-1
  • atualização para a versão final 1.0.0 upstream
  • Ter, 16 de fevereiro de 2010 Tomas Mraz [email protected] 1.0.0-0.22.beta5
  • fazer o TLS funcionar no modo FIPS
  • Sex 12 de fevereiro de 2010 Tomas Mraz [email protected] 1.0.0-0.21.beta5
  • lidar graciosamente com comprimento zero em implementações de montador de
    OPENSSL_cleanse (#564029)
  • não falhe em s_server se o nome do host do cliente não puder ser resolvido (#561260)
  • Quarta-feira, 20 de janeiro de 2010 Tomas Mraz [email protected] 1.0.0-0.20.beta5
  • nova versão upstream
  • Qui, 14 de janeiro de 2010 Tomas Mraz [email protected] 1.0.0-0.19.beta4
  • correção CVE-2009-4355 - vazamento em aplicativos chamando incorretamente
    CRYPTO_free_all_ex_data() antes da saída do aplicativo (#546707)
  • correção upstream para manipulação futura de versão do protocolo TLS
  • Quarta-feira, 13 de janeiro de 2010 Tomas Mraz [email protected] 1.0.0-0.18.beta4
  • adicionar suporte para Intel AES-NI
  • Qui 07 de janeiro de 2010 Tomas Mraz [email protected] 1.0.0-0.17.beta4
  • manipulação de compressão de correção upstream na retomada da sessão
  • várias verificações nulas e outras pequenas correções de upstream
  • alterações upstream para as informações de renegociação de acordo com o último rascunho
  • Seg, 23 de novembro de 2009 Tomas Mraz [email protected] 1.0.0-0.16.beta4
  • corrigir compilação mingw não-fips (patch de Kalev Lember)
  • adicionar correção IPV6 para DTLS
  • Sex 20 de novembro de 2009 Tomas Mraz [email protected] 1.0.0-0.15.beta4
  • adicionar melhores relatórios de erros para a renegociação insegura
  • Sex 20 de novembro de 2009 Tomas Mraz [email protected] 1.0.0-0.14.beta4
  • corrigir compilação no s390x
  • Quarta-feira, 18 de novembro de 2009 Tomas Mraz [email protected] 1.0.0-0.13.beta4
  • desabilitar a imposição da extensão de renegociação no cliente (#537962)
  • adicionar correções do instantâneo upstream atual
  • Sex 13 de novembro de 2009 Tomas Mraz [email protected] 1.0.0-0.12.beta4
  • mantenha o status beta no número da versão em 3 para que não tenhamos que reconstruir
    openssh e possivelmente outras dependências com verificação de versão muito rigorosa
  • Qui, 12 de novembro de 2009 Tomas Mraz [email protected] 1.0.0-0.11.beta4
  • atualização para nova versão upstream, sem necessidade de aumento de soname
  • correção CVE-2009-3555 - observe que a correção é ignorada se SSL_OP_ALL for usado
    para que a compatibilidade com clientes não corrigidos não seja quebrada. O
    extensão do protocolo também não é final.
  • Sex, 16 de outubro de 2009 Tomas Mraz [email protected] 1.0.0-0.10.beta3
  • corrige o uso da memória liberada se SSL_CTX_free() for chamado antes
    SSL_free() (#521342)
  • Qui 08 de outubro de 2009 Tomas Mraz [email protected] 1.0.0-0.9.beta3
  • corrigir erro de digitação no código DTLS1 (#527015)
  • corrigir vazamento no tratamento de erros de d2i_SSL_SESSION()
  • Quarta-feira, 30 de setembro de 2009 Tomas Mraz [email protected] 1.0.0-0.8.beta3
  • corrigir autotestes RSA e DSA FIPS
  • reativar código montador camélia x86_64 fixo (#521127)
  • Sex 04 de setembro de 2009 Tomas Mraz [email protected] 1.0.0-0.7.beta3
  • desabilitar temporariamente o código do montador de camélia x86_64 (#521127)
  • Seg, 31 de agosto de 2009 Tomas Mraz [email protected] 1.0.0-0.6.beta3
  • correção openssl dgst -dss1 (#520152)
  • Quarta-feira, 26 de agosto de 2009 Tomas Mraz [email protected] 1.0.0-0.5.beta3
  • solte os hacks de links simbólicos compatíveis
  • Sáb 22 de agosto de 2009 Tomas Mraz [email protected] 1.0.0-0.4.beta3
  • constify SSL_CIPHER_description()
  • Sex, 21 de agosto de 2009 Tomas Mraz [email protected] 1.0.0-0.3.beta3
  • corrigir WWW:Curl : referência fácil em tsget
  • Sex, 21 de agosto de 2009 Tomas Mraz [email protected] 1.0.0-0.2.beta3
  • habilitar MD-2
  • Qui, 20 de agosto de 2009 Tomas Mraz [email protected] 1.0.0-0.1.beta3
  • atualização para a nova versão principal do upstream
  • 25 de julho de 2009 Engenharia de lançamento do Fedora [email protected] - 0.9.8k-7
  • Reconstruído para https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
  • Quarta-feira, 22 de julho de 2009 Bill Nottingham [email protected]
  • não construa versões 'otimizadas' especiais para i686, pois essa é a base
    arco no Fedora agora
  • Ter, 30 de junho de 2009 Tomas Mraz [email protected] 0.9.8k-6
  • abortar se os autotestes falharem e o gerador de números aleatórios for pesquisado
  • mencione as rotinas EVP_aes e EVP_sha2xx nas manpages
  • adicionar README.FIPS
  • faça o caminho absoluto do diretório CA (#445344)
  • alterar o comprimento padrão para geração de chave RSA para 2048 (#484101)
  • Qui, 21 de maio de 2009 Tomas Mraz [email protected] 0.9.8k-5
  • corrigir CVE-2009-1377 CVE-2009-1378 CVE-2009-1379
    (problemas DTLS DoS) (#501253, #501254, #501572)
  • Ter, 21 de abril de 2009 Tomas Mraz [email protected] 0.9.8k-4
  • suporte ao modo DTLS de compatibilidade para CISCO AnyConnect (#464629)
  • Sex, 17 de abril de 2009 Tomas Mraz [email protected] 0,9,8k -3
  • corrija a definição de SHLIB_VERSION
  • Quarta-feira, 15 de abril de 2009 Tomas Mraz [email protected] 0.9.8k-2
  • adicionar suporte para várias CRLs com o mesmo assunto
  • carregar apenas suporte de mecanismo dinâmico no modo FIPS
  • Quarta-feira, 25 de março de 2009 Tomas Mraz [email protected] 0.9.8k-1
  • atualização para a nova versão upstream (pequenas correções de bugs, segurança
    apenas correções e otimizações de código de máquina)
  • Qui, 19 de março de 2009 Tomas Mraz [email protected] 0.9.8j-10
  • mover bibliotecas para /usr/lib (#239375)
  • Sex 13 de março de 2009 Tomas Mraz [email protected] 0.9.8j-9
  • adicionar um subpacote estático
  • Qui 26 de fevereiro de 2009 Engenharia de Lançamento do Fedora [email protected] - 0.9.8j-8
  • Reconstruído para https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
  • Seg 02 de fevereiro de 2009 Tomas Mraz [email protected] 0.9.8j-7
  • também deve verificar a soma de verificação de libssl.so no modo FIPS
  • obtenha a semente para FIPS rng diretamente do dispositivo do kernel
  • solte os links simbólicos temporários
  • Seg, 26 de janeiro de 2009 Tomas Mraz [email protected] 0.9.8j-6
  • solte o triggerpostun temporário e o symlinking no post
  • corrija os arquivos pkgconfig e elimine os buildrequires desnecessários
    no pkgconfig, pois é uma dependência do rpmbuild (#481419)
  • Sáb, 17 de janeiro de 2009 Tomas Mraz [email protected] 0.9.8j-5
  • adicione triggerpostun temporário para restabelecer os links simbólicos
  • Sáb 17 de janeiro de 2009 Tomas Mraz [email protected] 0.9.8j-4
  • nenhum teste de chave pareada no modo não-fips (#479817)
  • Sex 16 de janeiro de 2009 Tomas Mraz [email protected] 0.9.8j-3
  • teste ainda mais robusto para os links simbólicos temporários
  • Sex 16 de janeiro de 2009 Tomas Mraz [email protected] 0.9.8j-2
  • tente garantir que os links simbólicos temporários existam
  • Qui, 15 de janeiro de 2009 Tomas Mraz [email protected] 0.9.8j-1
  • nova versão upstream com soname bump necessário (#455753)
  • fornecer temporariamente um link simbólico para o antigo soname para possibilitar a reconstrução
    os pacotes dependentes em rawhide
  • adicionar suporte rápido (#428181)
  • adicionar a possibilidade de desabilitar o zlib definindo
  • adicionar suporte ao modo fips para fins de teste
  • não anule a referência em alguns arquivos smime inválidos
  • add buildrequer pkgconfig (#479493)
  • Dom 10 de agosto de 2008 Tomas Mraz [email protected] 0.9.8g-11
  • também não adicione extensões tls ao servidor hello para SSLv3
  • Seg 02 de junho de 2008 Joe Orton [email protected] 0.9.8g-10
  • mover o pacote CA raiz para o pacote ca-certificates
  • Quarta-feira, 28 de maio de 2008 Tomas Mraz [email protected] 0.9.8g-9
  • correção CVE-2008-0891 - falha na extensão do nome do servidor (#448492)
  • correção CVE-2008-1672 - mensagem de troca de chave do servidor omite falha (#448495)
  • Ter, 27 de maio de 2008 Tomas Mraz [email protected] 0.9.8g-8
  • suporte de arco super-H
  • solte a solução alternativa para o bug 199604, pois deve ser corrigido no gcc-4.3
  • Seg, 19 de maio de 2008 Tom "spot" Callaway [email protected] 0.9.8g-7
  • manuseamento de sparc
  • Seg, 10 de março de 2008 Joe Orton [email protected] 0.9.8g-6
  • atualização para o novo pacote CA raiz do mozilla.org (r1.45)
  • Quarta-feira, 20 de fevereiro de 2008 Engenharia de Lançamento do Fedora [email protected] - 0.9.8g-5
  • Reconstrução automática para GCC 4.3
  • Qui, 24 de janeiro de 2008 Tomas Mraz [email protected] 0.9.8g-4
  • mesclar correções de revisão (#226220)
  • ajuste o SHLIB_VERSION_NUMBER para refletir o nome da biblioteca (#429846)
  • Qui, 13 de dezembro de 2007 Tomas Mraz [email protected] 0.9.8g-3
  • definir caminhos padrão quando nenhum caminho explícito for definido (#418771)
  • não adicione extensões tls ao cliente hello para SSLv3 (#422081)
  • Ter, 04 de dezembro de 2007 Tomas Mraz [email protected] 0.9.8g-2
  • habilitar alguns novos algoritmos e recursos de criptografia
  • adicione algumas correções de bugs mais importantes do openssl CVS
  • Seg 03 de dezembro de 2007 Tomas Mraz [email protected] 0.9.8g-1
  • atualização para a versão upstream mais recente, SONAME aumentou para 7
  • Seg, 15 de outubro de 2007 Joe Orton [email protected] 0.9.8b-17
  • atualização para o novo pacote CA do mozilla.org
  • Sex 12 de outubro de 2007 Tomas Mraz [email protected] 0.9.8b-16
  • corrigir CVE-2007-5135 - off-by-one em SSL_get_shared_ciphers (#309801)
  • correção CVE-2007-4995 - estouro de buffer de fragmentos DTLS fora de ordem (#321191)
  • adicionar sub-arcos alfa (#296031)
  • Ter, 21 de agosto de 2007 Tomas Mraz [email protected] 0.9.8b-15
  • reconstruir
  • Sex 03 de agosto de 2007 Tomas Mraz [email protected] 0.9.8b-14
  • use localhost no testsuite, espero que corrija a compilação lenta no koji
  • CVE-2007-3108 - corrige o ataque de canal lateral em chaves privadas (#250577)
  • tornar o ID de cache de sessão SSL correspondente restrito (#233599)
  • Quarta-feira, 25 de julho de 2007 Tomas Mraz [email protected] 0.9.8b-13
  • permitir a construção em arquiteturas ARM (#245417)
  • use timestamps de referência para evitar conflitos multilib (#218064)
  • -devel pacote deve exigir pkgconfig (#241031)
  • Seg 11 de dezembro de 2006 Tomas Mraz [email protected] 0.9.8b-12
  • detectar duplicatas em add_dir corretamente (#206346)
  • Qui, 30 de novembro de 2006 Tomas Mraz [email protected] 0.9.8b-11
  • a alteração anterior ainda não tornou X509_NAME_cmp transitivo
  • Qui, 23 de novembro de 2006 Tomas Mraz [email protected] 0.9.8b-10
  • tornar X509_NAME_cmp transitivo, caso contrário, pesquisa de certificado
    está quebrado (#216050)
  • Qui 02 de novembro de 2006 Tomas Mraz [email protected] 0.9.8b-9
  • erro de aliasing no carregamento do mecanismo, patch da IBM (#213216)
  • Seg 02 de outubro de 2006 Tomas Mraz [email protected] 0.9.8b-8
  • A correção CVE-2006-2940 estava incorreta (#208744)
  • Seg 25 de setembro de 2006 Tomas Mraz [email protected] 0.9.8b-7
  • correção CVE-2006-2937 - erro mal tratado na análise ASN.1 (#207276)
  • correção CVE-2006-2940 - chaves públicas parasitas DoS (#207274)
  • correção CVE-2006-3738 - estouro de buffer em SSL_get_shared_ciphers (#206940)
  • correção CVE-2006-4343 - cliente sslv2 DoS (#206940)
  • Ter, 05 de setembro de 2006 Tomas Mraz [email protected] 0.9.8b-6
  • correção CVE-2006-4339 - previne ataque em assinaturas PKCS#1 v1.5 (#205180)
  • Quarta-feira, 02 de agosto de 2006 Tomas Mraz [email protected] - 0.9.8b-5
  • defina buffering para none em stdio/stdout FILE quando bufsize estiver definido (#200580)
    patch da IBM
  • Sex 28 de julho de 2006 Alexandre Oliva [email protected] - 0.9.8b-4.1
  • reconstruir com novos binutils (#200330)
  • Sex 21 de julho de 2006 Tomas Mraz [email protected] - 0.9.8b-4
  • adicione uma solução temporária para falha de teste sha512 em s390 (#199604)
  • Qui, 20 de julho de 2006 Tomas Mraz [email protected]
  • adicionar suporte ipv6 a s_client e s_server (por Jan Pazdziora) (#198737)
  • adicionar patches para BN threadsafety, correção de risco de ataque de colisão de cache AES e
    correção de memleak de código pkcs7 do CVS upstream
  • Qua, 12 de julho de 2006 Jesse Keating [email protected] - 0.9.8b-3.1
  • reconstruir
  • Quarta-feira, 21 de junho de 2006 Tomas Mraz [email protected] - 0.9.8b-3
  • caiu o motor libica e ica da compilação
  • Quarta-feira, 21 de junho de 2006 Joe Orton [email protected]
  • atualização para o novo pacote CA do mozilla.org; adiciona certificados CA
    de netlock.hu e startcom.org
  • Seg 05 de junho de 2006 Tomas Mraz [email protected] - 0.9.8b-2
  • corrigiu alguns avisos de rpmlint
  • melhor correção para # 173399 de upstream
  • correção upstream para pkcs12
  • Qui, 11 de maio de 2006 Tomas Mraz [email protected] - 0.9.8b-1
  • atualizar para a nova versão, permanece compatível com ABI
  • não há mais linux/config.h (estava vazio de qualquer maneira)
  • Ter, 04 de abril de 2006 Tomas Mraz [email protected] - 0.9.8a-6
  • corrigir alças abertas obsoletas em libica (#177155)
  • corrija a compilação se 'rand' ou 'passwd' no caminho buildroot (#178782)
  • inicialize o mecanismo VIA Padlock (#186857)
  • Sex 10 de fevereiro de 2006 Jesse Keating [email protected] - 0.9.8a-5.2
  • solte novamente para bug duplo no ppc (64)
  • Ter, 07 de fevereiro de 2006 Jesse Keating [email protected] - 0.9.8a-5.1
  • reconstruído para o novo instantâneo gcc4.1 e alterações glibc
  • Qui, 15 de dezembro de 2005 Tomas Mraz [email protected] 0.9.8a-5
  • não inclua SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG
    em SSL_OP_ALL (#175779)
  • Sex 09 de dezembro de 2005 Jesse Keating [email protected]
  • reconstruído
  • Ter, 29 de novembro de 2005 Tomas Mraz [email protected] 0.9.8a-4
  • correção de compilação (-lcrypto foi descartado erroneamente) da libica atualizada
  • motor ICA atualizado para 1.3.6-rc3
  • Ter, 22 de novembro de 2005 Tomas Mraz [email protected] 0.9.8a-3
  • desative os métodos de compactação internos por enquanto até que eles funcionem
    corretamente (#173399)
  • Quarta-feira, 16 de novembro de 2005 Tomas Mraz [email protected] 0.9.8a-2
  • não defina -rpath para o binário openssl
  • Ter, 08 de novembro de 2005 Tomas Mraz [email protected] 0.9.8a-1
  • nova versão upstream
  • patches parcialmente renumerados
  • Sex 21 de outubro de 2005 Tomas Mraz [email protected] 0.9.7f-11
  • biblioteca de mecanismo IBM ICA atualizada e patch para a versão upstream mais recente
  • Quarta-feira, 12 de outubro de 2005 Tomas Mraz [email protected] 0.9.7f-10
  • corrigir CAN-2005-2969 - remover SSL_OP_MSIE_SSLV2_RSA_PADDING que
    desativa a contramedida contra o ataque man in the middle no SSLv2
    (#169863)
  • use sha1 como padrão para solicitações de CA e cert - CAN-2005-2946 (#169803)
  • Ter, 23 de agosto de 2005 Tomas Mraz [email protected] 0.9.7f-9
  • adicione *.so.soversion como links simbólicos em /lib (#165264)
  • remover links simbólicos não empacotados (#159595)
  • correções de upstream (correções de tempo constante para DSA,
    bn assembler div no ppc arch, inicialize a memória no realloc)
  • Qui, 11 de agosto de 2005 Phil Knirsch [email protected] 0.9.7f-8
  • Atualização do patch IBM do mecanismo ICA para a versão upstream mais recente.
  • Qui, 19 de maio de 2005 Tomas Mraz [email protected] 0.9.7f-7
  • correção CAN-2005-0109 - use tempo constante/acesso à memória mod_exp
    para que bits de chave privada não sejam vazados pelo despejo de cache (#157631)
  • mais algumas correções do upstream 0.9.7g
  • Quarta-feira, 27 de abril de 2005 Tomas Mraz [email protected] 0.9.7f-6
  • use poll em vez de select in rand (#128285)
  • corrigir Makefile.certificate para apontar para /etc/pki/tls
  • altere a máscara de string padrão em ASN1 para PrintableString+UTF8String
  • Seg, 25 de abril de 2005 Joe Orton [email protected] 0.9.7f-5
  • atualização para a revisão 1.37 do pacote Mozilla CA
  • Qui, 21 de abril de 2005 Tomas Mraz [email protected] 0.9.7f-4
  • mover certificados para _sysconfdir/pki/tls (#143392)
  • mover diretórios CA para _sysconfdir/pki/CA
  • corrigir o script CA e a configuração padrão para que aponte para o
    Diretórios CA
  • Sex 01 de abril de 2005 Tomas Mraz [email protected] 0.9.7f-3
  • variável não inicializada não deve ser usada como entrada em linha
    conjunto
  • reative o assembly x86_64 novamente
  • Qui, 31 de março de 2005 Tomas Mraz [email protected] 0.9.7f-2
  • adicione de volta RC4_CHAR em ia64 e x86_64 para que a ABI não seja quebrada
  • desabilitar o assembly bignum quebrado em x86_64
  • Quarta-feira, 30 de março de 2005 Tomas Mraz [email protected] 0.9.7f-1
  • reativar otimizações em ppc64 e código assembly em ia64
  • atualize para a nova versão upstream (não é necessário aumentar o soname)
  • desabilitar teste de thread - estava testando o backport do
    Cegueira RSA - não é mais necessária
  • adicionado suporte para alterar o número de série para
    Makefile.certificate (#151188)
  • faça do ca-bundle.crt um arquivo de configuração (#118903)
  • Ter, 01 de março de 2005 Tomas Mraz [email protected] 0.9.7e-3
  • libcrypto não deve depender de libkrb5 (#135961)
  • Seg, 28 de fevereiro de 2005 Tomas Mraz [email protected] 0.9.7e-2
  • reconstruir
  • Seg, 28 de fevereiro de 2005 Tomas Mraz [email protected] 0.9.7e-1
  • nova fonte upstream, patches atualizados
  • adicionado patch, então esperamos que sejamos compatíveis com ABI com os próximos
    0,9,7f
  • Qui, 10 de fevereiro de 2005 Tomas Mraz [email protected]
  • Suporta charset UTF-8 no Makefile.certificate (#134944)
  • Adicionado cmp ao BuildPrereq
  • Qui, 27 de janeiro de 2005 Joe Orton [email protected] 0.9.7a-46
  • gerar novo ca-bundle.crt do Mozilla certdata.txt (revisão 1.32)
  • Qui, 23 de dezembro de 2004 Phil Knirsch [email protected] 0.9.7a-45
  • Correção e atualização do patch libica-1.3.4-urandom.patch (#122967)
  • Sex 19 de novembro de 2004 Nalin Dahyabhai [email protected] 0.9.7a-44
  • reconstruir
  • Sex 19 de novembro de 2004 Nalin Dahyabhai [email protected] 0.9.7a-43
  • reconstruir
  • Sex 19 de novembro de 2004 Nalin Dahyabhai [email protected] 0.9.7a-42
  • reconstruir
  • Sex 19 de novembro de 2004 Nalin Dahyabhai [email protected] 0.9.7a-41
  • remova der_chop, como o upstream cvs fez (CAN-2004-0975, #140040)
  • Ter, 05 de outubro de 2004 Phil Knirsch [email protected] 0.9.7a-40
  • Inclua a versão mais recente da libica com correções de bugs importantes
  • Ter, 15 de junho de 2004 Elliot Lee [email protected]
  • reconstruído
  • Seg, 14 de junho de 2004 Phil Knirsch [email protected] 0.9.7a-38
  • Atualização do patch IBM do mecanismo ICA para a versão upstream mais recente.
  • Seg 07 de junho de 2004 Nalin Dahyabhai [email protected] 0.9.7a-37
  • construir para linux-alpha-gcc em vez de alpha-gcc em alpha (Jeff Garzik)
  • Ter, 25 de maio de 2004 Nalin Dahyabhai [email protected] 0.9.7a-36
  • lidar com casos %{_arch}=i486/i586/i686/athlon no intermediário
    cabeçalho (#124303)
  • Qui, 25 de março de 2004 Joe Orton [email protected] 0.9.7a-35
  • adicionar correções de segurança para CAN-2004-0079, CAN-2004-0112
  • Ter, 16 de março de 2004 Phil Knirsch [email protected]
  • Corrigido o arquivo spec de libica.
  • Qui, 11 de março de 2004 Nalin Dahyabhai [email protected] 0.9.7a-34
  • ppc/ppc64 define powerpc / powerpc64 , não ppc / ppc64 , corrige
    o cabeçalho intermediário
  • Quarta-feira, 10 de março de 2004 Nalin Dahyabhai [email protected] 0.9.7a-33
  • adicionar um intermediárioque aponta para a direita
    opensslconf.h específico do arco em arcos multilib
  • Ter, 02 de março de 2004 Elliot Lee [email protected]
  • reconstruído
  • Qui, 26 de fevereiro de 2004 Phil Knirsch [email protected] 0.9.7a-32
  • Libica atualizada para a versão upstream mais recente 1.3.5.
  • Ter, 17 de fevereiro de 2004 Phil Knirsch [email protected] 0.9.7a-31
  • Atualize o patch do mecanismo de criptografia ICA da IBM para a versão mais recente.
  • Sex 13 de fevereiro de 2004 Elliot Lee [email protected]
  • reconstruído
  • Sex 13 de fevereiro de 2004 Phil Knirsch [email protected] 0.9.7a-29
  • reconstruído
  • Quarta-feira, 11 de fevereiro de 2004 Phil Knirsch [email protected] 0.9.7a-28
  • Compilação de libica corrigida.
  • Quarta-feira, 04 de fevereiro de 2004 Nalin Dahyabhai [email protected]
  • adicione "-ldl" aos sinalizadores de link adicionados para Linux-on-ARM (#99313)
  • Quarta-feira, 04 de fevereiro de 2004 Joe Orton [email protected] 0.9.7a-27
  • atualizado ca-bundle.crt: raízes GeoTrust expiradas removidas, adicionadas
    root freessl.com, removido trustcenter.de Class 0 root
  • Dom 30 de novembro de 2003 Tim Waugh [email protected] 0.9.7a-26
  • Correção da linha de link para libssl (bug #111154).
  • Sex, 24 de outubro de 2003 Nalin Dahyabhai [email protected] 0.9.7a-25
  • adicione dependência no zlib-devel para o pacote -devel, que depende do zlib
    símbolos porque habilitamos zlib para libssl (#102962)
  • Sex, 24 de outubro de 2003 Phil Knirsch [email protected] 0.9.7a-24
  • Use /dev/urandom em vez de PRNG para libica.
  • Aplique a correção libica-1.3.5 para /dev/urandom em icalinux.c
  • Use o patch de mecanismo ICA mais recente da IBM.
  • Sáb 04 de outubro de 2003 Nalin Dahyabhai [email protected] 0.9.7a-22.1
  • reconstruir
  • Quarta-feira, 01 de outubro de 2003 Nalin Dahyabhai [email protected] 0.9.7a-22
  • reconstruir (22 não foi realmente construído, divertido, hein?)
  • Ter, 30 de setembro de 2003 Nalin Dahyabhai [email protected] 0.9.7a-23
  • re-desabilitar otimizações em ppc64
  • Ter, 30 de setembro de 2003 Joe Orton [email protected]
  • adicione a correção a_mbstr.c para plataformas de 64 bits do CVS
  • Ter, 30 de setembro de 2003 Nalin Dahyabhai [email protected] 0.9.7a-22
  • adicione -Wa, --noexecstack a RPM_OPT_FLAGS para que os módulos montados sejam marcados
    como não precisar de pilhas executáveis
  • Seg 29 de setembro de 2003 Nalin Dahyabhai [email protected] 0.9.7a-21
  • reconstruir
  • Qui, 25 de setembro de 2003 Nalin Dahyabhai [email protected]
  • re-enable optimizations on ppc64
  • Thu Sep 25 2003 Nalin Dahyabhai [email protected]
  • remove exclusivearch
  • Wed Sep 24 2003 Nalin Dahyabhai [email protected] 0.9.7a-20
  • only parse a client cert if one was requested
  • temporarily exclusivearch for %{ix86}
  • Tue Sep 23 2003 Nalin Dahyabhai [email protected]
  • add security fixes for protocol parsing bugs (CAN-2003-0543, CAN-2003-0544)
    and heap corruption (CAN-2003-0545)
  • update RHNS-CA-CERT files
  • ease back on the number of threads used in the threading test
  • Wed Sep 17 2003 Matt Wilson [email protected] 0.9.7a-19
  • rebuild to fix gzipped file md5sums (#91211)
  • Mon Aug 25 2003 Phil Knirsch [email protected] 0.9.7a-18
  • Updated libica to version 1.3.4.
  • Thu Jul 17 2003 Nalin Dahyabhai [email protected] 0.9.7a-17
  • rebuild
  • Tue Jul 15 2003 Nalin Dahyabhai [email protected] 0.9.7a-10.9
  • free the kssl_ctx structure when we free an SSL structure (#99066)
  • Fri Jul 11 2003 Nalin Dahyabhai [email protected] 0.9.7a-16
  • rebuild
  • Thu Jul 10 2003 Nalin Dahyabhai [email protected] 0.9.7a-15
  • lower thread test count on s390x
  • Tue Jul 08 2003 Nalin Dahyabhai [email protected] 0.9.7a-14
  • rebuild
  • Thu Jun 26 2003 Nalin Dahyabhai [email protected] 0.9.7a-13
  • disable assembly on arches where it seems to conflict with threading
  • Thu Jun 26 2003 Phil Knirsch [email protected] 0.9.7a-12
  • Updated libica to latest upstream version 1.3.0
  • Wed Jun 11 2003 Nalin Dahyabhai [email protected] 0.9.7a-9.9
  • rebuild
  • Wed Jun 11 2003 Nalin Dahyabhai [email protected] 0.9.7a-11
  • rebuild
  • Tue Jun 10 2003 Nalin Dahyabhai [email protected] 0.9.7a-10
  • ubsec: don't stomp on output data which might also be input data
  • Tue Jun 10 2003 Nalin Dahyabhai [email protected] 0.9.7a-9
  • temporarily disable optimizations on ppc64
  • Mon Jun 09 2003 Nalin Dahyabhai [email protected]
  • backport fix for engine-used-for-everything from 0.9.7b
  • backport fix for prng not being seeded causing problems, also from 0.9.7b
  • add a check at build-time to ensure that RSA is thread-safe
  • keep perlpath from stomping on the libica configure scripts
  • Fri Jun 06 2003 Nalin Dahyabhai [email protected]
  • thread-safety fix for RSA blinding
  • Wed Jun 04 2003 Elliot Lee [email protected] 0.9.7a-8
  • rebuilt
  • Fri May 30 2003 Phil Knirsch [email protected] 0.9.7a-7
  • Added libica-1.2 to openssl (featurerequest).
  • Wed Apr 16 2003 Nalin Dahyabhai [email protected] 0.9.7a-6
  • fix building with incorrect flags on ppc64
  • Wed Mar 19 2003 Nalin Dahyabhai [email protected] 0.9.7a-5
  • add patch to harden against Klima-Pokorny-Rosa extension of Bleichenbacher's
    attack (CAN-2003-0131)
  • Mon Mar 17 2003 Nalin Dahyabhai [email protected] 0.9.7a-4
  • add patch to enable RSA blinding by default, closing a timing attack
    (CAN-2003-0147)
  • Wed Mar 05 2003 Nalin Dahyabhai [email protected] 0.9.7a-3
  • disable use of BN assembly module on x86_64, but continue to allow inline
    assembly (#83403)
  • Thu Feb 27 2003 Nalin Dahyabhai [email protected] 0.9.7a-2
  • disable EC algorithms
  • Wed Feb 19 2003 Nalin Dahyabhai [email protected] 0.9.7a-1
  • update to 0.9.7a
  • Wed Feb 19 2003 Nalin Dahyabhai [email protected] 0.9.7-8
  • add fix to guard against attempts to allocate negative amounts of memory
  • add patch for CAN-2003-0078, fixing a timing attack
  • Thu Feb 13 2003 Elliot Lee [email protected] 0.9.7-7
  • Add openssl-ppc64.patch
  • Mon Feb 10 2003 Nalin Dahyabhai [email protected] 0.9.7-6
  • EVP_DecryptInit should call EVP_CipherInit() instead of EVP_CipherInit_ex(),
    to get the right behavior when passed uninitialized context structures
    (#83766)
  • build with -mcpu=ev5 on alpha family (#83828)
  • Wed Jan 22 2003 Tim Powers [email protected]
  • rebuilt
  • Fri Jan 17 2003 Phil Knirsch [email protected] 0.9.7-4
  • Added IBM hw crypto support patch.
  • Wed Jan 15 2003 Nalin Dahyabhai [email protected]
  • add missing builddep on sed
  • Thu Jan 09 2003 Bill Nottingham [email protected] 0.9.7-3
  • debloat
  • fix broken manpage symlinks
  • Wed Jan 08 2003 Nalin Dahyabhai [email protected] 0.9.7-2
  • fix double-free in 'openssl ca'
  • Fri Jan 03 2003 Nalin Dahyabhai [email protected] 0.9.7-1
  • update to 0.9.7 final
  • Tue Dec 17 2002 Nalin Dahyabhai [email protected] 0.9.7-0
  • update to 0.9.7 beta6 (DO NOT USE UNTIL UPDATED TO FINAL 0.9.7)
  • Wed Dec 11 2002 Nalin Dahyabhai [email protected]
  • update to 0.9.7 beta5 (DO NOT USE UNTIL UPDATED TO FINAL 0.9.7)
  • Tue Oct 22 2002 Nalin Dahyabhai [email protected] 0.9.6b-30
  • add configuration stanza for x86_64 and use it on x86_64
  • build for linux-ppc on ppc
  • start running the self-tests again
  • Wed Oct 02 2002 Elliot Lee [email protected] 0.9.6b-29hammer.3
  • Merge fixes from previous hammer packages, including general x86-64 and
    multilib
  • Tue Aug 06 2002 Nalin Dahyabhai [email protected] 0.9.6b-29
  • rebuild
  • Thu Aug 01 2002 Nalin Dahyabhai [email protected] 0.9.6b-28
  • update asn patch to fix accidental reversal of a logic check
  • Wed Jul 31 2002 Nalin Dahyabhai [email protected] 0.9.6b-27
  • update asn patch to reduce chance that compiler optimization will remove
    one of the added tests
  • Wed Jul 31 2002 Nalin Dahyabhai [email protected] 0.9.6b-26
  • rebuild
  • Mon Jul 29 2002 Nalin Dahyabhai [email protected] 0.9.6b-25
  • add patch to fix ASN.1 vulnerabilities
  • Thu Jul 25 2002 Nalin Dahyabhai [email protected] 0.9.6b-24
  • add backport of Ben Laurie's patches for OpenSSL 0.9.6d
  • Wed Jul 17 2002 Nalin Dahyabhai [email protected] 0.9.6b-23
  • own {_datadir}/ssl/misc
  • Fri Jun 21 2002 Tim Powers [email protected]
  • automated rebuild
  • Sun May 26 2002 Tim Powers [email protected]
  • automated rebuild
  • Fri May 17 2002 Nalin Dahyabhai [email protected] 0.9.6b-20
  • free ride through the build system (whee!)
  • Thu May 16 2002 Nalin Dahyabhai [email protected] 0.9.6b-19
  • rebuild in new environment
  • Thu Apr 04 2002 Nalin Dahyabhai [email protected] 0.9.6b-17, 0.9.6b-18
  • merge RHL-specific bits into stronghold package, rename
  • Tue Apr 02 2002 Gary Benson [email protected] stronghold-0.9.6c-2
  • add support for Chrysalis Luna token
  • Tue Mar 26 2002 Gary Benson [email protected]
  • disable AEP random number generation, other AEP fixes
  • Fri Mar 15 2002 Nalin Dahyabhai [email protected] 0.9.6b-15
  • only build subpackages on primary arches
  • Thu Mar 14 2002 Nalin Dahyabhai [email protected] 0.9.6b-13
  • on ia32, only disable use of assembler on i386
  • enable assembly on ia64
  • Mon Jan 07 2002 Florian La Roche Florian. [email protected] 0.9.6b-11
  • fix sparcv9 entry
  • Mon Jan 07 2002 Gary Benson [email protected] stronghold-0.9.6c-1
  • upgrade to 0.9.6c
  • bump BuildArch to i686 and enable assembler on all platforms
  • synchronise with shrimpy and rawhide
  • bump soversion to 3
  • Wed Oct 10 2001 Florian La Roche Florian. [email protected]
  • delete BN_LLONG for s390x, patch from Oliver Paukstadt
  • Mon Sep 17 2001 Nalin Dahyabhai [email protected] 0.9.6b-9
  • update AEP driver patch
  • Mon Sep 10 2001 Nalin Dahyabhai [email protected]
  • adjust RNG disabling patch to match version of patch from Broadcom
  • Fri Sep 07 2001 Nalin Dahyabhai [email protected] 0.9.6b-8
  • disable the RNG in the ubsec engine driver
  • Tue Aug 28 2001 Nalin Dahyabhai [email protected] 0.9.6b-7
  • tweaks to the ubsec engine driver
  • Fri Aug 24 2001 Nalin Dahyabhai [email protected] 0.9.6b-6
  • tweaks to the ubsec engine driver
  • Thu Aug 23 2001 Nalin Dahyabhai [email protected] 0.9.6b-5
  • update ubsec engine driver from Broadcom
  • Fri Aug 10 2001 Nalin Dahyabhai [email protected] 0.9.6b-4
  • move man pages back to %{_mandir}/man?/foo.?ssl from
    %{_mandir}/man?ssl/foo.?
  • add an [ engine ] section to the default configuration file
  • Thu Aug 09 2001 Nalin Dahyabhai [email protected]
  • add a patch for selecting a default engine in SSL_library_init()
  • Mon Jul 23 2001 Nalin Dahyabhai [email protected] 0.9.6b-3
  • add patches for AEP hardware support
  • add patch to keep trying when we fail to load a cert from a file and
    there are more in the file
  • add missing prototype for ENGINE_ubsec() in engine_int.h
  • Wed Jul 18 2001 Nalin Dahyabhai [email protected] 0.9.6b-2
  • actually add hw_ubsec to the engine list
  • Tue Jul 17 2001 Nalin Dahyabhai [email protected]
  • add in the hw_ubsec driver from CVS
  • Wed Jul 11 2001 Nalin Dahyabhai [email protected] 0.9.6b-1
  • update to 0.9.6b
  • Thu Jul 05 2001 Nalin Dahyabhai [email protected]
  • move .so symlinks back to %{_libdir}
  • Tue Jul 03 2001 Nalin Dahyabhai [email protected]
  • move shared libraries to /lib (#38410)
  • Mon Jun 25 2001 Nalin Dahyabhai [email protected]
  • switch to engine code base
  • Mon Jun 18 2001 Nalin Dahyabhai [email protected]
  • add a script for creating dummy certificates
  • move man pages from %{_mandir}/man?/foo.?ssl to %{_mandir}/man?ssl/foo.?
  • Thu Jun 07 2001 Florian La Roche Florian. [email protected]
  • add s390x support
  • Fri Jun 01 2001 Nalin Dahyabhai [email protected]
  • change two memcpy() calls to memmove()
  • don't define L_ENDIAN on alpha
  • Wed May 23 2001 Joe Orton [email protected] stronghold-0.9.6a-1
  • Add 'stronghold-' prefix to package names.
  • Obsolete standard openssl packages.
  • Wed May 16 2001 Joe Orton [email protected]
  • Add BuildArch: i586 as per Nalin's advice.
  • Tue May 15 2001 Joe Orton [email protected]
  • Enable assembler on ix86 (using new .tar.bz2 which does
    include the asm directories).
  • Tue May 15 2001 Nalin Dahyabhai [email protected]
  • make subpackages depend on the main package
  • Tue May 01 2001 Nalin Dahyabhai [email protected]
  • adjust the hobble script to not disturb symlinks in include/ (fix from
    Joe Orton)
  • Fri Apr 27 2001 Nalin Dahyabhai [email protected]
  • drop the m2crypo patch we weren't using
  • Tue Apr 24 2001 Nalin Dahyabhai [email protected]
  • configure using "shared" as well
  • Sun Apr 08 2001 Nalin Dahyabhai [email protected]
  • update to 0.9.6a
  • use the build-shared target to build shared libraries
  • bump the soversion to 2 because we're no longer compatible with
    our 0.9.5a packages or our 0.9.6 packages
  • drop the patch for making rsatest a no-op when rsa null support is used
  • put all man pages into
    ssl instead of
  • break the m2crypto modules into a separate package
  • Tue Mar 13 2001 Nalin Dahyabhai [email protected]
  • use BN_LLONG on s390
  • Mon Mar 12 2001 Nalin Dahyabhai [email protected]
  • fix the s390 changes for 0.9.6 (isn't supposed to be marked as 64-bit)
  • Sat Mar 03 2001 Nalin Dahyabhai [email protected]
  • move c_rehash to the perl subpackage, because it's a perl script now
  • Fri Mar 02 2001 Nalin Dahyabhai [email protected]
  • update to 0.9.6
  • enable MD2
  • use the libcrypto.so and libssl.so targets to build shared libs with
  • bump the soversion to 1 because we're no longer compatible with any of
    the various 0.9.5a packages circulating around, which provide lib*.so.0
  • Wed Feb 28 2001 Florian La Roche Florian. [email protected]
  • change hobble-openssl for disabling MD2 again
  • Tue Feb 27 2001 Nalin Dahyabhai [email protected]
  • re-disable MD2 -- the EVP_MD_CTX structure would grow from 100 to 152
    bytes or so, causing EVP_DigestInit() to zero out stack variables in
    apps built against a version of the library without it
  • Mon Feb 26 2001 Nalin Dahyabhai [email protected]
  • disable some inline assembly, which on x86 is Pentium-specific
  • re-enable MD2 (see http://www.ietf.org/ietf/IPR/RSA-MD-all)
  • Thu Feb 08 2001 Florian La Roche Florian. [email protected]
  • fix s390 patch
  • Fri Dec 08 2000 Than Ngo [email protected]
  • added support s390
  • Mon Nov 20 2000 Nalin Dahyabhai [email protected]
  • remove -Wa,* and -m* compiler flags from the default Configure file (#20656)
  • add the CA.pl man page to the perl subpackage
  • Thu Nov 02 2000 Nalin Dahyabhai [email protected]
  • always build with -mcpu=ev5 on alpha
  • Tue Oct 31 2000 Nalin Dahyabhai [email protected]
  • add a symlink from cert.pem to ca-bundle.crt
  • Wed Oct 25 2000 Nalin Dahyabhai [email protected]
  • add a ca-bundle file for packages like Samba to reference for CA certificates
  • Tue Oct 24 2000 Nalin Dahyabhai [email protected]
  • remove libcrypto's crypt(), which doesn't handle md5crypt (#19295)
  • Mon Oct 02 2000 Nalin Dahyabhai [email protected]
  • add unzip as a buildprereq (#17662)
  • update m2crypto to 0.05-snap4
  • Tue Sep 26 2000 Bill Nottingham [email protected]
  • fix some issues in building when it's not installed
  • Wed Sep 06 2000 Nalin Dahyabhai [email protected]
  • make sure the headers we include are the ones we built with (aaaaarrgh!)
  • Fri Sep 01 2000 Nalin Dahyabhai [email protected]
  • add Richard Henderson's patch for BN on ia64
  • clean up the changelog
  • Tue Aug 29 2000 Nalin Dahyabhai [email protected]
  • fix the building of python modules without openssl-devel already installed
  • Wed Aug 23 2000 Nalin Dahyabhai [email protected]
  • byte-compile python extensions without the build-root
  • adjust the makefile to not remove temporary files (like .key files when
    building .csr files) by marking them as .PRECIOUS
  • Sat Aug 19 2000 Nalin Dahyabhai [email protected]
  • break out python extensions into a subpackage
  • Mon Jul 17 2000 Nalin Dahyabhai [email protected]
  • tweak the makefile some more
  • Tue Jul 11 2000 Nalin Dahyabhai [email protected]
  • disable MD2 support
  • Thu Jul 06 2000 Nalin Dahyabhai [email protected]
  • disable MDC2 support
  • Sun Jul 02 2000 Nalin Dahyabhai [email protected]
  • tweak the disabling of RC5, IDEA support
  • tweak the makefile
  • Thu Jun 29 2000 Nalin Dahyabhai [email protected]
  • strip binaries and libraries
  • rework certificate makefile to have the right parts for Apache
  • Wed Jun 28 2000 Nalin Dahyabhai [email protected]
  • use %{_perl} instead of /usr/bin/perl
  • disable alpha until it passes its own test suite
  • Fri Jun 09 2000 Nalin Dahyabhai [email protected]
  • move the passwd.1 man page out of the passwd package's way
  • Fri Jun 02 2000 Nalin Dahyabhai [email protected]
  • update to 0.9.5a, modified for US
  • add perl as a build-time requirement
  • move certificate makefile to another package
  • disable RC5, IDEA, RSA support
  • remove optimizations for now
  • Wed Mar 01 2000 Florian La Roche Florian. [email protected]
  • Bero told me to move the Makefile into this package
  • Wed Mar 01 2000 Florian La Roche Florian. [email protected]
  • add lib*.so symlinks to link dynamically against shared libs
  • Tue Feb 29 2000 Florian La Roche Florian. [email protected]
  • update to 0.9.5
  • run ldconfig directly in post/postun
  • add FAQ
  • Sat Dec 18 1999 Bernhard Rosenkrdnzer [email protected]
  • Fix build on non-x86 platforms
  • Fri Nov 12 1999 Bernhard Rosenkrdnzer [email protected]
  • move /usr/share/ssl/* from -devel to main package
  • Tue Oct 26 1999 Bernhard Rosenkrdnzer [email protected]
  • inital packaging
  • changes from base:

    • Move /usr/local/ssl to /usr/share/ssl for FHS compliance

    • handle RPM_OPT_FLAGS

Parece que @Lekinho excluiu sua conta do github? Para a próxima pessoa que tiver problemas - é possível que a atualização do OpenSsl ou do Python tenha quebrado algumas ligações c compiladas. Sempre que tenho uma atualização como essa, destruo meu virtualenv ou todos os pacotes e construo um novo.

@jvanasco ainda estou aqui.
Eu queria saber, você tem um URL público que eu possa testar isso? Quero ver se a solução alternativa realmente resolve o problema para casos confirmados (isso significa que não estraguei nada ao tentar fazê-lo)

@Lukasa

subconjunto de changeset entre a versão de trabalho e a versão atualizada :+1:
Seg, 02 de maio de 2016 Tomáš Mráz [email protected] 1.0.1e-48.1
correção CVE-2016-2105 - possível estouro na codificação base64
correção CVE-2016-2106 - possível estouro em EVP_EncryptUpdate()
correção CVE-2016-2107 - oráculo de preenchimento em AES-NI CBC-MAC costurado
correção CVE-2016-2108 - corrupção de memória no codificador ASN.1
correção CVE-2016-2109 - possível DoS ao ler dados ASN.1 da BIO
corrigir CVE-2016-0799 - problemas de memória em BIO_printf

Quarta-feira, 24 de fevereiro de 2016 Tomáš Mráz [email protected] 1.0.1e-48

correção CVE-2016-0702 - ataque de canal lateral na exponenciação modular
correção CVE-2016-0705 - double free na análise de chave privada DSA
corrigir CVE-2016-0797 - corrupção de heap em BN_hex2bn e BN_dec2bn

Ter, 16 de fevereiro de 2016 Tomáš Mráz [email protected] 1.0.1e-47

correção CVE-2015-3197 - Aplicação do conjunto de criptografia SSLv2
desabilitar SSLv2 no método TLS genérico

Sex 15 de janeiro de 2016 Tomáš Mráz [email protected] 1.0.1e-46

corrigir vazamento de memória de 1 byte na análise pkcs12 (#1229871)
documente algumas opções do comando de velocidade (#1197095)

Qui, 14 de janeiro de 2016 Tomáš Mráz [email protected] 1.0.1e-45

corrigir carimbos de data/hora de alta precisão na autoridade de carimbo de data/hora

Seg, 21 de dezembro de 2015 Tomáš Mráz [email protected] 1.0.1e-44

correção CVE-2015-7575 - não permite o uso de MD5 em TLS1.2

Sex 04 de dezembro de 2015 Tomáš Mráz [email protected] 1.0.1e-43

correção CVE-2015-3194 - falha de verificação de certificado com parâmetro PSS ausente
corrigir CVE-2015-3195 - vazamento de memória X509_ATTRIBUTE
corrigir CVE-2015-3196 - condição de corrida ao lidar com a dica de identidade PSK

Ter, 23 de junho de 2015 Tomáš Mráz [email protected] 1.0.1e-42

Atualizar :
Então eu encontrei um trabalho em torno disso.
Basicamente, um colega estava lendo sobre o assunto e viu alguns posts sobre o suporte do RHEL openssl para a cifra ECC/ECDH não ser 100% por qualquer motivo.

Tentamos a solicitação para a URL desabilitando explicitamente as cifras ECDH (adicionando a negação do próprio script openssl, ou seja, openssl s_client -connect 10.85.103.218:8443 -cipher 'DEFAULT:!ECDH')

Conseguimos conectar com sucesso.

Aqui está a lista de cifras padrão para o openssl no Ubuntu 14.04
ECDH+ AESGCM:DH+AESGCM :ECDH+AES256:DH+AES256:ECDH+AES128:DH+ AES:ECDH+HIGH :DH+ HIGH:ECDH+3DES :DH+3 DES:RSA+AESGCM :RSA+ AES:RSA+HIGH :RSA +3DES:!aNULL:!eNULL:!MD5

Então, com esse conhecimento, usei pyopenssl para imprimir minhas cifras SSL padrão e removi explicitamente todas as cifras ECDH da string. Fiz isso certo no bloco para importar urllib3 do pacote de solicitações (ou seja, antes de começar a fazer qualquer solicitação real) aqui está algo semelhante:
https://github.com/kennethreitz/requests/issues/1308

Eu percebo que pode haver riscos de segurança para esta ação, mas pelo menos isso nos ajuda e lança mais luz sobre isso.

Por que essas cifras específicas parecem ser um problema para o RHEL, não faço ideia.

Vou tentar quando tiver mais tempo para ver quais alterações específicas do RHEL podem ter introduzido isso e ler mais sobre o objetivo.

Alguém sabe mais sobre cifras em geral?

Tem o mesmo problema... ARG...

A frustração do @lukas-gitl não o ajudará a resolver o problema. Fornecer-nos informações sobre o seu ambiente (de preferência algumas - se não todas - as informações que pedimos ao Lekinho acima) ajudará.

@sigmavirus24 Desculpas. Eu pretendia fornecer mais informações e, em seguida, fui rastreado (já que não tinha tempo para isso). Estou usando o Ubuntu 14.04, python 2.7.6 e a versão de solicitações mais recente no pip. Isso acontece quando tento acessar como endpoint do API Gateway (eles podem ser bastante restritivos).

Eu tentei remover o virtualenv e regenerá-lo, mas infelizmente isso não resolveu.

Deixe-me saber o que mais você precisa. Mudei para nodejs por enquanto, mas ficaria feliz em ajudar com uma resolução.

@lukas-gitl É altamente provável que o servidor que você está contatando exija cifras que você não está oferecendo ou versões TLS que você não está oferecendo. Isso pode estar relacionado ao OpenSSL que você instalou. Você também deve tentar executar pip install requests[security] : você pode estar encontrando problemas com o SNI.

Sim, eu já tentei isso também. Deixe-me montar um script de teste rápido aqui para que estejamos na mesma página.

virtualenv -p /usr/bin/python2.7 env
fonte env/bin/ativar
solicitações de instalação do pip
solicitações de instalação do pip[segurança]
echo 'solicitações de importação' >> test.py
echo 'requests.get("https://API_ID.execute-api.us-west-2.amazonaws.com/ENV/ENPOINT")' >> test.py
python teste.py

E qual erro específico você está vendo?

.../env/local/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:318: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#snimissingwarning. SNIMissingWarning .../env/local/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning. InsecurePlatformWarning Traceback (most recent call last): File "test.py", line 2, in <module> requests.get("https://sbsz8eqowe.execute-api.us-west-2.amazonaws.com/dev/segment_to_s3_webhook") File ".../env/local/lib/python2.7/site-packages/requests/api.py", line 71, in get return request('get', url, params=params, **kwargs) File ".../env/local/lib/python2.7/site-packages/requests/api.py", line 57, in request return session.request(method=method, url=url, **kwargs) File ".../env/local/lib/python2.7/site-packages/requests/sessions.py", line 475, in request resp = self.send(prep, **send_kwargs) File ".../env/local/lib/python2.7/site-packages/requests/sessions.py", line 585, in send r = adapter.send(request, **kwargs) File ".../env/local/lib/python2.7/site-packages/requests/adapters.py", line 477, in send raise SSLError(e, request=request) requests.exceptions.SSLError: [Errno 1] _ssl.c:510: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure```

Então, basicamente, sou obrigado a atualizar para uma versão posterior do python?

Ok, ambos os avisos sugerem que suas solicitações não estão realmente usando as extensões de requests[security]. Ele sugere fortemente que qualquer Python que você esteja executando é _não_ aquele que você instalou em seu ambiente virtual: a extensão requests[security] deve remover esses avisos.

@lukas-gitl, por favor, veja minhas notas acima.
Você tem acesso ao servidor? compare a lista de cifras padrão para o servidor e o cliente.
É altamente provável que um deles não suporte o primeiro conjunto de cifras no outro, daí o erro.

Você pode verificar as cifras padrão com um script simples como o que usei aqui:

!/usr/bin/python

sistema de importação
importar SO
importar ssl
print(ssl.OPENSSL_VERSION)
sys.path.insert(1, os.path.abspath(os.path.join(os.getcwd(), 'lib'))))
sys.path.append('/usr/local/lib/python2.7/dist-packages')
solicitações de importação
de requests.packages.urllib3.contrib import pyopenssl
pyopenssl.inject_into_urllib3()
imprimir pyopenssl.DEFAULT_SSL_CIPHER_LIST

Ok, agora estou realmente confuso. A mensagem de erro está vindo do ambiente virtual. Então, como eles podem vir de lá enquanto eu executo a partir de um ambiente python diferente?

Então eu tentei pip install pyopenssl ndg-httpsclient pyasn1 em vez de pip install requests[security] e funcionou...

Aha, eu suspeito que seu pip é muito velho para lidar com os extras.

Ah, droga. Isso explica muito. Muito obrigado pela sua ajuda!

Eu encontrei o mesmo problema aqui, eu deveria enviar uma solicitação GET seguindo o código:
requests.get('https://mdskip.taobao.com/core/initItemDetail.htm?itemId=530444505608&showShopProm=false&queryMemberRight=true&isRegionLevel=false&tmallBuySupport=true&addressLevel=2&sellerPreview=false&isForbidBuyItem=false&cachedTimestamp=1466835924196&offlineShop=false&household=false&tryBeforeBuy=false&isSecKill=false&service3C=false&isApparel=true&isUseInventoryCenter=false&cartEnable=true&isAreaSell=false&callback=setMdskip&timestamp=1466841669969&isg=Al9faN3XWRpIf6UEoQ88UH/1b7np0rNm&ref=https%3A%2F%2Fs.taobao.com%2Fsearch%3Fq%3D%25E6%258B%2589%25E5%25A4%258F%25E8%25B4%259D%25E5%25B0%2594%26imgfile%3D%26commend%3Dall%26ssid%3Ds5-e%26search_type%3Ditem%26sourceId%3Dtb.index%26spm%3Da21bo.50862.201856-taobao-item.1%26ie%3Dutf8%26initiative_id%3Dtbindexz_20160625')

infelizmente, recebi as informações do erro:
Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Library/Python/2.7/site-packages/requests/api.py", line 71, in get return request('get', url, params=params, **kwargs) File "/Library/Python/2.7/site-packages/requests/api.py", line 57, in request return session.request(method=method, url=url, **kwargs) File "/Library/Python/2.7/site-packages/requests/sessions.py", line 475, in request resp = self.send(prep, **send_kwargs) File "/Library/Python/2.7/site-packages/requests/sessions.py", line 585, in send r = adapter.send(request, **kwargs) File "/Library/Python/2.7/site-packages/requests/adapters.py", line 477, in send raise SSLError(e, request=request) requests.exceptions.SSLError: ("bad handshake: Error([('SSL routines', 'SSL23_GET_SERVER_HELLO', 'sslv3 alert handshake failure')],)",)

Eu tentei brew install openssl, brew upgrade openssl, pip install --upgrade pip, pip install requests, pip install request [segurança], mas eles não funcionaram.

Porém quando digito openssl version eu tenho OpenSSL 0.9.8zh 14 Jan 2016 , não sei se está tudo bem.

Existe alguém que possa me ajudar com isso?

@jschwinger23 Você pode executar pip install pyopenssl ndg-httpsclient pyasn1 também, por favor?

@Lukasa Obrigado pela sua resposta. Reconfirmei que os instalei:

$ pip install pyopenssl ndg-httpsclient pyasn1 Requirement already satisfied (use --upgrade to upgrade): pyopenssl in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python Requirement already satisfied (use --upgrade to upgrade): ndg-httpsclient in /Library/Python/2.7/site-packages Requirement already satisfied (use --upgrade to upgrade): pyasn1 in /Library/Python/2.7/site-packages

mas o código ainda está inativo.

De qualquer forma, descobri que tudo vai bem em Python3 e estou feliz por poder codificar em python3.
Muito obrigado.

Seguiu as instruções acima, mas ainda está enfrentando esse problema

``` Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Library/Python/2.7/site-packages/requests/api.py", line 71, in get return request('get', url, params=params, **kwargs) File "/Library/Python/2.7/site-packages/requests/api.py", line 57, in request return session.request(method=method, url=url, **kwargs) File "/Library/Python/2.7/site-packages/requests/sessions.py", line 475, in request resp = self.send(prep, **send_kwargs) File "/Library/Python/2.7/site-packages/requests/sessions.py", line 585, in send r = adapter.send(request, **kwargs) File "/Library/Python/2.7/site-packages/requests/adapters.py", line 477, in send raise SSLError(e, request=request) requests.exceptions.SSLError: ("bad handshake: Error([('SSL routines', 'SSL23_GET_SERVER_HELLO', 'sslv3 alert handshake failure')],)",)

alguma ideia?
``````

@rohanpai É provável que você não tenha sobreposição de cifras ou que o servidor remoto esteja insatisfeito com as versões que você está oferecendo ou que você deve fornecer um certificado de cliente e não o é. É difícil dar conselhos mais específicos. Tente isso para investigar o problema.

No Ubuntu 14.04LTS eu precisava fazer isso:

sudo pip install ndg-httpsclient pyasn1 --upgrade

Observe que no Ubuntu não é possível atualizar/remover pyopenssl , pois é de propriedade do sistema operacional.

A solução de markstrefford também funcionou para mim no mac os sierra

A solução do @markstrefford também funcionou para mim.

Apenas um aviso para quem usa o OpenSSL 1.1:
Você também encontrará esse problema, mesmo ao forçar adaptadores TLS, quando o servidor remoto oferecer curvas elípticas como a primeira opção.
A causa é: http://bugs.python.org/issue29697

Ei pessoal! Estou tendo o mesmo problema com o seguinte servidor https://34.200.105.231/SID/Service.svc?wsdl . Eu tentei de tudo e pulo de e para os mesmos 2 erros:

  • requests.exceptions.SSLError: ("bad handshake: SysCallError(-1, 'Unexpected EOF')",)
  • requests.exceptions.SSLError: EOF occurred in violation of protocol (_ssl.c:661)

Alguma ideia? @Lukasa , vejo alguns problemas com o certificado, mas parece que não deve ser tão ruim: https://sslanalyzer.comodoca.com/?url=34.200.105.231

O certificado geralmente não causa esse problema: esse problema é causado pelo servidor que desliga em nós, então geralmente é o resultado de uma incompatibilidade de conjunto de cifras. Nesse caso, é exatamente isso que está acontecendo, como você pode ver aqui .

Este é um servidor que, francamente, nunca deve ser exposto à internet aberta. Não há métodos seguros de comunicação com este servidor: nenhum, zero. É por isso que o handshake falha: Requests aceita apenas conjuntos de codificação modernos e não há conjuntos de codificação modernos disponíveis para este servidor. A melhor opção é TLS_RSA_WITH_3DES_EDE_CBC_SHA , uma opção que removemos porque é vulnerável a ataques práticos na transferência de dados em grande escala.

Se este servidor for seu , atualize-o para uma implementação de TLS melhor ou altere as configurações. Caso contrário, meu primeiro conselho é reconsiderar sempre falar com este servidor. Se você precisar, então você pode usar o código aqui , mas eu recomendo fortemente que você pressione o operador do servidor para corrigir essa bagunça.

@Lukasa -- obrigado por trabalhar nisso com todos! Eu li e tentei a maior parte disso

Emitir

Ao executar o script no Windows, tudo funciona.
Ao executar o script no OSX, receba:

raise SSLError(e, request=request)
requests.exceptions.SSLError: ("bad handshake: SysCallError(-1, 'Unexpected EOF')",)

Não estou convencido de que não seja o servidor em si, mas apreciaria qualquer ajuda adicional para confirmar e/ou me tirar dessa toca de coelho. Seria uma grande vitória fazê-lo funcionar.

Especificações do OSX:

  • Python Python 2.7.10
  • OpenSSL OpenSSL 1.1.1-dev xx XXX xxxx (compilado via GitHub)
  • usando PIP para instalar

Tentativas feitas

  • pyopenssl desinstalado, solicitações, solicitações [segurança], criptografia
  • instalado contra env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install --force-reinstall --no-cache-dir {PACKAGE}

Não tenho 100% de certeza de que a instalação no openssl realmente fez alguma coisa, pois parecia agir da mesma forma que instalar sem (como, velocidade e mensagens pareciam todas iguais)

Conforme indicado em outro tópico (acima) conectando-se diretamente via openSSL appears para ser feliz?

openssl s_client -connect XXX.102.7.147:443
CONNECTED(00000003)
write:errno=0
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 198 bytes
Verification: OK
---
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:
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1493384325
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
---

Uh...OpenSSL é tecnicamente bom, mas esse OpenSSL não negociou nenhuma cifra (ou seja, parece ter negociado SSL_NULL_WITH_NULL_NULL . Você pode executar ssllabs em seu servidor e verificar quais conjuntos de cifras ele suporta?

@Lukasa Não está exposto na Internet, existe alguma sonda de linha de comando que eu possa disparar que possa fornecer informações adequadas para você?

Você pode tentar cipherscan .

@Lukasa o instalou ... está agindo de maneira instável (sem saída, assistindo) ... postarei de volta se eu encontrar algo que possa ser repassado. Obrigado pela orientação!

@Lukasa muito obrigado pela sua ajuda - na verdade nunca consegui que o cipherscan funcione - mas corrigiu nossos problemas. Não tinha nada a ver com nada disso e era uma incompatibilidade de IP boba em nossos ambientes... lições aprendidas! obrigada ...

Sem problemas, que bom que resolveu!

streamlink -l debug h ttpstream://https : //www.arconaitv.us/stream.php ?id=43 pior
[cli][info] streamlink está rodando como root! Tome cuidado!
[cli][debug] SO: Linux-4.14.0-041400-generic-x86_64-with-Ubuntu-14.04-trusty
[cli][depurar] Python: 2.7.6
[cli][depurar] Streamlink: 0.13.0+27.g2ff314c
[cli][debug] Requests(2.19.1), Socks(1.6.7), Websocket(0.48.0)
[cli][info] Encontrado plugin correspondente http para URL h ttpstream://https :// www.arconaitv.us/stream.php?id=43
[plugin.http][debug] URL= https://www.arconaitv.us/stream.php?id=43; params={}
[cli][info] Transmissões disponíveis: ao vivo (pior, melhor)
[cli][info] Transmissão de abertura: ao vivo (http)
[cli][debug] Pré-buffer 8192 bytes
[cli][info] Jogador inicial: /usr/bin/vlc
[cli][debug] Gravando stream na saída
[cli][info] Transmissão encerrada
[cli][info] Fechando stream atualmente aberto..

tentei mas sem sorte

atlast conseguiu funcionar tvplayer no pc local. instalei o tinyproxy no meu pc local, mas no vps httpproxy xxxx não está funcionando.
é tinyproxy ok ou eu preciso de algum outro servidor proxy para instalar no meu pc local.

tinyproxy.txt

Oi @maanich , isso não parece estar diretamente relacionado a esse problema ou ser um relatório de defeitos para solicitações, para o qual esse rastreador de problemas é reservado. Se você tiver dúvidas sobre a configuração do sistema, elas serão melhor abordadas em uma plataforma como o StackOverflow . Obrigado!

streamlink --https-proxy " http://8xxxx :8000/" --tvplayer-email [email protected] --tvplayer-password vcvdf3 --http-no-ssl-verify https://tvplayer.com/watch /itv best --player-no-close --stdout | /var/tmp/youtube/ffmpeg -y -i pipe:0 -vcodec copy -acodec copy -flags -global_header -hls_flags delete_segments -hls_time 10 -hls_list_size 6 /mnt/hls/arc.m3u8
ffmpeg versão 4.0-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2018 os desenvolvedores do FFmpeg
construído com gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
configuração: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 -- enable-libxml2 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libfreetype --enable-libmp3lame -- enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable -libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg
libavutil 56. 14.100 / 56. 14.100
libavcodec 58. 18.100 / 58. 18.100
formato libav 58. 12.100 / 58. 12.100
dispositivo libav 58. 3.100 / 58. 3.100
libavfilter 7. 16.100 / 7. 16.100
libswscale 5. 1.100 / 5. 1.100
libswresample 3. 1.100 / 3. 1.100
libpostproc 55. 1.100 / 55. 1.100
[console][info] streamlink está rodando como root! Tome cuidado!
[console][info] Encontrado plugin correspondente tvplayer para URL https://tvplayer.com/watch/itv
de erro: Impossível URL aberto: https://live.tvplayer.com/stream.m3u8?id=204&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cCo6XC9cL2xpdmUudHZwbGF5ZXIuY29tXC9zdHJlYW0ubTN1OD9pZD0yMDQiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE1MjkwNTc0OTR9LCJJcEFkZHJlc3MiOnsiQVdTOlNvdXJjZUlwIjoiNjIuMjEwLjE0Mi42NlwvMzIifX19XX0_&Signature=mHOteYcUu4QsbGD n0e ~ 7meDUGT8VN7bVOBAHa-0Mk6ROA9XHYx3aIAZMAo3dFjOGuWk-3MszJzRFHdv ~ -CCsmX3D8XQa2zvzfuIWfMAT ~ yDshroXBN25iW6ZJ0-7lGla00jMTUpm5sW-uDy18OkiBWgGvDVas2Lz-EW ~ 5-LTw2YWvEpqkvRB9OpcsHJj9RRQLuDVjwYKXwKvHTJmB1J ~sGE3aigaL7AZyBaIAUMcpk-xYMpDuPV9BsBN9AT397lFfRPFt155u~yeBHZ4JlUN2GINUBt0-CzGuYVq3dsO kYYEZJo9cQTVhArpo7ek03VbDP5egtCM8obN63AEkA__&Key-Pair-3d=APKAJGWDVCU5SXAPJELQ (Erro do cliente: Forbidden)
pipe:0 : Dados inválidos encontrados ao processar a entrada

conselho por favor n qual servidor proxy é bom para streamlink se houver

Esta página foi útil?
0 / 5 - 0 avaliações