curl命令有效,但C程序失败NSS:找不到客户端证书(昵称未指定)

问题描述 投票:0回答:1

有一些类似的帖子,但我试图了解比这些提供更多的东西。我的curl命令行工作正常,能够与服务器通信并获取我想要的数据。该命令看起来像

curl -v --tlsv1.2 --cert ./service_cert.pem  --key ./service_private.key  "https://myserver"

但是当我尝试运行我的C程序并检查http客户端对象时,我看到了这一点

errorBuffer = "NSS: client certificate not found (nickname not specified)

进一步阅读我意识到我有使用NSS构建的libcurl,它不支持从平面文件(.pem)读取证书


然后命令行curl实用程序如何读取pem文件?

ssl openssl libcurl nss
1个回答
0
投票

您需要使用certutil将客户端证书导入NSS数据库,并让您的代码使用此数据库。

参考:

https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/tools/NSS_Tools_certutil

© www.soinside.com 2019 - 2024. All rights reserved.