【发布时间】:2015-04-07 01:37:20
【问题描述】:
如果我在 Mac 中有实际文件 (.p12) 和 Bash shell,如何提取证书和密钥文件以及证书到期日期?假设我有 csr(.p12),密钥文件。
提前致谢!
【问题讨论】:
标签: ssl openssl ssl-certificate
如果我在 Mac 中有实际文件 (.p12) 和 Bash shell,如何提取证书和密钥文件以及证书到期日期?假设我有 csr(.p12),密钥文件。
提前致谢!
【问题讨论】:
标签: ssl openssl ssl-certificate
从 pkcs12 文件中提取 client 证书并打印其结束日期:
openssl pkcs12 -in certificate.p12 -clcerts -nodes | openssl x509 -noout -enddate
如果您不包含 -clcerts 选项,您可能会从 CA 证书而不是您自己的证书中获取结束日期。多个 CA 证书通常包含在文件中,作为 chain of trust 的一部分。
【讨论】:
这是您在 Windows 上的操作方式:
certutil -dump "file.pfx"
附:我知道这个问题特别提到了 Mac,这是以防万一 Google 将您发送到此处(就像它发送给我一样)。
【讨论】:
您可以在不使用中间文件的情况下将第一个答案设为单行:
openssl pkcs12 -in certificate.p12 -nodes | openssl x509 -noout -enddate
【讨论】:
您可以使用 openssl 使用以下命令将证书从 .p12 文件提取到 .pem 文件:
openssl pkcs12 -in certificate.p12 -out certificate.pem -nodes
然后,您可以使用以下命令从 .pem 文件中的证书中提取到期日期:
cat certificate.pem | openssl x509 -noout -enddate
【讨论】:
notAfter=Oct 24 21:01:55 2017 GMT,但我知道这个证书已经过期。有什么想法吗?