Saya perlu skrip saya untuk mengirim email ke admin jika ada masalah, dan perusahaan hanya menggunakan Gmail. Mengikuti beberapa tulisan, saya dapat mengatur mailx menggunakan file .mailrc. pertama-tama ada kesalahan nss-config-dir yang saya pecahkan dengan menyalin beberapa file .db dari direktori firefox. ke ./certs dan mengarahkannya ke mailrc. Email telah dikirim.
Namun, kesalahan di atas muncul. Dengan suatu keajaiban, ada sertifikat Google di .db. Itu muncul dengan perintah ini:
~]$ 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 ,,
Kemungkinan besar, itu bisa diabaikan, karena surat tetap berfungsi. Akhirnya, setelah mencabut rambut dan banyak googles, saya menemukan cara untuk menghilangkan diri dari gangguan.
Pertama, ekspor sertifikat yang ada ke file ASSCII:
~]$ certutil -L -n 'Google Internet Authority' -d certs -a > google.cert.asc
Sekarang impor kembali file itu, dan tandai sebagai dipercaya untuk sertifikat SSL, ala:
~]$ certutil -A -t "C,," -n 'Google Internet Authority' -d certs -i google.cert.asc
Setelah ini, listing menunjukkan tepercaya:
~]$ certutil -L -d certs
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
...
Google Internet Authority C,,
Dan mailx mengirim tanpa hambatan.
~]$ /bin/mailx -A gmail -s "Whadda ya no" somebody@acompany.com
ho ho ho
EOT
~]$
Saya harap ini membantu bagi seseorang yang ingin melakukan kesalahan.
Juga, saya ingin tahu tentang sesuatu.
Bagaimana saya bisa mendapatkan sertifikat ini, jika tidak ada dalam database mozilla secara kebetulan? Apakah ada misalnya, sesuatu seperti ini?
~]$ 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
untuk melihat semuanya.Posting ini perlu diperbarui lagi. Saya mengalami masalah dengan pemasangan mailx pada kotak CentOS 7 saya. Mail akan mengirim tetapi saya masih menerima "Kesalahan dalam sertifikasi: Penerbit sertifikat rekan tidak dikenali." kesalahan.
Saya menemukan solusinya di sini , harus menerjemahkannya.
Ini cara cepat untuk melakukannya:
Sekarang salin setiap sertifikat termasuk --BEGIN CERTIFICATE-- dan --END CERTIFICATE-- dan tempelkan ke masing-masing file yang Anda buat sebelumnya (google, geotrust, equifax) dan sekarang simpan file-file itu.
Sekarang kita harus mengimpor masing-masing sertifikat ini ke db.
Contoh output:
Waktu pembersihan (opsional)
Seharusnya begitu, Anda seharusnya tidak menerima "Kesalahan dalam sertifikasi: Penerbit sertifikat rekan tidak dikenali." kesalahan lagi!
Catatan:
Anda mungkin memperhatikan bahwa saya mengubah dir dari
/certs
menjadi~/.certs
. mailx berjalan sebagai root jadi saya hanya membuat perubahan ini sebagai root /. "~ /" Berarti direktori HOME menempatkan semuanya bersama-sama~/.certs
berarti/root/.certs/
. Saya yakin Anda tahu itu, tapi hei kalau-kalau Anda tidak pernah tahu siapa yang mungkin membaca ini!Jika Anda membutuhkan ini, berikut adalah opsi konfigurasi yang saya tambahkan di bagian bawah
/etc/mail.rc
Pastikan untuk mengubah pengguna.from.user, pengguna.smtp.user Anda, dan pass Anda ke variabel masing-masing.
sumber
-showcerts
memberikan dua sertifikat, bukan 3. Yang kedua adalah yang GlobalSign. Namun, prosedur ini adalah satu-satunya yang berfungsi, jadi +1: gunakan-showcerts
, temukan semua sertifikat di dalamnya (saat ini 2), dan impor secara individual ke dalam basis data.openssl
sebagaiecho -n | openssl
, ot itu hang menunggu masukanopenssl s_client </dev/null
. Ya, mulai 2017 Google (termasuk gmail) beralih dari GIA2 di bawah GeoTrust / Equifax ke GIA3 di bawah GlobalSign. Tetapi tidak perlu menyimpan semua sertifikat rantai. Dan jika ada penjahat atau penipu (seperti pemerintah usil) meniru gmail, metode ini tidak hanya mempercayai mereka tetapi juga secara permanen - pengguna lain mungkin untuk sementara waktu dibodohi oleh sertifikat yang dikeluarkan secara tidak sah tetapi ketika dicabut mereka berhenti mempercayainya sedangkan dengan ini metode Anda terus memberikan semua email Anda kepada pelaku kejahatan.Saya membuat skrip kecil, berdasarkan balasan di utas ini, yang secara otomatis akan menarik, mengurai, dan menginstal sertifikat smtp gmail saat ini. Seharusnya bisa menanganinya jika jumlah sertifikat berubah lagi.
Berikut adalah pastebin dengan penyorotan sintaks juga
sumber
openssl s_client </dev/null -showcerts -connect ... | awk '/^ i:/{n=substr($0,7)} /-BEGIN/,/-END/{print>"t"} /-END/{close("t"); system("certutil -A -n \"" n "\" -t TC,, -i t -d certdir || echo failed; rm t")}'