2015-11-18 2 views
1

J'essaye de cURL using un magasin de certificat dans une base de données de NSS, cependant tout en exécutant la commande de cURL, il indique que le certificat ne peut pas être trouvé. Voici la liste des certs dans mon DB:cURL avec NSS - Ne peut pas trouver le certificat

[[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             ,, 

Vous pouvez voir le cert « Test utilisateur » est là-dedans. Je confirme également que SSL_DIR est réglé sur le répertoire DB:

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

Cependant, quand je lance la commande cURL:

[[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 

Toute raison pour laquelle il ne peut pas trouver le cert?

Répondre

0

J'ai trouvé le problème. C'était un couple de problèmes.

Lors de la création de la base de données, je aurais dû ajouter le drapeau --empty mot de passe:

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

En outre, lors de l'ajout du cert, je besoin d'ajouter sql: avant le champ NSS DB:

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