web-dev-qa-db-fra.com

openssl incapable d'obtenir le certificat d'émetteur local debian

Je ne peux pas vérifier le certificat par openssl

openssl verify cert.pem 

Obtient quelque chose comme ceci:

cert.pem:/C = PL/O = DATA
erreur 20 à la recherche de profondeur 0: impossible d'obtenir le certificat d'émetteur local

Le même certificat de la machine sur Centos - vérifié correctement.

Debian: squeeze/sid

Est-ce un problème avec CA ROOT? Mettre à jour l'aide openssl?

9
0chi0

Contrairement aux navigateurs, qui font confiance à presque tout de n'importe qui, OpenSSL ne fait confiance à rien par défaut.

C'est à vous de déterminer ce à quoi vous devez faire confiance. Vous devrez spécifier quelque chose lors de l'utilisation d'OpenSSL. Il peut s'agir d'un certificat ou d'une liste de certificats de confiance.

Le répertoire /etc/ssl/certs contient de nombreux certificats. L'utilisation d'un tel répertoire devrait permettre de vérifier presque n'importe quoi:

openssl verify -CApath /etc/ssl/certs cert.pem

Il est recommandé de réduire le nombre de certificats approuvés à un, deux ou le minimum possible.

8
user2350426

Vous devez spécifier le certificat CA afin de vérifier le certificat émis car il n'est évidemment pas inclus dans le pem (bien que cela soit possible):

openssl verify -CAfile your_ca_cert_file cert.pem

Si vous n'obtenez pas l'erreur sur centOS, il y a le certificat CA autour et openssl peut l'utiliser pour vérifier avec succès cert.pem

7
VF_

Vous devez faire confiance à votre autorité de certification sur le serveur. Par exemple, si votre certificat provient de goadday, exécutez les commandes suivantes.

cd /tmp
Sudo wget -O Gd_intermediate.crt https://certs.godaddy.com/repository/Gd_intermediate.crt
Sudo cp /tmp/Gd_intermediate.crt /usr/local/share/ca-certificates/Gd_intermediate.crt
Sudo update-ca-certificates

Après avoir exécuté ces commandes, votre certificat doit être vérifié.

openssl verify cert.pem 
1
user896993