代码之家  ›  专栏  ›  技术社区  ›  DaeYoung

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

  •  0
  • DaeYoung  · 技术社区  · 9 年前

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

    1. 构建了java web应用程序“foo”
    2. “foo”已部署到web服务器“A”
    3. 有一个服务提供商“bar”部署到web服务器“B”
    4. “foo”需要与“bar”安全通信
    5. 当“foo”启动与“bar”的对话时,来自web服务器“B”的证书将呈现给web服务器“a”
    6. web服务器“A”验证证书的签名者来自web服务器“B”
    7. 如果可以,那么“foo”可以与“bar”对话

    在这种情况下(如果我描述正确),在步骤6,web服务器“A”使用cacerts文件来验证签名者?

    1 回复  |  直到 9 年前
        1
  •  2
  •   voutasaurus    9 年前

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

    A和B的证书使用CA的私钥进行签名。

    B的证书将指定他们是由哪个CA颁发的,A可以使用CA的公钥来验证CA是否确实颁发了该证书(即验证B证书上的签名)。

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