如何从 PEM 确定 SSL 证书到期日期,该 PEM 在一个文件 (pem) 上串联有许多证书?

ior*_*da3 4 openssl

如何从 PEM 确定 SSL 证书到期日期,该 PEM 在一个文件 (pem) 上串联有许多证书?

例子:

# cat cert.pem

-----BEGIN CERTIFICATE----- 

... 

-----END CERTIFICATE----- 

-----BEGIN CERTIFICATE----- 

... 

-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)

下面的命令仅给出文件中第一个证书的结束日期

# openssl x509 -in cert.pem -noout -enddate
notAfter=Sep 26 16:12:59 2019 GMT
Run Code Online (Sandbox Code Playgroud)

您是否知道使用 shell 获取所有证书(一一)的结束日期?

Pat*_*zek 5

正如在https://serverfault.com/questions/391396/how-to-split-a-pem-file#676968中发现的那样,类似的方法有效:

openssl crl2pkcs7 -nocrl -certfile cert.pem | openssl pkcs7 -print_certs -text | grep -E '(Subject:|Not After)'
Run Code Online (Sandbox Code Playgroud)

但主题是在日期之后出现的。

否则,您需要使用 或 例如进行一些sed外壳awk粘合perl