GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menentukan tanggal kedaluwarsa sertifikat SSL dari sertifikat yang disandikan PEM?

Dengan openssl :

openssl x509 -enddate -noout -in file.pem

Outputnya ada di formulir:

notAfter=Nov  3 22:23:50 2014 GMT

Lihat juga jawaban MikeW untuk cara mudah memeriksa apakah sertifikat telah kedaluwarsa atau belum, atau apakah akan dalam jangka waktu tertentu, tanpa harus mengurai tanggal di atas.


Jika Anda hanya ingin mengetahui apakah sertifikat telah kedaluwarsa (atau akan habis dalam N detik berikutnya), -checkend <seconds> opsi untuk openssl x509 akan memberi tahu Anda:

if openssl x509 -checkend 86400 -noout -in file.pem
then
  echo "Certificate is good for another day!"
else
  echo "Certificate has expired or will do so within 24 hours!"
  echo "(or is invalid/not found)"
fi

Ini menghemat Anda harus melakukan perbandingan tanggal/waktu sendiri.

openssl akan mengembalikan kode keluar 0 (nol) jika sertifikat belum kedaluwarsa dan tidak akan berlaku selama 86400 detik berikutnya, dalam contoh di atas. Jika sertifikat akan kedaluwarsa atau sudah melakukannya - atau beberapa kesalahan lain seperti file yang tidak valid/tidak ada - kode pengembaliannya adalah 1 .

(Tentu saja, ini mengasumsikan waktu/tanggal diatur dengan benar)

Ketahuilah bahwa versi openssl yang lebih lama memiliki bug yang berarti jika waktu ditentukan dalam checkend terlalu besar, 0 akan selalu dikembalikan (https://github.com/openssl/openssl/issues/6180).


Inilah baris perintah bash saya untuk mencantumkan beberapa sertifikat dalam urutan kedaluwarsanya, yang terakhir kedaluwarsa terlebih dahulu.

for pem in /etc/ssl/certs/*.pem; do 
   printf '%s: %s\n' \
      "$(date --date="$(openssl x509 -enddate -noout -in "$pem"|cut -d= -f 2)" --iso-8601)" \
      "$pem"
done | sort

Keluaran sampel:

2015-12-16: /etc/ssl/certs/Staat_der_Nederlanden_Root_CA.pem
2016-03-22: /etc/ssl/certs/CA_Disig.pem
2016-08-14: /etc/ssl/certs/EBG_Elektronik_Sertifika_Hizmet_S.pem

Linux
  1. Bagaimana cara Memeriksa apakah Sertifikat SSL SHA1 atau SHA2 menggunakan OpenSSL?

  2. Cara membuat Sertifikat SSL yang Ditandatangani Sendiri di Ubuntu 18.04

  3. Cara menentukan jumlah minggu dalam sebulan

  1. Bagaimana Cara Membuat Kunci CSR dan menginstal Sertifikat SSL dari CWP?

  2. Cara Mendaftar Sertifikat SSL di Plesk

  3. Cara memasang Sertifikat SSL di Plesk

  1. Tutorial OpenSSL:Bagaimana Cara Kerja Sertifikat SSL, Kunci Pribadi, &CSR?

  2. Cara Memasang Sertifikat SSL di NGINX

  3. Bagaimana cara mendapatkan tanggal kedaluwarsa kata sandi pengguna dari Active Directory?