Java 密钥库和信任库混淆

Java 密钥库和信任库混淆,java,keystore,truststore,Java,Keystore,Truststore,我在理解密钥库和信任库的概念时遇到了问题 我想用外行的话来理解: 假设我有以下应用程序: App A -> Client Application App B -> Server Application. 如果应用程序A希望通过https调用应用程序B的URL来执行API调用,那么应用程序A需要应用程序B提供哪些信息(密钥库/信任库) 哪个应用程序保留密钥库,哪个应用程序保留信任库 我在网上找不到任何好的资源。如果有人能清楚地描述信任库和密钥库之间的区别,我会非常感激的。应用程序B

我在理解密钥库和信任库的概念时遇到了问题

我想用外行的话来理解:

假设我有以下应用程序:

App A -> Client Application

App B -> Server Application.
如果应用程序A希望通过https调用应用程序B的URL来执行API调用,那么应用程序A需要应用程序B提供哪些信息(密钥库/信任库)

哪个应用程序保留密钥库,哪个应用程序保留信任库

我在网上找不到任何好的资源。如果有人能清楚地描述信任库和密钥库之间的区别,我会非常感激的。

应用程序B(服务器)将身份证书(我们称之为C)存储在密钥库中。当应用程序B尝试连接到应用程序B时,应用程序B将向A显示C


应用程序A(客户端)将验证B(即C)提供的证书与信任存储中存在的证书。(这些证书来自CA(证书颁发机构).

如果要为服务器创建自签名证书,将在服务器上创建一个.
密钥库
文件并生成一个证书。您需要将该证书添加到客户端应用程序的Java密钥存储中,以便通过
HTTPS
协议调用服务器API。谢谢,但在这种情况下,谁拥有信任存储?如果您的服务器和客户端是不同的计算机,则证书将添加到客户端的Java信任存储中。因此,据我所知,客户端信任存储将保留一个证书条目,仅用于验证目的。此外,如果我希望通过https连接到服务器,则我还需要将该证书添加到密钥库中,因为我们需要LH.是的,对于我们自己为服务器创建的自签名证书来说,这很好!谢谢。据我所知,信任库用于验证证书。因此,如果服务器证书由CA机构签名,那么我是否需要将此证书导入我的客户端信任库以及客户端密钥库?