我在本地机器上生成证书时出现以下错误。

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版本有一些问题。我在我同事的机器上运行了同样的命令,它工作得很好。

请分享你的意见。


当前回答

你有两个选择:

CMD在输入时不会在屏幕上显示密码 所以只要输入正确的密码——小心点——然后按回车。

或 只使用:

keytool -list -keystore 'keystoreName' -storepass 'type your keystore passwd'

对于Keys的完整信息,添加-v:

keytool -v -list -keystore 'keystoreName' -storepass 'type your keystore passwd'

其他回答

对我来说,我通过将密码从阿拉伯字母改为英语字母来解决这个问题,但首先我去文件夹并删除生成的密钥,然后它就工作了。

我通过删除输出文件并再次运行该命令来修复此问题。事实证明,它不会覆盖之前的文件。我在更新一个让我们用tomcat加密证书时遇到了这个问题

从你的描述中,我假设你用的是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,尽管这两个功能相同。

 [root@localhost Certificate]# openssl pkcs12 -export -in 
 /opt/Certificate/115c99f4c5aa98f5.crt -inkey /opt/Certificate/ravi.in.key -certfile 
/opt/Certificate/gd_bundle-g2-g1.crt -out RaviNew.p12

Enter Export Password: <Password>
Verifying - Enter Export Password: <Password>

注意:-上面导出密码写下来的任何地方,因为它是必须创建JKS文件(这是取决于你的选择什么密码你想做)

  keytool -importkeystore -srckeystore DigiEduNew.p12 -srcstoretype pkcs12 -destkeystore finaldigiEdu.jks -deststoretype JKS
  Importing keystore DigiEduNew.p12 to finaldigiEdu.jks...
  Enter destination keystore password: <Any Password >
  Re-enter new password: <Any Password >
  Enter source keystore password: <.P12 Password >
  Entry for alias 1 successfully imported.
  Import command completed:  1 entries successfully imported, 0 entries failed or 
  cancelled



 Warning:
 The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 
 which is an industry standard format using "keytool -importkeystore -srckeystore 
 finaldigiEdu.jks -destkeystore finaldigiEdu.jks -deststoretype pkcs12".

根据文档:

调试密钥库的默认密码是android。