如何使OpenSSL C服务器仅支持TLS 1.3?

9

我们正在编写一个 Linux C 程序,使用 OpenSSL API 作为 TLS 服务器。目前的代码如下:

  context = SSL_CTX_new(TLS_method());

OpenSSL v1.1.1手册页面指出将支持SSLv3、TLSv1、TLSv1.1、TLSv1.2和TLSv1.3。现在我们有一个新的要求,只支持TLS 1.3。设置SSL_CTX_set_min_proto_version(TLS1_3_VERSION)是否足够?或者服务器有其他实际拒绝低于TLS 1.3版本客户端连接的方法吗?

2个回答

7

只需调用 SSL_CTX_set_min_proto_version(context, TLS1_3_VERSION); 即可。这将限制从此上下文创建的会话不使用低于TLS 1.3版本的协议。

此外,您可以使用 TLS_server_method 创建上下文对象,以创建默认为服务器模式的会话。


2

另一个类似于已发布的解决方案的解决方案是使用SSL_CTX_set_options,它允许您传递所有要忽略的协议,例如:

SSL_OP_NO_SSLv3, SSL_OP_NO_TLSv1, SSL_OP_NO_TLSv1_1, SSL_OP_NO_TLSv1_2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接