Tanpa perlu menggunakan website pihak ketiga untuk mengecek kapan SSL situs anda expired, bisa menggunakan openssl client yang sudah tersedia di Linux.

Contoh kita akan cek kapan SSL jaranguda.com expired

echo | openssl s_client -servername jaranguda.com -connect jaranguda.com:443 2>/dev/null | openssl x509 -noout -enddate
# output
notAfter=Jun 27 23:59:59 2022 GMT

dari output diatas bisa kita ketahui kalo SSL jaranguda.com akan expired pada 27 Juni 2022.

Keterangan dari perintah diatas:
echo di depan, agar openssl langsung exit begitu command openssl selesai
s_client : konek ke domain/ip sebagai client
-noout : tidak perlu menampilkan informasi sertifikat
-enddate: tanggal expired SSL.

Untuk melihat perbedaanya coba hapus echo dibagian paling depan

openssl s_client -servername jaranguda.com -connect jaranguda.com:443 2>/dev/null | openssl x509 -noout -enddate
# output
notAfter=Jun 27 23:59:59 2022 GMT

untuk keluar anda perlu menekan kombinasi CTRL + C

Agar kelihatan tanggal di terbitkan dan tanggal berakhir SSL ganti enddate menjadi dates

echo | openssl s_client -servername jaranguda.com -connect jaranguda.com:443 2>/dev/null | openssl x509 -noout -enddate
# output
notBefore=Jun 28 00:00:00 2021 GMT
notAfter=Jun 27 23:59:59 2022 GMT

tanggal sertifikat SSL tersebut diterbitkan bisa diambil dengan

echo | openssl s_client -servername jaranguda.com -connect jaranguda.com:443 2>/dev/null | openssl x509 -noout -startdate
# output
notBefore=Jun 28 00:00:00 2021 GMT

Cara ini tidak hanya untuk HTTP atau HTTPS tetapi bisa juga untuk service lainnya, contoh SMTP

echo | openssl s_client  -connect smtp.mail.yahoo.com:587 -starttls smtp 2>/dev/null | openssl x509 -noout -dates
# output
notBefore=May 24 00:00:00 2021 GMT
notAfter=Nov 17 23:59:59 2021 GMT

Pengecekan banyak domain, bisa dibuat scriptnya. Contohnya

#!/usr/bin/env bash
# author : tommy @ jaranguda.com
# cek tanggal expired SSL
 
declare -a DOMAINLIST=(
google.com:443
yahoo.com:443
jaranguda.com:443
);
 
for domain in ${DOMAINLIST[@]}; do 
    DOMAIN=$(echo $domain | cut -d ':' -f1)
    PORT=$(echo $domain | cut -d ':' -f2)
    TANGGALEXPIREDSSL=$(echo | openssl s_client -servername $DOMAIN -connect $DOMAIN:$PORT 2>/dev/null | openssl x509 -noout -enddate)
    TANGGAL=$(echo $TANGGALEXPIREDSSL | sed 's/notAfter=//g')
    FORMATTANGGAL=$(date -d "${TANGGAL}" +"%d %B %Y")
    echo "${domain} : ${FORMATTANGGAL}"
 
done

Contoh output dari script diatas

google.com:443 : 20 September 2021
yahoo.com:443 : 20 January 2022
jaranguda.com:443 : 28 June 2022

cek ssl expiry date

Leave a comment

Your email address will not be published. Required fields are marked *