【发布时间】:2019-09-28 05:50:25
【问题描述】:
我目前正在 Linux Ubuntu 16.04 上编写客户端程序。我想使用 OpenSSL 来保护通信。但是当我使用 gcc 编译源代码时出现此错误:
$gcc -o client1 client.c -lssl -lcrypto
“对“TLSv1_3_client 方法”的未定义引用
我的OpenSSL版本是1.1.1d:
我该如何解决这个问题?
【问题讨论】:
我目前正在 Linux Ubuntu 16.04 上编写客户端程序。我想使用 OpenSSL 来保护通信。但是当我使用 gcc 编译源代码时出现此错误:
$gcc -o client1 client.c -lssl -lcrypto
“对“TLSv1_3_client 方法”的未定义引用
我的OpenSSL版本是1.1.1d:
我该如何解决这个问题?
【问题讨论】:
没有TLSv1_3_client_method。甚至更老的TLSv1_2_client_method 和类似的都是documented as deprecated。相反,您应该使用TLS_client_method,它也将支持 TLS 1.3。如果您想将支持限制为仅支持 TLS 1.3,您需要使用 SSL_CTX_set_options 以及与 SSL_OP_NO_TLSv1_2、SSL_OP_NO_TLSv1_1 类似的...
【讨论】:
SSL_CTX_set_max_proto_version() 和类似方法将支持限制为仅支持 TLS1.3 更方便。跨度>