Boost SSL-Server失败,产生SSLv3-error
Boost SSL-Server fails with SSLv3-error
我正在用c++编程一个"终端",客户端可以使用SSL来加密连接。我使用Boost::asio
来处理套接字和SSL。
我像这样开始SSL-Context:
boost::asio::ssl::context context_(io_service_, boost::asio::ssl::context::tlsv1);
您可以看到,我将SSL-Version设置为TLSv1
。
这是上下文选项:
context_.set_options(boost::asio::ssl::context::default_workarounds
| boost::asio::ssl::context::no_sslv2
| boost::asio::ssl::context::single_dh_use);
context_.use_certificate_chain_file("CERTS/server.crt");
context_.use_private_key_file("CERTS/server.key", boost::asio::ssl::context::pem);
context_.use_tmp_dh_file("CERTS/dh512.pem");
当我现在连接到我的服务器与openssl s_client -connect localhost:8000 -tls1
握手失败的服务器端错误:
"sslv3 alert handshake failure"
同时,我注意到客户端有一个奇怪的行:
"140030998197920:error:14082174:SSL例程:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small:s3_clnt.c:3329:"
这是什么意思?我在创建证书时是否犯了错误?我完全按照这个问题的答案所描述的那样做了
context_.use_tmp_dh_file("CERTS/dh512.pem"); ... dh key too small:s3_clnt.c:3329:"
您使用的DH密钥只有512位。这样的密钥被认为太弱,并且在较新版本的TLS库中握手将失败。您最好使用2048位DH密钥,或者更好地使用ECDHE密码。
有关该问题的详细信息,请参见"Logjam Attack"。
相关文章:
- "error: no matching function for call to"构造函数错误
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 使用 LuaBridge 将 LuaJIT 绑定到C++会导致"PANIC: unprotected error"
- 如何在不产生任何垃圾的情况下获得C中的像素
- OpenMP卸载说'fatal error: could not find accel/nvptx-none/mkoffload'
- 使用取消引用的指针的多态性会产生意外的结果.为什么?
- 为什么包含windows.h会产生语法错误,从而阻止类的实例化?(C2146,C2065)
- C++错误:"error: int aaa::bbb is protected within this context"
- 在Linux和C++中的Windows上,散列字符串值会产生不同的输出
- 尝试链接我的着色器时,我收到错误代码"error c5145 must write to gl_position"
- C++,在int数组中输入字符串或字符会输出0,而不是ascii或error
- 使用不同的链接器会产生不同的机器代码吗
- 使用JsonCpp将数据返回到带有pybind11的python会在python调用中产生Symbol not foun
- 写入文件会产生一个空文件或根本没有文件
- 为什么 gcc 会产生这种奇怪的组件与叮当声?
- 使用 cmake 的 LLVM 构建在 tsan_libdispatch_mac.cc 期间失败; "Error: conflicting types for ..."
- 隐式转换产生"error: taking address of temporary"(GCC 与 clang)
- 内核调用会产生错误"error: a host function call cannot be configured"。调用有什么问题?
- 使用多个框架会产生clang:error:linker命令失败,退出代码为1
- Boost SSL-Server失败,产生SSLv3-error