情况是这样的...我有一个由证书颁发机构生成的个人 P12 证书。
我想将它与 CURL 一起使用来访问受保护的 URL。如果 CENTOS 上的 CURL 是使用 openssl 编译的,我应该只将其转换为 PEM 格式并将该文件提供给 CURL(已在 UBUNTU 上测试并正常运行)。
问题是我的 curl 是用 NSS 编译的。因此,在谷歌搜索了一段时间后,我发现我需要生成一个 NSS 数据库并将证书导入此数据库。之后我应该能够调用 curl 并将别名传递给它,然后访问我的 URL。
(如此处所述:https://stackoverflow.com/questions/19265100/curl-command-unable-to-load-client-cert-8018)
但我找不到为我的密钥提供别名的方法。因此 curl 找不到我导入的密钥。
调用 curl 得到以下结果:
* Initializing NSS with certpath: sql:/var/nss
* warning: ignoring value of ssl.verifyhost
* skipping SSL peer certificate verification
* NSS: client certificate not found (nickname not specified)
* SSL connection using TLS_RSA_WITH_RC4_128_MD5
* Server certificate:
经过一番研究,我最终得到了两个选择: - 尝试使用昵称导入(或重新生成)这个数据库(或 p12)(找不到如何操作) - 或者尝试用 openssl 编译的数据库替换我的 curl 和 php_curl(我稍后会需要它们)(找不到包含这两个包的正确存储库)
有任何想法吗??