在OpenSSL中全局禁用协议

时间:2014-10-26 20:30:33

标签: ssl openssl gsoap

是否可以为间接使用OpenSSL的应用程序全局禁用TLS 1.1?

我想为使用gSOAP进行soap HTTPS调用的C应用程序禁用TLS 1.1。 禁用TLS 1.1修复了我在过去几天遇到的间歇性SSL连接问题(SSL例程:SSL3_GET_RECORD:错误的版本号)。

目前使用自定义版本的gSOAP禁用了TLS 1.1,但理想情况下我想使用配置文件或应用程序中的某些代码禁用协议。

Ubuntu 12.04.5 LTS

OpenSSL 1.0.1-4ubuntu5.20

gSOAP 2.8.4-2

2 个答案:

答案 0 :(得分:1)

虽然有一个全局OpenSSL配置文件,但它不能用于限制默认的SSL版本。不幸的是,gSOAP库似乎没有API或配置来限制SSL版本。因此,您必须使用自定义构建版本,并希望有一天他们提供API来设置SSL版本。

答案 1 :(得分:0)

至少你需要gSOAP 2.8.28。将SOAP_TLSv1_2选项与soap_ssl_client_context()soap_ssl_server_context()一起使用,仅将TLS协议限制为TLSv1.2。 TLS1.0 / TLS1.1 / SSLv3已禁用。您无法组合SSL / TLS协议选项,因此仅使用此选项启用TLSv1.2。这适用于OpenSSL 1.0.1或更高版本以及最近的GNUTLS版本。也许在即将推出的gSOAP版本中会有新选项来支持协议子集,这很不错。