gpt4 book ai didi

ssl - 不可能只接受带有 boost::asio 的 TLS 1.2?

转载 作者:太空宇宙 更新时间:2023-11-03 13:03:25 26 4
gpt4 key购买 nike

所以我正在尝试修改第三方(libtorrent)以仅接受 TLS 1.2 协议(protocol)。

部分 SSL 上下文设置:

boost::shared_ptr<context> ctx = boost::make_shared<context>(boost::ref(m_ses.get_io_service()), context::tlsv12)

ctx->set_options(context::default_workarounds
| boost::asio::ssl::context::no_sslv2
| boost::asio::ssl::context::no_sslv3
| boost::asio::ssl::context::no_tlsv1
| boost::asio::ssl::context::no_tlsv1_1
| boost::asio::ssl::context::single_dh_use);

然而,当我测试我与 OpenSSL s_client 的连接时,它似乎仍然接受 tls 1.0 和 tls 1.1 连接。

我做错了什么吗?

编辑:在选项中添加了“| boost::asio::ssl::context::no_tlsv1_1”。我意识到我指的是旧的 bo​​ost 引用指南。然而,它并没有改变任何东西。

编辑:我刚刚意识到我没有提到此连接是双向/相互身份验证连接。不确定这是否会改变任何事情。

最佳答案

asio::ssl::context 中没有用于 TLS1.2 的常量。但是您可以使用 native openssl API 来执行此操作:

#include <openssl/ssl.h>
long ssl_disallowed = SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1 | SSL_OP_NO_TLSv1_2;
ssl_disallowed &= ~SSL_OP_NO_TLSv1_2;
SSL_CTX_set_options(ctx.native_handle(), ssl_disallowed);

关于ssl - 不可能只接受带有 boost::asio 的 TLS 1.2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31005745/

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