J'avais besoin de mon script pour envoyer un e-mail à l'administrateur en cas de problème, et la société utilise uniquement Gmail. Après quelques instructions de publication, j'ai pu configurer mailx à l'aide d'un fichier .mailrc. il y avait d'abord l'erreur de nss-config-dir J'ai résolu cela en copiant certains fichiers .db à partir d'un répertoire firefox. à ./certs et le viser dans mailrc. Un mail a été envoyé.
Cependant, l'erreur ci-dessus s'est produite. Par miracle, il y avait un certificat Google dans le .db. Il est apparu avec cette commande:
~]$ certutil -L -d certs
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
GeoTrust SSL CA ,,
VeriSign Class 3 Secure Server CA - G3 ,,
Microsoft Internet Authority ,,
VeriSign Class 3 Extended Validation SSL CA ,,
Akamai Subordinate CA 3 ,,
MSIT Machine Auth CA 2 ,,
Google Internet Authority ,,
Très probablement, il peut être ignoré, car le courrier a quand même fonctionné. Enfin, après avoir tiré quelques cheveux et de nombreux googles, j'ai découvert comment me débarrasser de la gêne.
Tout d'abord, exportez le certificat existant vers un fichier ASSCII:
~]$ certutil -L -n 'Google Internet Authority' -d certs -a > google.cert.asc
Maintenant, réimportez ce fichier et marquez-le comme approuvé pour les certificats SSL, ala:
~]$ certutil -A -t "C,," -n 'Google Internet Authority' -d certs -i google.cert.asc
Après cela, la liste montre qu'il fait confiance:
~]$ certutil -L -d certs
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
...
Google Internet Authority C,,
Et mailx envoie sans accroc.
~]$ /bin/mailx -A gmail -s "Whadda ya no" somebody@acompany.com
ho ho ho
EOT
~]$
J'espère que cela sera utile à quelqu'un qui cherche à en finir avec l'erreur.
Aussi, je suis curieux de savoir quelque chose.
Comment pourrais-je obtenir ce certificat, s'il n'était pas dans la base de données mozilla par hasard? Y a-t-il par exemple quelque chose comme ça?
~]$ certutil -A -t "C,," \
-n 'gmail.com' \
-d certs \
-i 'http://google.com/cert/this...'
openssl s_client -showcerts -connect smtp.gmail.com:465 </dev/null
pour les voir tous.