gpt4 book ai didi

linux - 使用 ECDSA 证书问题 boost asio

转载 作者:太空狗 更新时间:2023-10-29 11:09:32 32 4
gpt4 key购买 nike

我正在使用 boost::asio 实现 SSL 服务器。

上下文初始化如下代码所示

    boost::asio::ssl::context_base::method SSL_version =
static_cast<boost::asio::ssl::context_base::method>(param_values[ID_PROTOCOL_VERSION].int32_value);

// load certificate files
boost::shared_ptr<boost::asio::ssl::context> context_ = boost::shared_ptr<boost::asio::ssl::context>(
new boost::asio::ssl::context(SSL_version));
p_ctx = boost::static_pointer_cast<void>(context_);

context_->set_options(boost::asio::ssl::context::default_workarounds);

context_->use_certificate_chain_file(cert_chain_file);
context_->use_certificate_file(cert_file, boost::asio::ssl::context::pem);
context_->use_private_key_file(cert_file, boost::asio::ssl::context::pem);

context_->set_verify_mode(boost::asio::ssl::verify_peer | boost::asio::ssl::verify_fail_if_no_peer_cert);
context_->set_verify_callback(boost::bind(&verify_certificate_cb, _1, _2));

if (param_values[ID_CIPHER_LIST].int32_value != 0)
{
std::string cipher_list = "";
generate_cipher_list(param_values[ID_CIPHER_LIST].int32_value, cipher_list);
MA5G_logger::log(PRIORITY_INFO, "Supported cipher list %s", cipher_list.c_str());
SSL_CTX_set_cipher_list((reinterpret_cast<boost::asio::ssl::context*>(p_ctx.get()))->native_handle(),
cipher_list.c_str());
}

cipher_list中,我支持下面的列表

AES128-SHA:AES256-SHA:AES128-SHA256:AES256-SHA256:AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA

使用 ECDSA 证书,如果我使用上面给出的 cipher_list,则客户端无法连接到服务器并给出错误 “No shared cipher”。但是,如果我不提供 cipher_list,则客户端可以成功连接到服务器。相同的密码列表适用于 RSA 证书。

如果我将 openssl s_server-cipher 选项一起使用以提供支持的 cipher_list,则相同的 ECDSA 证书工作正常>

谁能帮忙解决这个问题?

最佳答案

不抱歉,伙计,经过大量研究我找到了答案。

问题出在密码列表上,而不是代码/证书上。

同一证书使用 ECDHE-ECDSA-AES256-SHA 密码和 openssl 客户端服务器,同时使用 ECDH-ECDSA-AES256-SHA 密码用于 boost asio SSL 客户端-服务器。

无论如何感谢@rkyser 的帮助!

关于linux - 使用 ECDSA 证书问题 boost asio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18929049/

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