Ich brauchte mein Skript, um dem Administrator eine E-Mail zu senden, wenn ein Problem auftritt, und das Unternehmen verwendet nur Google Mail. Nach ein paar Anweisungen konnte ich mailx mithilfe einer .mailrc-Datei einrichten. Es gab zuerst den Fehler von nss-config-dir, den ich durch Kopieren einiger .db-Dateien aus einem Firefox-Verzeichnis behoben habe. zu ./certs und darauf zielen in mailrc. Eine Mail wurde gesendet.
Der obige Fehler trat jedoch auf. Wie durch ein Wunder gab es ein Google-Zertifikat in der .db. Es zeigte sich mit diesem Befehl:
~]$ 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 ,,
Höchstwahrscheinlich kann es ignoriert werden, da die Mail trotzdem funktioniert hat. Nachdem ich ein paar Haare und viele Brillen gezogen hatte, fand ich schließlich heraus, wie ich mich von dem Ärger befreien konnte.
Exportieren Sie zunächst das vorhandene Zertifikat in eine ASSCII-Datei:
~]$ certutil -L -n 'Google Internet Authority' -d certs -a > google.cert.asc
Importieren Sie diese Datei nun erneut und markieren Sie sie als vertrauenswürdig für SSL-Zertifikate.
~]$ certutil -A -t "C,," -n 'Google Internet Authority' -d certs -i google.cert.asc
Danach zeigt die Auflistung, dass es vertrauenswürdig ist:
~]$ certutil -L -d certs
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
...
Google Internet Authority C,,
Und mailx verschickt ohne Probleme.
~]$ /bin/mailx -A gmail -s "Whadda ya no" somebody@acompany.com
ho ho ho
EOT
~]$
Ich hoffe, es ist hilfreich für jemanden, der mit dem Fehler fertig werden möchte.
Ich bin auch neugierig auf etwas.
Wie könnte ich dieses Zertifikat erhalten, wenn es nicht zufällig in der Mozilla-Datenbank wäre? Gibt es zum Beispiel so etwas?
~]$ 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
um sie alle zu sehen.