Avevo bisogno del mio script per inviare email all'amministratore in caso di problemi e la società utilizza solo Gmail. Seguendo alcune istruzioni sui post sono stato in grado di configurare mailx usando un file .mailrc. c'è stato prima l'errore di nss-config-dir che ho risolto copiando alcuni file .db da una directory di firefox. a ./certs e puntando ad esso in mailrc. È stata inviata una mail.
Tuttavia, l'errore sopra è emerso. Per miracolo, c'era un certificato Google nel .db. Si presentò con questo comando:
~]$ 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 ,,
Molto probabilmente, può essere ignorato, perché la posta ha funzionato comunque. Alla fine, dopo aver tirato i capelli e molti googles, ho scoperto come liberarmi dal fastidio.
Innanzitutto, esporta il certificato esistente in un file ASSCII:
~]$ certutil -L -n 'Google Internet Authority' -d certs -a > google.cert.asc
Ora reimporta quel file e contrassegnalo come attendibile per i certificati SSL, ala:
~]$ certutil -A -t "C,," -n 'Google Internet Authority' -d certs -i google.cert.asc
Successivamente, l'elenco mostra che è attendibile:
~]$ certutil -L -d certs
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
...
Google Internet Authority C,,
E mailx invia senza intoppi.
~]$ /bin/mailx -A gmail -s "Whadda ya no" somebody@acompany.com
ho ho ho
EOT
~]$
Spero che sia utile a qualcuno che cerca di fare l'errore.
Inoltre, sono curioso di sapere qualcosa.
Come potrei ottenere questo certificato, se non fosse nel database di Mozilla per caso? C'è ad esempio qualcosa del genere?
~]$ 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
per vederli tutti.