我在本地机器上生成证书时出现以下错误。
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版本有一些问题。我在我同事的机器上运行了同样的命令,它工作得很好。
请分享你的意见。
当前回答
从你的描述中,我假设你用的是windows机器,你的家是abc
所以现在:原因
执行此命令时
keytool -genkey -alias tomcat -keyalg RSA
因为您没有指定显式的密钥存储库,它将尝试生成(在您的情况下,当您获得异常以便更新)密钥存储库C:\users\abc>。当然,您需要为.keystore提供旧密码,而我相信您正在提供您的版本(一个新版本)。
解决方案
删除C:\users\abc>目录下的.keystore,然后尝试执行该命令 或者尝试下面的命令,它将创建一个新的xyzkeystore: keytool -genkey -keystore xyzkeystore -alias tomcat -keyalg RSA . xml
注意:-genkey已经过时了,应该使用-genkeypair,尽管这两个功能相同。
其他回答
在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
然后我得到了一组关于我的别名的名称、组织、位置和密码的问题。
你有两个选择:
CMD在输入时不会在屏幕上显示密码 所以只要输入正确的密码——小心点——然后按回车。
或 只使用:
keytool -list -keystore 'keystoreName' -storepass 'type your keystore passwd'
对于Keys的完整信息,添加-v:
keytool -v -list -keystore 'keystoreName' -storepass 'type your keystore passwd'
如果您正在按照本指南为Flutter应用程序签名,则构建并发布Android应用程序并遇到此错误。我希望这个答案能帮到你。
在我的例子中,我改变了存储我的key.jks的路径。这发生在我身上,因为我在那个路径中有一个现有的文件。
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
该命令存储密钥。JKS文件在您的主目录。要将其存储在其他地方,请更改传递给-keystore参数的参数。
就我而言,
keytool -genkey -v -keystore /Users/Y/Desktop/X/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias keyYour
即Y -用户名和X -文件夹名
系统提示“Enter keystore password:”和“Re-enter new password:”。在这里你可以使用任何你想要的密码。
但是,要保持keystore文件的私密性;不要把它签入公共源代码控制!
java.io.IOException:密钥库被篡改,或者密码不正确
当我将密钥库路径C:\MyWorks\mykeystore更改为C:\MyWorks\mykeystore.keystore时,我解决了这个问题。