c++ - c++ openssl 1.1.0l:使用单个 x509 存储支持不同的自签名证书
问题描述
首先我需要提到我是openssl的新手。
我在我正在测试的服务器应用程序中遇到了以下行为。在服务器中:
- 创建一个 x509 证书存储。
- 添加 2 个不同的自签名证书。
- 连接 2 个不同的客户端,每个客户端都有一个自签名证书。
结果:直到其证书最后添加到证书存储的客户端连接并被验证,第二次客户端验证失败。
是否有防止这种排序的配置?无论连接顺序如何,都将验证具有证书存储中证书的任何客户端?
添加一些简化的代码来澄清:
SSL_CTX *ctx = SSL_CTX_new(SSLv23_server_method());
SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER, nullptr);
X509 * cert1 = PEM_read_X509(certFile1, nullptr, nullptr, nullptr);
X509 * cert2 = PEM_read_X509(certFile2, nullptr, nullptr, nullptr);
X509_STORE * certStore = SSL_CTX_get_cert_store(ctx);
X509_STORE_add_cert(certStore, cert1);
X509_STORE_add_cert(certStore, cert2);
解决方案
推荐阅读
- mysql - MySQL拒绝用户与特定IP主机的连接
- java - Jar Runtime 中带有 Selenium webdriver 的 Java Gradle 错误
- php - 如何检查/查找字符串中是否有多个字母 | PHP
- python - 使用阈值对点是否在指定区域内进行分类 - python
- python - 编译 QML 源代码以使用 PySide2 进行保护
- c# - mongodb C# 使用查找和方面进行计数
- laravel - 如何将html表格行与1个参考和多个项目结合起来?
- pandas - 在 Dask 中,如何删除未在另一列的所有值中重复的数据?
- sql - 为什么我的查询可以使用 RIGHT() 和 LEFT() 函数,但不能使用 LIKE 谓词?
- vba - 搜索表格旁边的标题样式时 Range.Find 失败