我在本地机器上生成证书时出现以下错误。
C:\Users\abc>keytool -genkey -alias tomcat -keyalg RSA
Enter keystore password:
keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect
我认为jdk版本有一些问题。我在我同事的机器上运行了同样的命令,它工作得很好。
请分享你的意见。
我在本地机器上生成证书时出现以下错误。
C:\Users\abc>keytool -genkey -alias tomcat -keyalg RSA
Enter keystore password:
keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect
我认为jdk版本有一些问题。我在我同事的机器上运行了同样的命令,它工作得很好。
请分享你的意见。
当前回答
在tomcat 8.5中注意写正确的属性名。这是我在server.xml上的代码:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/keystore" certificateKeystorePassword="mypassword" type="RSA"/>
</SSLHostConfig>
</Connector>
您可以访问https://tomcat.apache.org/tomcat-8.5-doc/config/http.html查看所有属性
其他回答
总结这一页的建议,我总结出如下内容:
keytool -genkeypair -keystore ~/.android/release.keystore -alias <my_alias> -storepass <my_cert_pass> -keyalg RSA
然后我得到了一组关于我的别名的名称、组织、位置和密码的问题。
使用changeit作为密码也很重要。
这个命令终于对我有用了(使用jetty):
keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass changeit -validity 360 -keysize 2048
如果您已经有了.store文件,则必须使用与生成该文件时相同的密码。所以我的解决方案是:
rm *.store
rm *.cer
这可能听起来很奇怪,但我只是想了解keytool和我的源代码控制我的教程文件和重新运行他们以后!
java.io.IOException:密钥库被篡改,或者密码不正确
当我将密钥库路径C:\MyWorks\mykeystore更改为C:\MyWorks\mykeystore.keystore时,我解决了这个问题。
我通过使用cacerts keystore的默认密码来解决这个问题:'changeit'