微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Ubuntu服务器上将libcurl SSL后端从gnutls更改为openssl

在处理Google OpenID SSL响应时,我在Tornado网络服务器中收到gnutls特定错误.我从Tornado邮件列表中得到的一个建议是尝试OpenSSL后端而不是gnutls.但它在ubuntu服务器上似乎并不简单(11.10).

ubuntu服务器上,gnutls由libcurl3-gnutls包提供,openssl curl支持由libcurl4-openssl-dev包提供. (我不知道为什么后者被命名为4和dev,但我在apt-cache搜索中找不到任何其他openssl curl包).

认安装了libcurl3-gnutls,但没有安装libcurl4-openssl-dev.所以我安装了后来重新启动的Torando实例.但这似乎不起作用.我仍然有同样的gnutls错误.

我发现关于curl邮件列表的旧讨论关于支持不同的SSL后端到libcurl的问题,但是没有找到今天它是如何完成的.到目前为止,我的猜测是openssl内置于libcurl中,而gnutls是通过单独的包提供的(这将解释为什么没有libcurl3-openssl).但是我如何使libcurl获取openssl后端而不是gnutls呢? libcurl / pycurl API中有一些选项可以做到这一点吗?

我尝试卸载libcurl3-gnutls,但apt-get提示它也将删除python-pycurl.所以那不行.

-dev包是开发包,它们包含库头,用于开发和编译使用该库的程序.应用程序二进制包(已经编译)通常不需要它们.安装libcurl4-openssl-dev不足以使针对libcurl3-gnutls构建的二进制包使用OpenSSL.它只对您重新编译它的应用程序有用.

python-pycurl包在libcurl3-gnutls和libgnutls26上有一个direct dependency.

除非在替代存储库中针对OpenSSL而不是GnuTLS编译了基于cURL的Ubuntu包,否则您可能不得不自己构建它们.

原则上可以通过下载源代码(apt-get source python-pycurl和相关的包)来完成.您必须进入Debian打包配置文件并更改选项(通常传递给configure脚本,该脚本在编译之前也配置Makefile)以便更改编译选项,而不是使用OpenSSL.您可能还需要更改包描述以限制对其他包的中断,可能通过使用provide:指令来说明您的包可以替换Ubuntu打包的包.

原文地址:https://www.jb51.cc/ubuntu/348635.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐