两个web应用之间cacerts文件通信的作用

Role of cacerts file communication between two web applications

在研究 PKI 时,我在 java 中遇到了我不熟悉的 cacerts 文件。我通过谷歌搜索了一段时间阅读了与它相关的信息,但没有完全理解它在下图中扮演的角色。

  1. java 网络应用 "foo" 已构建
  2. "foo" 部署到网络服务器 "A"
  3. 有服务提供者"bar"部署到网络服务器"B"
  4. "foo" 需要与 "bar" 安全通信
  5. 当 "foo" 发起与 "bar" 的对话时,来自网络服务器 "B" 的证书被提供给网络服务器 "A"
  6. 网络服务器"A"验证证书的签署者来自网络服务器"B"
  7. 如果没问题,那么 "foo" 可以和 "bar"
  8. 交谈

在这种情况下(如果我描述正确的话),在第 6 步 Web 服务器 "A" 使用 cacerts 文件来验证签名者?

cacerts 包含受信任的证书颁发机构 (CA)。 cacerts 文件是受信任的 CA public 密钥的集合(以证书的形式)。

A 和 B 的证书是使用 CA 的私钥签署的。

B 的证书将指定它们是由哪个 CA 颁发的,并且 A 可以使用 CA 的 public 密钥来验证 CA 确实颁发了该证书(即验证签名B的证书)。

将通过递归执行上述操作来构建证书链,直到获得自签名根 CA 证书,并且此自签名证书必须位于 cacerts 文件中才能成功验证。