更新时间:2024-03-21 GMT+08:00

信任根CA

在安装私有证书之前,需要根据实际验证需求将根CA加入客户端或服务器受信任的根证书颁发机构中。

前提条件

已创建根CA并已导出私有根CA证书,导出私有CA证书的详细操作请参见导出私有CA证书

约束与限制

  • 单向验证

    当服务端无需校验客户端的证书身份时(互联网上大部分公开的网站不校验客户端证书),为了使得客户端信任服务端证书,需要将服务端证书的根CA加入到客户端受信任的根证书颁发机构中。

  • 双向验证

    当服务端与客户端皆需校验对方的证书时,需要双方将对方的根CA加入到自己的受信任的根证书颁发机构中。

操作步骤

根据不同的操作系统选择以下方式,将根CA加入受信任的根证书颁发机构中:

以信任根CA“PCA TEST ROOT G0”为例。

  • Windows系统
    1. 将根CA证书文件后缀由“.pem”改为“.crt”.,双击证书文件,根CA证书信息显示该根证书不受信任。
      图1 根CA不受信任
    2. 单击“安装证书”,根据使用场景选择证书存储位置,单击“下一步”
    3. 选择“将所有证书都存放入下列存储(P)”,单击“浏览”,选择“受信任的根证书颁发机构”,单击“确定”,如图 存储根证书所示。
      图2 存储根证书
    4. 单击“下一步”,再单击“确定”,会有弹窗提示“Windows将信任该私有根CA证书颁发的所有证书”,单击“是”
    5. 双击根CA证书文件,此时根CA证书信息显示系统已信任该根CA证书,表示根CA加入受信任的根证书颁发机构成功。
      图3 信任根CA
  • Linux系统

    不同版本的Linux操作系统中,根CA证书存放路径以及操作方法不一致,需要您根据实际情况进行操作。以下操作以Centos6版本的Linux系统为例:

    1. 将根CA证书文件复制到“/home/”路径下。
    2. 当服务器未安装“ca-certificates”时,使用如下命令安装“ca-certificates”

      yum install ca-certificates

    3. 使用如下命令将根CA证书复制到“/etc/pki/ca-trust/source/anchors/”路径下。

      cp /home/root.crt /etc/pki/ca-trust/source/anchors/

    4. 使用如下命令将根CA证书添加到根证书信任文件中。

      update-ca-trust extract

    5. 使用如下命令查看根CA证书是否添加成功信息,查看到新添加的根CA证书信息表示根CA加入受信任的根证书颁发机构成功,如图 新添加的根CA证书所示。

      view /etc/pki/tls/certs/ca-bundle.crt

      图4 新添加的根CA证书

    当openssl版本过低时,可能导致配置无法生效,可尝试使用yum update openssl -y 命令更新openssl版本。

  • macOS系统
    1. 打开mac的启动台,选择“钥匙串”
    2. 输入密码登录到“钥匙串”
    3. 将需要信任的根CA证书文件拖入钥匙串中,此时拖入的根CA证书会显示不被系统信任。
    4. 选中根CA证书文件,单击鼠标右键选择“显示简介”
    5. 选择信任>使用此证书时,选择“始终信任”,单击“关闭”
    6. 输入密码使信任根CA证书配置生效。
    7. “钥匙串”主页查看根CA证书,证书显示被信任表示根CA加入受信任的根证书颁发机构成功。