服务器证书验证失败.CAfile: ca.pem CRLfile:无
server certificate verification failed. CAfile: ca.pem CRLfile: none
我想在c++中使用libcurl和openssl进行https测试。我有以下代码:
curl_easy_setopt(mEasyHandle, CURLOPT_SSL_VERIFYPEER, 1L);
curl_easy_setopt(mEasyHandle, CURLOPT_SSL_VERIFYHOST, 2L);
result = curl_easy_setopt(mEasyHandle, CURLOPT_CAINFO , "ca.pem");
我有一个监听192.168.0.101:4443
的Windows服务器。当从Visual Studio运行程序时,证书验证工作,但在Linux上我得到错误 server certificate verification failed. CAfile: ca.pem CRLfile: none
。
在ca.pem
中,我已经将生成的内容放在服务器的证书中(在windows上测试工作,在Linux上不)。
* Trying 192.168.0.101...
* Connected to 192.168.0.101 (192.168.0.101) port 4443 (#0)
* found 1 certificates in ca.pem
* server certificate verification failed. CAfile: ca.pem CRLfile: none
* Closing connection 0
更新:
我有一个文件夹/etc/ssl/certs
,其中包含很多ca证书文件。我将ca.pem
复制到/etc/ssl/certs
并运行 update-ca-certificates
,产生输出:
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d....done.
我已经解决了这个问题。实际上是一个证书问题。代码可以工作,但是机器上的时间戳是在生成证书之前。
相关文章:
- "unknown ca"自生成的 CA、证书和客户端/服务器
- 将TPM公钥序列化为DER或PEM
- SSLeay 读取 PEM 文件
- 如何以编程方式从PKCS7中提取CA、多个CA和公共证书/密钥
- 如何使用openssl续订过期的证书密钥或创建自签名证书密钥any.pem Poco c ++
- C++/OpenSSL 将 PEM 加载到 STACK_OF(X509) 中
- 将 PFX 证书转换为 PEM 格式
- 如何在C++中将 JWK 公钥转换为 PEM 格式
- 使用密码将 RSA 私钥写入 PEM 文件
- 二进制中包含的libcurl ca捆绑包
- 在编译时为 libcurl 定义 CA 信息
- 如何将cacert.pem与vs2015 curl项目一起包含,因此无需指定Cainfo curl选项
- 在C++中将 PEM 转换为 DER
- 使用CA证书我自己的代码
- 如何使用OpenSSL API从其PEM格式字符串中读取RSA公钥
- gsoap 读取 CA 文件,Windows
- 如何从连接的 SSL 会话获取 base64 编码证书 (PEM)
- 获得谷歌搜索 ssl pem 证书
- Poco + OpenSSL + CA PEM : 1/2 相同站点的 2 个站点出现"Unacceptable certificate"错误
- 服务器证书验证失败.CAfile: ca.pem CRLfile:无