9

我想在 tomcat 6 中激活 https。当我导入 SSL 证书时,出现以下错误:

keytool error: java.lang.Exception: Input not an X.509 certificate

我该如何解决这个错误?

4

2 回答 2

6

当我尝试将 .crt 文件导入 java 密钥库时,我遇到了类似的问题。

我可以通过以下步骤修复它:

生成 pkcs12 格式的密钥库:

在以下两个命令中输入您想要的密码:

openssl pkcs12 -export -name <domain_name> -in <certificate_name>.crt -inkey <certificate_name>.key -out keystore.p12

将 pkcs12 密钥库转换为 java 密钥库

keytool -importkeystore -destkeystore tomcat.jks -srckeystore keystore.p12 -srcstoretype pkcs12 -alias <domain_name>

检查您在密钥库中的证书:

keytool -list -v -keystore tomcat.jks
于 2014-09-19T03:03:48.097 回答
4

我遇到了同样的问题,实际问题是行尾字符,证书文件不应包含行尾字符。解码后的字符串应该在一行中。

例如。如果您的 cer 文件包含如下所示的字符
-----开始证书-----
SSFDsdfsSDfsGSDFasdfSFADsdSDFSsdf
FGHJFGHfghRTURTYUTRYyrtRTYTRYRTYR
ASDFRTYRttyrtyRtryrTRYrtyrTYRYrt
werWERWer#$%&EEFGERedfgre$%#dfg^#
-----结束证书-----

将其更改为

-----开始证书-----

SSFDsdfsSDfsGSDFasdfSFADsdSDFSsdfFGHJFGHfghRTURTYUTRYyrtRTYTRYRTYRASDFRTYRTrtyrtyRTryrTRYrtyrTYRYrtwerWERWer#$%&EEFGERedfgre$%#dfg^#

-----结束证书-----

没有额外的行或列。希望能帮助到你。

于 2014-10-29T19:35:01.073 回答