Je suis d'accord avec tout ce que BillThor a mentionné, mais j'ajouterai qu'il peut être nécessaire de reconstruire complètement le magasin de certificats, car parfois, il semble que update-ca-certificates s'efforce trop d'être paresseux et ne met pas à jour les choses qu'il devrait faire. .
rm -f /usr/local/share/ca-certificates/certificate.crt
# --fresh is needed to remove symlinks to no-longer-present certificates
update-ca-certificates --fresh
Notez également que, une fois que update-ca-certificates est terminé, les /etc/ssl/certs/*.pem
fichiers doivent avoir été liés symboliquement avec leurs certificats respectifs dans /usr/local/share/ca-certificates/
ou /usr/share/ca-certificates/
. Comme BillThor l'a mentionné, il y aura également un lien symbolique vers un fichier avec l'empreinte digitale comme nom - ce sera similaire à 349f2832.0
.
Un ls -l peut le confirmer:
--snip--
lrwxrwxrwx 1 root root 72 Feb 6 2014 Security_Communication_EV_RootCA1.pem -> /usr/share/ca-certificates/mozilla/Security_Communication_EV_RootCA1.crt
lrwxrwxrwx 1 root root 69 Mar 25 2014 Security_Communication_RootCA2.pem -> /usr/share/ca-certificates/mozilla/Security_Communication_RootCA2.crt
lrwxrwxrwx 1 root root 69 Feb 6 2014 Security_Communication_Root_CA.pem -> /usr/share/ca-certificates/mozilla/Security_Communication_Root_CA.crt
lrwxrwxrwx 1 root root 61 Feb 6 2014 Sonera_Class_1_Root_CA.pem -> /usr/share/ca-certificates/mozilla/Sonera_Class_1_Root_CA.crt
--snip--
Notez également que * .crt et * .pem sont le même fichier . Cela signifie que le fichier .crt d'origine mis en place doit être au format .pem.
Un fichier au format .pem ressemble à ceci:
-----BEGIN CERTIFICATE-----
MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB
gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk
--snip--
IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy
i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ
O+7ETPTsJ3xCwnR8gooJybQDJbw=
-----END CERTIFICATE-----
Vous pouvez tester l’installation de votre certificat en exécutant openssl sur le cert:
openssl x509 -in /etc/ssl/certs/[certname].pem -noout -text
et
openssl x509 -in /usr/local/share/ca-certificates/[certname].pem -noout -text
(bien sûr en remplaçant [certname])
Vous devriez voir des informations détaillées sur votre certificat, et les deux doivent correspondre (car avec un lien symbolique, ils devraient être le même fichier).
Si elles ne correspondent pas, alors vous devriez recommencer update-ca-certificates --fresh
S'ils ne fournissent pas d'informations utiles du tout, vous devez vérifier votre certificat et vous assurer qu'il est au format PEM valide.
EDIT : BillThor a mentionné que cela ne fonctionnerait pas pour Java, mais il semble qu'au moins sur Debian, le magasin de certificats de Java soit également tenu à jour par l'outil update-ca-certificates. Je ne suis pas au courant d'autres choses sur Linux qui utilisent un magasin de certificats alternatif, à part peut-être Wine qui exécute une application Adobe Air.
/usr/local/share/ca-certificates
, et le fonctionnement aupdate-ca-certificates --fresh
fait l'affaire.