我想在 tomcat 6 中激活 https。当我导入 SSL 证书时,出现以下错误:
keytool error: java.lang.Exception: Input not an X.509 certificate
我该如何解决这个错误?
当我尝试将 .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
我遇到了同样的问题,实际问题是行尾字符,证书文件不应包含行尾字符。解码后的字符串应该在一行中。
例如。如果您的 cer 文件包含如下所示的字符 -----开始证书----- SSFDsdfsSDfsGSDFasdfSFADsdSDFSsdf FGHJFGHfghRTURTYUTRYyrtRTYTRYRTYR ASDFRTYRttyrtyRtryrTRYrtyrTYRYrt werWERWer#$%&EEFGERedfgre$%#dfg^# -----结束证书-----
将其更改为
-----开始证书-----
SSFDsdfsSDfsGSDFasdfSFADsdSDFSsdfFGHJFGHfghRTURTYUTRYyrtRTYTRYRTYRASDFRTYRTrtyrtyRTryrTRYrtyrTYRYrtwerWERWer#$%&EEFGERedfgre$%#dfg^#
-----结束证书-----
没有额外的行或列。希望能帮助到你。