在 Linux 的 CLI 下要检示 TLS/SSL 凭证的到期日, 可以用 OpenSSL client 完成。指令的格式如下:
|
1 |
$ echo | openssl s_client -connect server_name:port_no | openssl x509 -noout -dates |
把上面的 server_name 换成主机的位置, port_no 换成埠号.
例如要检查 www.opencli.com 的凭证到期日, 便用以下指令:
|
1 |
$ echo | openssl s_client -connect www.opencli.com:443 | openssl x509 -noout -dates |
会得出以下结果:
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let’s Encrypt, CN = R3
verify return:1
depth=0 CN = www.opencli.com
verify return:1
DONE
notBefore=Jan 30 21:07:04 2021 GMT
notAfter=Apr 30 21:07:04 2021 GMT
verify return:1
depth=1 C = US, O = Let’s Encrypt, CN = R3
verify return:1
depth=0 CN = www.opencli.com
verify return:1
DONE
notBefore=Jan 30 21:07:04 2021 GMT
notAfter=Apr 30 21:07:04 2021 GMT
如果要检视在本机凭证的到期日, 可以直接输入凭证的档案检视, 例如要检查 Let’s Encrypt 凭证的到期日, 可以这样:
$ openssl x509 -enddate -noout -in /etc/letsencrypt/live/www.opencli.com/cert.pem
或
$ openssl x509 -enddate -noout -in /etc/letsencrypt/live/www.opencli.com/fullchain.pem
如果配合 -checkend 参数, 还可以检查凭证在未来一段时间后是否有效, 例如想检查凭证在 7 天 (604800 秒) 后是否仍然有效, 可以这样:
$ openssl x509 -enddate -noout -in /etc/letsencrypt/live/www.opencli.com/cert.pem -checkend 604800
如果凭证在 7 天后仍然有效, 会回传以下讯息:
Certificate will not expire