【问题标题】:Import Trust Chain to the keypair or import it to keystore or both将信任链导入密钥对或将其导入密钥库或两者
【发布时间】:2018-03-07 14:53:17
【问题描述】:

我们正在尝试为我们的 tomcat 服务器获取有效的 SSL,并且我们正在使用 KeyTool 来管理密钥库

....但我认为任何有安全背景的人都可以提供帮助!


  1. 我创建了一个密钥库
  2. 在其中生成公钥和私钥对。
  3. 生成 CSR。
  4. 提交 CSR 并获得证书信任链
  5. 我导入证书
  6. 我必须导入信任链

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

将证书附加到密钥对(命名为 tomcat) 以下:

或者将 CA 导入 Keystore。如下

我应该两者都做吗?如果第一个选项(将证书附加到密钥对)就足够了,那么为什么有人需要将证书添加到密钥库?

【问题讨论】:

    标签: java ssl certificate keystore java-security


    【解决方案1】:

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

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

    当你这样做时,keystore-explorer 会像这样构造证书链:

    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)
    

    要使用 keytool 查看它在密钥库上的外观,当您 -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

    【讨论】:

      猜你喜欢
      • 2013-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-08
      • 2013-01-02
      • 1970-01-01
      相关资源
      最近更新 更多