企业环境中会建立本地证书颁发机构 (CA),用来颁发证书在组织内部使用。

为了让 Ubuntu 服务器在企业环境中成为信任的主机并正常运行,这个 CA 必须安装在 Ubuntu 系统的信任库中。

本文记录了 Ubuntu 系统下的一些具体操作方法:

  • 如何识别 PEM 和 DER 格式
  • 如何安装 PEM 格式的证书
  • 如何将 DER 格式转换为 PEM 格式

如何识别 PEM 和 DER 格式

在 Ubuntu 信任库中安装证书,它必须采用 PEM 格式。 PEM 格式的证书采用 base64 格式,以 ----BEGIN CERTIFICATE---- 的行开头。

如果在证书文本中看到了这样内容的行,基本是可以安装的。如果不是,则很可能是 DER 证书,需要进行转换。

如何安装 PEM 格式的证书

假设 PEM 格式的根 CA 证书保存在 local-ca.crt 文件中,按照以下步骤可以完成安装。

注意:文件的扩展名为 .crt 很重要,否则将会被程序忽略。

$ sudo apt-get install -y ca-certificates
$ sudo cp local-ca.crt /usr/local/share/ca-certificates
$ sudo update-ca-certificates

在此之后,我们就可以使用 Ubuntu 的工具(如 curl 和 wget)连接到 该CA 签发证书的站点了。

如何将 DER 格式转换为 PEM 格式

将名为 local-ca.der 的 DER 格式证书转换为 PEM 格式,命令如下:

$ sudo openssl x509 -inform der -outform pem -in local-ca.der -out local-ca.crt

CA 信任库的位置

由 update-ca-certificates 生成的 CA 信任库位于以下位置:

  • 单个文件(PEM 包): /etc/ssl/certs/ca-certificates.crt
  • OpenSSL 兼容证书目录: /etc/ssl/certs

参考资料