2015-11-18 8 views
1

Я пытаюсь использовать cURL, используя хранилища сертификатов в базе данных NSS, однако при запуске команды cURL он говорит, что сертификат не может быть найден. Вот список в моей сертификаты БД:cURL с NSS - Не удается найти сертификат

[[email protected] 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 устанавливается в каталог DB:

[[email protected] scripts]# echo $SSL_DIR 
/nss 

Однако, когда я бегу локонов команду:

[[email protected] 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 

Любая причина, почему она не может найти сертификат?

ответ

0

Я понял вопрос. Это была пара вопросов.

При создании базы данных, я должен был добавить флаг --empty-пароль:

certutil -N -d /nss --empty-password 

Кроме того, при добавлении сертификата, мне нужно добавить в SQL: перед полем NSS DB:

pk12util -i cert.p12 -d sql:/nss