gpt4 book ai didi

c++ - 使用 openssl 以编程方式查找已协商的 TLS 版本

转载 作者:行者123 更新时间:2023-11-30 19:03:13 30 4
gpt4 key购买 nike

我在非 Web 应用程序中使用 openssl 将套接字转换为 TLS(STARTTLS 协议(protocol))。一切正常,但我还想知道在允许的 TLS 版本中实际协商了哪个版本。

有什么方法可以使用 openssl API 查找此信息吗?

注意:对于 openssl 1.1 及更高版本,信息可能由函数 SSL_SESSION_get_protocol_version() 返回但我还需要找到以前的 openssl 库版本的信息(野外代码,仅出于日志记录目的执行 openssl 的主要更新不是一个选项)。

最佳答案

您可以使用SSL_get_version() :

SSL_get_version() returns the name of the protocol used for the connection ssl. It should only be called after the initial handshake has been completed. Prior to that the results returned from this function may be unreliable.

RETURN VALUES

The following strings can be returned:

SSLv2
The connection uses the SSLv2 protocol.

SSLv3
The connection uses the SSLv3 protocol.

TLSv1
The connection uses the TLSv1.0 protocol.

TLSv1.1
The connection uses the TLSv1.1 protocol.

TLSv1.2
The connection uses the TLSv1.2 protocol.

unknown
This indicates an unknown protocol version.

关于c++ - 使用 openssl 以编程方式查找已协商的 TLS 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54368878/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com