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

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

打开命令提示符(按Windows键+ R,然后在出现的对话框中输入“cmd”,不带引号,然后按Enter键)。

然后输入下面的代码嗅探:

cd C:\Program Files\Java\ jdk1.7.0_25\bin

然后输入以下命令

"C:/Documents and Settings/Your Name/.android/debug.keystore"

然后它将要求Keystore密码。默认密码为 “android”输入或只是点击输入“不要输入任何密码”。

其他回答

使用openjdk时,我也遇到了同样的问题。 当我把openjdk更新到“11.0.17”后,这个问题就消失了。

在我的情况下,我需要有根访问权限。

在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查看所有属性

 [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".

在我的Mac上,空密码是可行的

keytool -list -v -keystore ~/.android/debug.keystore 

按回车键,就会显示出来

Enter keystore password:  

在这里,只要按Enter键就可以获得空密码