【发布时间】:2020-08-06 10:17:12
【问题描述】:
我在 Ubuntu 服务器 16 中有一个 SH 脚本,我运行它来获取证书的结束日期:
openssl pkcs12 -in cert.p12 -clcerts -nodes -passin file:passwordfile | openssl x509 -noout -enddate
这对多个证书运行良好,但仅对一个它不运行。我检查了所有证书的文件权限,并且都具有相同的权限。文件中的密码也是正确的。如果脚本由 crontab 调用,它不会返回日期。如果我在命令行中运行,它会按预期工作。 我创建了一个节点 JS 文件来做同样的事情,它也适用于除同一个证书之外的所有证书,并且它再次在命令行中工作。
文件的密码包含重音字符。它适用于命令行,但不能从 crontab 运行。这可能是某种原因吗?
我正在使用: OpenSSL 1.1.1e 2020 年 3 月 17 日 Ubuntu 16.04.6 LTS
根据https://www.openssl.org/docs/man1.1.1/man7/passphrase-encoding.html,它接受 UTF8。 任何想法为什么这不仅仅适用于特定证书?谢谢。
更新: 我将 OpenSSL 升级到 1.1.1g,但问题仍然存在。我用 Ubuntu 20.04 测试,没有出现问题。
【问题讨论】: