将P12证书导入NSS数据库(带别名)

时间:2015-08-21 17:34:26

标签: ssl curl ssl-certificate nss

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

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

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

(如下所述:curl command - Unable to load client cert -8018

但是我无法找到一种方法来为我的密钥提供ALIAS。所以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编译的一个(无法找到包含两个软件包的正确存储库)

任何想法??

1 个答案:

答案 0 :(得分:2)

使用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