Sous Ubuntu 12.04 LTS, j'obtiens une erreur d'erreur de validation de certificat si le CApath n'est pas explicitement défini
J'ai essayé plusieurs solutions. Mais rien ne fonctionne. Il y a tellement de problème à installer de nouveaux paquets sur mon système (essayé au moins sur deux systèmes)
Commande réussie:
openssl s_client -connect secure.ogone.com:443 -showcerts -CApath /etc/ssl/certs/
Success with Verify return code: 0 (ok)
Commande infructueuse
openssl s_client -connect secure.ogone.com:443 -showcerts
Failed with Verify return code: 20 (unable to get local issuer certificate)
J'ai essayé de suivre la solution basée sur les réponses du wiki mais cela ne fonctionne pas non plus
openssl x509 -noout -hash -in /etc/ssl/certs/GeoTrust_Global_CA.pem 2c543cd1
openssl x509 -noout -subject_hash_old -in /etc/ssl/certs/GeoTrust_Global_CA.pem 7999be0d
openssl x509 -noout -subject_hash -in /etc/ssl/certs/GeoTrust_Global_CA.pem 2c543cd1
Je peux voir la différence dans les valeurs de hachage
J'ai essayé d'ajouter un script pour créer un lien symbolique avec -subject_hash_old
et -subject_hash
.
Mais le problème persiste et le code d'erreur Verify return code: 20 (unable to get local issuer certificate)
s'affiche.
#!/bin/sh
Create following script to create symbolic links in /etc/ssl/certs
Link with subject_hash_old and subject_hash is successfully created
for FILE in /etc/ssl/certs/*.pem
do
hasholdsub=`openssl x509 -noout -subject_hash_old -in $FILE`
hashsub=`openssl x509 -noout -subject_hash -in $FILE`
echo $hasholdsub $hashsub
ln -s $FILE $hasholdsub.0
ln -s $FILE $hashsub.0
cat $FILE >> ca-certificats-gen.crt
done
Mais ce problème existe toujours
S'il vous plaît aider à résoudre le problème.
Essayez d'utiliser -CAfile
au lieu de -CApath
et pointez sur le fichier de certificats CA concaténé unique. Par exemple.:
openssl s_client -connect secure.ogone.com:443 -showcerts \
-CAfile /etc/ssl/certs/ca-certificates.crt
Cela fonctionne pour moi, montrant verify return:1
et une chaîne de certificats complète.
Informations de base: Ce /etc/ssl/certs/ca-certificates.crt
est géré par la commande update-ca-certificates
, en concaténant simplement tous les certificats installés à l'échelle du système, y compris ceux installés manuellement dans /usr/local/share/ca-certificates/
.