在我回答主要问题之前,我想表明我对Keystore和TrustStores的理解:
1)密钥库 - 密钥(私钥)的详细信息,我将其作为服务器进行身份验证
2)Truststore - 我信任的来自不同域的root / interm CA和其他签名证书的列表。
我正在尝试建立服务器间身份验证和数据交换机制。我的所有服务器的FQDN格式都为myserverX.mydomain.net
,其中X是索引,例如myserver1.mydomain.net
。如果我对密钥库和信任库的理解是正确的,当myserver1
从myserver2
请求数据时,它是myserver1
的客户端和myserver2
是服务器。
这样:
1)myserver1
需要信任myserver2
所以myserver2
公钥证书应该导入`myserver1'中的信任库。
2)当myserver1'上面也是如此。是服务器,myserver2
是客户端 - 除了现在myserver1
公钥证书应导入myserver2
信任库。
我真的把事情搞定了吗?或者我有任何根本性的错误?我的目的是使用自签名证书进行试用,然后为我的服务器获取正确的根CA签名证书。但如果有人可以解释我是否在这里作出任何错误的假设,我将不胜感激。
注意 - 我将使用Java keytool和JKS类型的密钥库(使用默认的对称密钥算法和大小),我将使用-certreq and -gencert
或-selfcert
为我生成自签名证书测试
答案 0 :(得分:1)
您说得对,但如果您使用CA签名证书,则不需要导入步骤。根据定义,CA已经是受信任的,因此它们签署的证书也是如此。所以你的测试毫无意义。