【问题标题】:Keystore file not generated properly密钥库文件未正确生成
【发布时间】:2017-12-29 06:30:21
【问题描述】:

我已经使用 openssl 创建了一个自签名证书链。证书的扩展名为 .crt。我试图从该 .crt 文件创建一个 .keystore 文件。

用于创建密钥库文件的命令是:

    keytool -import -trustcacerts -alias root -file certificate.crt -keystore certificate.keystore

在我的 tomcat 应用程序中使用密钥库文件启用 ssl 时,我的应用程序没有启动,并且在我的浏览器中出现“无法访问此站点”错误,并且日志中没有错误。

我将 .crt 文件转换为 .p12 文件并在我的 tomcat 应用程序中使用。现在我的应用程序运行了。

如何成功生成密钥库文件以及为什么将文件转换为 .p12 有效?

【问题讨论】:

标签: tomcat ssl keystore


【解决方案1】:

您无法从 .crt 文件创建密钥库。密钥库必须同时包含私钥和相应的证书。不仅仅是证书。

在这种情况下完全没有理由使用openssl。除了keytool -genkey ...,你什么都不需要。

【讨论】:

  • 为了避免常见的混淆:Java 使用“密钥库”files(JKS 或 PKCS12)来包含带有证书或“受信任”证书的私钥没有钥匙,甚至没有混合(尽管这通常是一个坏主意)。 Java SSL/TLS 服务器(如 Tomcat)特别需要一个包含 PrivateKeyEntry 的密钥库文件,其证书用于与服务器使用的主机名匹配的名称。
  • 如果密钥库文件应该同时包含 .p12 包含的证书和私钥,那么 .keystore 文件中存在什么?它与 .p12 有何不同?
猜你喜欢
  • 2016-11-28
  • 1970-01-01
  • 2015-01-01
  • 1970-01-01
  • 2021-12-05
  • 1970-01-01
  • 2015-09-13
  • 2018-06-14
  • 1970-01-01
相关资源
最近更新 更多