amazon-web-services - Ubuntu 14.0.4 OpenSSL 1.0.1f 和 TLSv1_2016 的握手错误

标签 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 版。我定期升级我的系统,似乎没有任何支持此协议(protocol)的已批准的 Ubuntu 版本。我被建议升级,但不清楚升级到什么。

这对我来说完全是希腊语。有人可以告诉我我可以对我的系统进行哪些升级来解决这个问题吗?

更新 安装 openssl 1.1.0g 附带的 Ubuntu-18.04 后问题仍然存在。

最佳答案

主要从评论中回答。

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

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

Python3 and Python 2.7.9+ include native support for SNI in their SSL modules. For information on using SNI with Requests on Python < 2.7.9 refer to this Stack Overflow answer.

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

关于amazon-web-services - Ubuntu 14.0.4 OpenSSL 1.0.1f 和 TLSv1_2016 的握手错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50179929/

相关文章:

amazon-web-services - 作为一个实验,我想与 AWS 一起工作。我期望支付多少?

amazon-web-services - 如何让 AWS ECS 自动将我的容器的端口映射到主机 (EC2)

php - 如何检查主机名是否与 PHP 中 SSL 证书中的 Common Name 匹配?

c++ - 通过 OpenSSL C++ 从证书获取颁发者证书

Ruby openssl 文档

amazon-web-services - Docker 容器无法在使用 AWS ECR 的 AWS ECS 中工作

java - Auto Scaling 无法在 Elastic Beanstalk 中与 Tomcat 一起正常工作

ssl - Paypal 的新 ssl 要求

ssl - 为什么 SSL 架构有两个截然不同的功能?

python - 属性错误 : 'module' object has no attribute 'DTLSv1_METHOD'