admin管理员组文章数量:1654021
先说原因是什么,之前百度,谷歌,CSDN上也搜过,搜到最多的答案是server.xml中缺少指定keyAlias=xxx,但是试了以后会发现还是报这个错,只是报错由Alias name [null] does not identify a key entry变成了Alias name [xxx] does not identify a key entry。后来从公司内网看到一个帖子才知道,原来是因为我使用keytool生成的证书有问题,里面只存在公钥,而没有私钥。
我是直接使用下面命令直接将cer证书转为jks证书
keytool -import -alias xxxCert -file xxx.cer -keystore xxx.jks
问题是cer证书只包含证书公钥,而没有私钥,导出的jks证书只包含公钥而没有私钥
使用keytool -list -keystore xxx.jks
会显示证书类型是 trustedCertEntry
正确做法应该是先使用cer证书和私钥key生成p12证书,再由p12转为jks
openssl pkcs12 -export –out xxx.p12 -in xxx.cer -inkey xxx.key
keytool -importkeystore -srckeystore xxx.p12 -srcstoretype pkcs12 -destkeystore xxx.jks -deststoretype JKS
然后再次查看证书信息显示是PrivateKeyEntry
PrivateKeyEntry,为私钥,配置在tomcat的server.xml(CAS服务端)
trustedCertEntry,为公钥,配置在jdk(应用服务端)
版权声明:本文标题:Tomcat启动Alias name [null] does not identify a key entry报错分析,涉及从公钥(CER)+私钥(KEY)转换为jks证书的方法 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1729649123a1208826.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论