有许多类似的职位,但我想了解的远不止这些职位。
我的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文件?
最佳答案
您需要使用certutil
将客户端证书导入到NSS数据库中,并使代码使用此数据库。
参考:
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/tools/NSS_Tools_certutil