web-dev-qa-db-fra.com

NSS: certificat client non trouvé (pseudo non spécifié)?

J'essaie d'accéder à un service tiers via PHP curl sur un système Centos 6 livré avec curl et libcurl compilé avec NSS au lieu d'OpenSSL.

Cela me cause des problèmes, chaque fois que j'essaie d'accéder au service, l'erreur NSS: client certificate not found (nickname not specified) s'affiche.

Je crois comprendre que je dois installer les certificats dans la base de données NSS.

Je cherche des instructions pas à pas sur la procédure (gardez à l’esprit, j’ai besoin que cela fonctionne avec les fonctions PHP curl appelées depuis le serveur Nginx)

Merci

17
Jason

Essayez de préfixer le nom de fichier du certificat avec "./" ou d'utiliser le chemin complet. De la page de manuel curl:

Si curl est construit sur la bibliothèque SSL NSS, cette option [--cert] peut dire à curl le surnom du certificat à utiliser dans le fichier Base de données NSS définie par la variable d’environnement SSL_DIR (ou par Default/etc/pki/nssdb). Si le module NSS PEM PKCS # 11 (lib - Nsspem.so) est disponible, des fichiers PEM peuvent être chargés. Si vous souhaitez utiliser un fichier du répertoire en cours, veuillez le précéder avec le préfixe "./", afin d'éviter toute confusion avec un pseudo.

(c'est moi qui souligne)

Vous pouvez également consulter quelques instructions pour importer dans la base de données de certificats NSS, bien que je ne les aie pas utilisées: http://rcritten.fedorapeople.org/nss_compat_ossl.html }

20
pimlottc

J'ai reçu le même message d'erreur avec curl lorsque j'ai entré un mot de passe incorrect lors d'une tentative d'accès à un serveur FTPS utilisant une authentification par mot de passe simple. Cela n'avait rien à voir avec des certificats.

0
asmaier