【问题标题】:Error: Alias name [null] does not identify a key entry during implementing SSL in Tomcat错误:在 Tomcat 中实现 SSL 期间,别名 [null] 未识别密钥条目
【发布时间】:2018-05-06 06:27:44
【问题描述】:

我第一次尝试在 tomcat 8 中实现 SSL。

我有第三方签署的 .pem 文件形式的 X.509 证书。

但是当我尝试启动 tomcat 配置后,它给了我以下错误:

2017 年 11 月 22 日 18:48:01.735 信息 [主要] org.apache.coyote.AbstractProtocol.init 初始化 ProtocolHandler [“https-jsse-nio-8443”] 2017 年 11 月 22 日 18:48:01.897 严重 [主要] org.apache.coyote.AbstractProtocol.init 无法初始化端点 与 ProtocolHandler ["https-jsse-nio-8443"] 关联 java.lang.IllegalArgumentException: java.io.IOException: 别名 [null] 不识别关键条目 在...

以下是我遵循的步骤:

  1. 将 certificate.pem 重命名为 certificate.p7b。
  2. 应用以下命令将证书导入密钥库:

D:\keytest2>keytool -import -alias tomcat -trustcacerts -file certificate.p7b -keystore keystore.kdb

输入密钥库密码:test
重新输入新密码:test

...
...
证书已添加到密钥库

  1. 已检查导入证书:

D:\keytest2>keytool -list -v -keystore keystore.kd

这给了我以下信息:

密钥库类型:JKS 密钥库提供者:SUN

您的密钥库包含 1 个条目

别名:tomcat 创建日期:2017年11月22日 条目类型:trustedCertEntry ... ...

Tomcat 配置:

<Connector port="8443" protocol="HTTP/1.1"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true" 
               keystoreFile="file:///D:/keytest2/keystore.kdb" keystorePass="test"
           clientAuth="false" sslProtocol="TLS">

请指导我哪里做错了。

【问题讨论】:

  • 证书不是私钥。任何 SSL/TLS 服务器都需要证书(通常带有链)和匹配的私钥,而 Java(包括传统上的 Tomcat)通常需要它们在密钥库文件中作为 PrivateKeyEntry 而不是 TrustedCertEntry。 (Tomcat 8.5 up 在形式上具有更大的灵活性,但实质是相同的。)如果您生成了密钥(和 CSR),请提供详细信息;否则从做过的人那里得到它。 BTW p7b 格式与普通 cert 格式不同,认为它们相同会让您感到困惑,尽管代码会忽略并且不会被文件扩展名混淆。
  • 你是对的。我没有私钥。所以我尝试使用 openssl 工具生成证书和密钥。现在我有证书和密钥。你能告诉我如何将它们导入密钥库并在 tomcat 中配置吗?提前致谢。
  • 我是从ibm.com/support/knowledgecenter/en/SSWHYP_4.0.0/… 找到的。我已经使用 openssl 创建了证书和密钥文件并将它们组合在一起。它对我有用。谢谢。

标签: java tomcat ssl x509 pkcs#11


【解决方案1】:

问题是由于在 tomcat 配置中缺少参数“keyAlias”。

但是放别名并没有解决我的问题。它开始使用别名而不是 null 抛出相同的错误:)。

根据@dev_thompson_085 的评论,我知道我缺少此过程的密钥文件。因此,我根据 url 尝试了使用自签名 X.509 证书:https://www.ibm.com/support/knowledgecenter/en/SSWHYP_4.0.0/com.ibm.apimgmt.cmc.doc/task_apionprem_gernerate_self_signed_openSSL.html

这两个文件都很好用。

【讨论】:

  • 所以问题根本不是keyAlias
猜你喜欢
  • 2012-02-06
  • 2018-02-24
  • 2021-07-16
  • 2018-07-01
  • 2013-07-09
  • 2012-07-03
  • 2013-09-12
  • 2014-03-11
  • 2012-02-08
相关资源
最近更新 更多