4

我有一个由证书颁发机构生成的个人 P12 证书。

我想将它与 CURL 一起使用来访问受保护的 URL。如果 CENTOS 上的 CURL 是用 openssl 编译的,我应该只将其转换为 PEM 格式并将该文件提供给 CURL(在 UBUNTU 上测试并正常工作)。

问题是我的 curl 是用 NSS 编译的。所以,谷歌搜索了一段时间后,我发现我需要生成一个 NSS 数据库并将证书导入到这个数据库中。之后,我应该能够调用 curl 并将别名传递给它,并访问我的 URL。

(如此处所述:curl 命令 - 无法加载客户端证书 -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)(找不到如何操作)-或尝试替换我的 curl 和 php_curl(我会稍后需要)用openssl编译的一个(找不到两个包的合适存储库)

有任何想法吗??

4

1 回答 1

3

使用 pk12util 命令将现有 p12 证书添加到 NSS DB。将 MYCERT.12 替换为您的证书名称并设置密码。系统将提示您输入昵称/别名

[root@localhost/]# pk12util -d /app/nssdb/ -i MYCERT.p12 -W PASSWORD
Enter Password or Pin for "NSS FIPS 140-2 Certificate DB':
pk12util: no nickname for cert in PKS12 file
pk12util: using nickname: MYCERT
pk12util: PKCS12 IMPORT Successful
于 2016-07-27T18:46:46.457 回答