带有 NSS 的 cURL - 找不到证书
cURL with NSS - Can't find certificate
我正在尝试使用存储在 NSS 数据库中的证书来 cURL,但是当 运行使用 cURL 命令时,它说找不到证书。这是我的数据库中的证书列表:
[root@localhost scripts]# certutil -L -d /nss
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
Test User u,u,u
Test Root CA ,,
Test SUBCA2 ,,
您可以看到 "Test User" 证书在那里。我还确认 SSL_DIR 设置为数据库目录:
[root@localhost scripts]# echo $SSL_DIR
/nss
但是,当我 运行 cURL 命令时:
[root@localhost etc]# curl -vk --cert "Test User" https://localhost:7446
* About to connect() to localhost port 7446 (#0)
* Trying ::1... connected
* Connected to localhost (::1) port 7446 (#0)
* Initializing NSS with certpath: sql:/nss
* warning: ignoring value of ssl.verifyhost
* skipping SSL peer certificate verification
* NSS: client certificate not found: Test User
* NSS error -5938
* Closing connection #0
curl: (35) NSS: client certificate not found: Test User
找不到证书的任何原因?
我想通了这个问题。这是几个问题。
创建数据库时,我应该添加 --empty-password 标志:
certutil -N -d /nss --empty-password
此外,在添加证书时,我需要在 NSS DB 字段前添加 sql::
pk12util -i cert.p12 -d sql:/nss
我正在尝试使用存储在 NSS 数据库中的证书来 cURL,但是当 运行使用 cURL 命令时,它说找不到证书。这是我的数据库中的证书列表:
[root@localhost scripts]# certutil -L -d /nss
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
Test User u,u,u
Test Root CA ,,
Test SUBCA2 ,,
您可以看到 "Test User" 证书在那里。我还确认 SSL_DIR 设置为数据库目录:
[root@localhost scripts]# echo $SSL_DIR
/nss
但是,当我 运行 cURL 命令时:
[root@localhost etc]# curl -vk --cert "Test User" https://localhost:7446
* About to connect() to localhost port 7446 (#0)
* Trying ::1... connected
* Connected to localhost (::1) port 7446 (#0)
* Initializing NSS with certpath: sql:/nss
* warning: ignoring value of ssl.verifyhost
* skipping SSL peer certificate verification
* NSS: client certificate not found: Test User
* NSS error -5938
* Closing connection #0
curl: (35) NSS: client certificate not found: Test User
找不到证书的任何原因?
我想通了这个问题。这是几个问题。
创建数据库时,我应该添加 --empty-password 标志:
certutil -N -d /nss --empty-password
此外,在添加证书时,我需要在 NSS DB 字段前添加 sql::
pk12util -i cert.p12 -d sql:/nss