在 Linux 上管理 ca 证书的常用方法?

在 Linux 上管理 ca 证书的常用方法?

我必须管理一堆具有不同发行版的 Linux 机器(服务器和客户端)。我们希望将来使用 docker,因此将来可能会有更多不同的发行版。我尝试自动添加和删除自签名 ca .pem 文件,并注意到,有时 .pem 文件位于 /etc/ssl/certs(debian),有时位于 /usr/share/pki/trust 或 /etc/pki/trust(opensuse),有时这些目录为空或不存在。

是否有通用方法或命令来将 Linux 上的 ca 证书添加/删除到机器上的“官方”openssl 堆栈?如果没有,我如何找到 ca 证书的正确位置或为 openssl 定义的文件夹在哪里(在哪个配置文件中)?

我知道这只是路线的一半,因为有些应用程序正在使用它们自己的私有 ca-stack(curl?),但将自签名 ca-cert 放在众所周知的地方会很有帮助。

答案1

是否有一种常用的方法或命令可以将 Linux 上的 ca 证书添加/删除到机器上的“官方” openssl 堆栈中?

我找不到合适的重复,但之前已经回答过这个问题,答案是:

,发行版对 openssl 使用不同的位置,并且在将 CA 证书添加到 openssl 的 CA 集合后,您仍然必须为不使用 openssl 作为加密库的应用程序提供服务,但是这些应用程序使用例如 Mozilla 的 NSS 或 GNU TLS,或使用保险库格式的 Java 应用程序。

答案2

http://gagravarr.org/writing/openssl-certs/others.shtml#ca-openssl

另一种检查方法在大多数 OpenSSL 版本中,如果您运行该命令, openssl version -d it将报告使用的目录,例如 OPENSSLDIR:“/usr/lib/ssl”(目录为 /usr/lib/ssl)。在某些系统(例如 Ubuntu)上,由此给出的路径将包含指向系统其他地方的真实证书存储的符号链接,因此您可能需要仔细检查!

相关内容