TLS 将证书放在哪里

TLS where to put certificates

我为根 CA、中间 CA 和服务器创建了三个证书。它们代表简单的信任链:

server -> intermediate -> root

问题是如何正确地将它们放在客户端和服务器上。
我有两个选择:

  1. root证书放入客户端trustStore等--中级server 证书到服务器 keyStore。因此,服务器将发送两个证书,客户端将使用中间证书验证服务器证书,中间证书将使用存储在客户端 trustStore 中的根证书进行验证。

  2. 当服务器将仅在 keyStore.

  3. 中存储自己的证书

启发我:)

当我使用中间证书设置 Web 服务器时,我将中间证书放在服务器上。服务器的工作是向客户端证明其身份,为此它会发送网络服务器证书和受信任根之间的证书层次结构(中间证书),因为客户端可能没有这些。 所以我认为你的选项 1 是可行的方法。

您不需要在客户端信任库中安装 根证书和中间证书。那只是多余的。安装哪个取决于您希望客户信任谁。通常这将是根 CA,因此您将只在客户端安装它。如果出于某种原因您只希望客户端信任中间 CA,则只需安装它。