SSL 证书 ca-certificates.crt 和 ssl-cert-snakeoil.pem 已过期 - 怎么办?

SSL 证书 ca-certificates.crt 和 ssl-cert-snakeoil.pem 已过期 - 怎么办?

运行时sudo lynis audit system它告诉我,我的两个 SSL 证书已过期,即:/etc/ssl/certs/ca-certificates.crt 和 /etc/ssl/certs/ssl-cert-snakeoil.pem。

我应该怎么做才能解决这个问题?删除那些证书?如果是这样怎么办?我正在使用 Debian 9.1 和 KDE。

答案1

/etc/ssl/certs/ca-certificates.crt不应该只是“您的”SSL 证书。对于希望将受信任 CA 证书列表全部存储在单个文件中的程序,它应该是 OpenSSL 信任的所有 CA 证书的串联。

一些使用 OpenSSL 的程序会希望受信任的 CA 证书作为目录中的单独文件,其文件名是证书哈希值,其形式HHHHHHHH.N为 N 通常为 0(如果有两个或多个证书具有相同的哈希值,则第一个证书将具有相同的哈希值)后缀.0,第二个.1等)。这是通过目录中的符号链接完成的/etc/ssl/certs

两种形式均由update-ca-certificates命令管理,而命令由文件控制/etc/ca-certificates.conf。根证书的实际主副本位于 的子目录中/usr/share/ca-certificates//usr/local/share/ca-certificates如果您选择以 Debian Way 添加自定义根证书)。

如果您想排除某些默认 CA 证书(例如,因为它们已过期,并且您被命令从系统配置中删除所有过期的证书),您应该编辑/etc/ca-certificates.conf,在相应的行前面加上感叹号,然后update-ca-certificates运行根。对于您的自定义 CA 证书,您应该/usr/local/share/ca-certificates/*在运行之前将它们从子目录中删除update-ca-certificates。否则,update-ca-certificates will just add it back whenever theca-certificates` 包将被更新或重新配置。

请注意,过期的证书/etc/ssl/certs通常不会成为问题:OpenSSL 库函数将检查证书是否过期,并将过期的证书报告为验证失败。当然,如果您的系统不了解实时和日期,或者应用程序编程不当而忽略了证书过期,那么您就有正当理由从配置中删除过期的证书。


如果你想重新生成/etc/ssl/certs/ssl-cert-snakeoil.pem证书,命令是:

make-ssl-cert generate-default-snakeoil --force-overwrite

这将/etc/ssl/certs/ssl-cert-snakeoil.pem使用新的自签名证书覆盖该证书,并/etc/ssl/private/ssl-cert-snakeoil.key使用相应的新私钥覆盖该文件。

答案2

您的发行版的软件包存储库中应该有一个“ca-certificates”软件包。

升级该软件包,您安装的 CA 证书也会升级。

顺便说一句,如果您从系统中删除 ca-certificates.crt,您将无法信任任何人的 SSL 证书。

相关内容