Java 将信任链导入密钥对,或将其导入密钥库,或同时导入两者
我们正在尝试为我们的tomcat服务器获取一个有效的SSL,并且我们正在使用KeyTool来管理密钥库 …但我认为任何有安全背景的人都能帮上忙Java 将信任链导入密钥对,或将其导入密钥库,或同时导入两者,java,ssl,certificate,keystore,java-security,Java,Ssl,Certificate,Keystore,Java Security,我们正在尝试为我们的tomcat服务器获取一个有效的SSL,并且我们正在使用KeyTool来管理密钥库 …但我认为任何有安全背景的人都能帮上忙 我创建了一个密钥存储 在其中生成公钥和私钥对 生成CSR 提交CSR并获得证书和信任链 我导入证书 我必须导入信任链 第六盘是我的问题。我有两个选择: 将证书附加到密钥对(名为tomcat) 下: 或者将CAs导入密钥库。如下 我应该两者都做吗?!如果第一个选项(将证书附加到密钥对)足够了,那么为什么有些人需要将证书添加到密钥存储?在java密钥库
我应该两者都做吗?!如果第一个选项(将证书附加到密钥对)足够了,那么为什么有些人需要将证书添加到密钥存储?在java密钥库中,
密钥对
基本上表示为私钥
和证书链
。证书包含公钥。当您使用keytool命令生成密钥对时,它会要求您提供一些需要的详细信息,以便在它将生成并与该私钥关联的自签名证书上添加这些信息。因此,在本例中,您的证书链包含1个证书
当您生成CSR,并在单个文件(如p7b
)中收到您的签名证书和其他信任链证书(即:CA和SubCA的证书)时,您将把它们添加到当前密钥对中,即:将证书链与其对应的私钥相关联。因此,在本例中,您将选择密钥库资源管理器上的导入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)
要使用keytool查看它在密钥库上的外观,当您-list
密钥库内容时,您将看到证书链长度为x的PrivateKeyEntry
因此,要回答您的选项1:当您想要编辑此证书链(如添加证书或删除证书)时,可以使用密钥库资源管理器提供的编辑证书链
选项
回答选项2:就像密钥对条目存在于密钥库中一样,证书本身也可以存在。它被称为证书条目
。当密钥库只包含证书时,它称为信任库
。您可能听说过java安装文件夹包含的cacerts
文件。它是truststore文件,其中包含java希望信任的所有CA和SubCA证书。当您拥有希望java信任的新组织的证书时,您可以将该证书添加到cacert文件中。在这种情况下,您将选择导入受信任证书的选项
如果您正在导入CA的回复,那么技术上应该将其与相应的私钥相关联。因此,您应该执行导入CA回复的