如何升级 Ubuntu 14.0.4 以使用不使用 sslv3 的 openssl 版本?

如何升级 Ubuntu 14.0.4 以使用不使用 sslv3 的 openssl 版本?

我正在尝试使用基于 python 的 api 从 Ubuntu 14.0.4 系统连接到 API 站点。此 API 与 API 的服务器建立 https 连接(仅使用标准 pythonrequests调用,带有导致调用所调用 API 方法的参数)。API 的 python 代码不关心 TLS、SSH 等,但依赖于操作系统提供的内容。

当我按照 API 文档进行连接时,出现错误提示

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

显然,openssl 正在尝试使用 sslv3,而我尝试使用的服务器不支持该功能。

在某个地方,我看到了以下内容作为诊断建议:

$ openssl s_client  -connect  bryce.cp.bsd.net:443 -tls1

这会产生相同的握手失败,但会显示以下进一步的信息:

Secure Renegotiation IS NOT supported 

这说明了问题的本质。它尝试的第一个方法握手失败,然后无法进行后续尝试。

我认为我需要一个更新版本的 OpenSSL 或者以某种方式配置现有的版本,即非常旧的 OpenSSL v1.0.1f。

Ubuntu 14.0.4 似乎不提供此软件包的升级。所以我必须自己构建并安装它。

我正在寻求有关如何最好地实现此目标的建议。

更新: 我发现运行 openssl 附带的 make 文件非常简单。我还发现它将 openssl 安装到与官方软件包不同的目录中。因此,简单地安装它不会影响我已有的内容。但我该如何告诉 Ubuntu 使用这个新版本,而不是它附带的版本?

相关内容