我有一个由证书颁发机构生成的个人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编译的一个(无法找到包含两个软件包的正确存储库)
任何想法??
答案 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