2017-09-26 76 views
1

我们正在试图获得一个有效的SSL为我们的Tomcat服务器,我们正在使用密钥管理密钥库导入信任链的密钥对或将其导入以密钥存储或两者

....但我认为,任何一个安全背景可以帮助!


  1. 我创建了一个密钥存储
  2. 产生它的公共和私有密钥对。
  3. 生成CSR。
  4. 提交CSR并获得证书信任链
  5. 我导入证书
  6. 我必须导入信任链

集6是我的问题。我有两个选择:

追加到证书密钥对(命名为Tomcat)的 下面: Append Certificate

或导入的CA密钥库来。正如下面

import CAs to Keystore

我应该怎么办?都如果第一个选项(附加证书到密钥对)足够,那么为什么有人需要向密钥库添加证书?

回答

2

A key pair基本上表示为在密钥库中的private-keycertificate chain。证书包含公钥。当您使用keytool命令生成密钥对时,它会要求您输入将生成的自签名证书并与该私钥相关联的一些详细信息。所以在这种情况下,您的证书链包含1个证书。

当您生成一个CSR,并且在一个文件(如p7b)中收到了您的签名证书和其他信任连锁证书(即:CA和SubCA的证书)时,您将会将它们添加到您当前的密钥对,即:您将将证书链与其相应的私钥相关联。因此,在这种情况下,您将在密钥库浏览器上选择Import CA Reply选项。

当你这样做,密钥库资源管理器将构建证书链是这样的:

CA Certificate (self-signed) 
| 
|__ 2. Sub CA Certificate (signed by the above CA) 
     | 
     |__ 1. Sub-sub CA Certificate (if any) (signed by the above Sub CA) 
       | 
       |__ 0. End Entity Certificate (your certificate, signed by the above cert) 

要看到它是如何使用密钥工具,当你-list密钥库的内容,你会看到如下的密钥库a PrivateKeyEntry with Certificate chain length: x

所以要回答你的选项1:当你想编辑这个证书链,如添加证书或删除证书,你可以使用keystore-explorer提供的Edit Certificate Chain选项。

要回答您的选项2:就像密钥库中存在密钥对条目一样,证书也可以单独存在。它被称为Certificate Entry。当密钥库仅包含证书时,它被称为truststore。您可能听说过java安装文件夹包含的cacerts文件。它是信任库文件,其中包含java想要信任的所有CA和SubCA的证书。当你想让java信任一个新组织的证书时,你可以在cacert文件中添加该证书。在这种情况下,您将选择Import Trusted Certificate选项。

如果您要导入CA的回复,您在技术上应该将其与其相应的私钥相关联。所以你应该做Import CA's Reply