Jika saya memiliki file aktual dan Bash shell di Mac atau Linux, bagaimana saya bisa meminta file cert kapan akan kedaluwarsa? Bukan situs web, tetapi sebenarnya file sertifikat itu sendiri, dengan asumsi saya memiliki file csr, key, pem dan chain.
327
-startdate
dan-enddate
dibangun ke dalamx509
utilitas. Mereka akan menyelamatkan Andagrep
.Jika Anda hanya ingin tahu apakah sertifikat telah kedaluwarsa (atau akan melakukannya dalam N detik berikutnya),
-checkend <seconds>
opsi untukopenssl x509
akan memberi tahu Anda:Ini menghemat harus melakukan perbandingan tanggal / waktu sendiri.
openssl
akan mengembalikan kode keluar0
(nol) jika sertifikat belum kedaluwarsa dan tidak akan melakukannya untuk 86400 detik berikutnya, dalam contoh di atas. Jika sertifikat telah kedaluwarsa atau sudah melakukannya - atau kesalahan lain seperti file tidak valid / tidak ada - kode pengembaliannya1
.(Tentu saja, ini mengasumsikan waktu / tanggal diatur dengan benar)
sumber
-noout
opsi untuk melihat pesan bermanfaat menggunakan satu perintah tanpa logika tambahan. Misalnya,openssl x509 -checkend 0 -in file.pem
akan memberikan output "Sertifikat akan kedaluwarsa" atau "Sertifikat tidak akan kedaluwarsa" yang menunjukkan apakah sertifikat akan kedaluwarsa dalam nol detik.Inilah baris perintah bash saya untuk mencantumkan beberapa sertifikat agar kedaluwarsa, yang paling baru kedaluwarsa terlebih dahulu.
Output sampel:
sumber
0 7 * * 1 /path/to/cert.sh | mail -s "certbot" [email protected]
Inilah fungsi bash yang memeriksa semua server Anda, dengan asumsi Anda menggunakan DNS round-robin. Perhatikan bahwa ini memerlukan tanggal GNU dan tidak akan berfungsi di Mac OS
Contoh keluaran:
sumber
expiry_date
nilai Anda perlu menghapus nama zona waktu dari ujungnya. Tambahkan tambahancut
ke ujung pipa untuk melakukan ini:| cut -d ' ' -f 1-4
Satu baris memeriksa benar / salah jika sertifikat domain akan kedaluwarsa dalam beberapa waktu kemudian (mis. 15 hari):
sumber
Untuk MAC OSX (El Capitan) Modifikasi contoh Nicholas ini bekerja untuk saya.
Output sampel:
macOS tidak suka
--date=
atau--iso-8601
menandai pada sistem saya.sumber
.cer
sertifikat yang baru saja Anda buat dan unduh dari situs Apple Dev?Sama seperti jawaban yang diterima, Tetapi perhatikan bahwa ia berfungsi bahkan dengan
.crt
file dan bukan hanya.pem
file, untuk berjaga-jaga jika Anda tidak dapat menemukan.pem
lokasi file.Hasil:
sumber
Jika (karena alasan tertentu) Anda ingin menggunakan aplikasi GUI di Linux, gunakan
gcr-viewer
(di sebagian besar distribusi diinstal oleh paketgcr
(jika tidak dalam paketgcr-viewer
))sumber