Ubuntu 14.0.4 OpenSSL 1.0.1f和TLSv1_2016的握手错误

时间:2018-05-04 17:04:41

标签: amazon-web-services ssl openssl ubuntu-14.04

请耐心等待。我没有SSL加密专家。我只想使用他们的API建立与服务器的连接。我无能为力。当我按照文档中的说明使用此API时,会发生以下错误:

[Errno 1] _ssl.c:510: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

这个API似乎托管在某个地方的AWS服务器上,并且它的支持人员已经向我推荐了这个AWS document,其中添加了他们的服务器使用TLSv1_2016的信息。我不确定这是否正确,但这就是我所说的。

Ubuntu 14.0.4(openssl v1.0.1f)附带的OpenSSL不支持此版本的TLS。支持1.2版。我定期升级我的系统,似乎没有任何批准的Ubuntu版本支持此协议。我被建议升级,但不清楚是什么。

这对我来说都是希腊语。有人可以告诉我我可以用什么升级系统来解决这个问题?

安装Ubuntu-18.04(openssl 1.1.0g附带)后,

UPDATE 问题仍然存在。

1 个答案:

答案 0 :(得分:1)

主要通过评论回答。

问题显然是服务器,如今许多SSL / TLS服务器,尤其是处理Cloudfront等多个域的服务器,需要SSL / TLS中的SNI(服务器名称指示)扩展。这是(并且很容易)用openssl s_client检查的(与大多数程序不同)有一个控制是否发送SNI的选项。

您之前没有说过此代码是Python。 It is Python that links to and invokes OpenSSL.(操作系统不参与SSL / TLS,仅涉及较低级别的TCP / IP协议。)根据http://docs.python-requests.org/en/master/community/faq/(在底部)

  

Python3和Python 2.7.9+在其SSL模块中包含对SNI的本机支持。有关在Python上使用SNI和请求的信息< 2.7.9参考此Stack Overflow答案。

链接到using requests with TLS doesn't give SNI support,其中有几个答案似乎主要包括更新各种内容(即使你提供了你没有提供的Python和请求的详细信息,我也无法测试)。