keytool错误密钥库被篡改,或密码不正确

C4C*_*Exe 169 java keystore

我在本地计算机上生成证书时遇到以下错误.

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
Run Code Online (Sandbox Code Playgroud)

我认为在jdk版本中存在一些问题.我在我的同事机器上运行了相同的命令,它运行正常.

请分享您的意见.

小智 229

我通过使用cacerts keystore的默认密码解决了这个问题: 'changeit'

  • 我忘了这是'改变'......我在尝试'改变' (8认同)
  • 如果不起作用,默认密码是:android (5认同)
  • 哈哈..所以实际上它没有将密码更改为新密码,并且默认工作:D (2认同)

Zum*_*med 131

这个答案将有助于新的Mac用户(适用于Linux,Window 7 64位).

空密码在我的mac中工作.(在终端粘贴以下行)

keytool -list -v -keystore ~/.android/debug.keystore
Run Code Online (Sandbox Code Playgroud)

什么时候提示

Enter keystore password:  
Run Code Online (Sandbox Code Playgroud)

只需按下输入按钮(不要输入任何东西).它应该工作.

请确保它是默认debug.keystore 文件,而不是基于项目的密钥库文件(密码可能会因此而改变).

适用于MacOS Sierra 10.10+.

我听说,它也适用于linux环境.我还没有在linux上测试过.

  • 它也适用于Linux机器.谢啦兄弟 (6认同)
  • 谢谢。它适用于我的 Windows 10 调试密钥库 (3认同)
  • 我对尝试了多少密码感到尴尬哈哈 (3认同)
  • 也适用于我的Windows 7 64位. (2认同)

Kal*_*her 82

从你的描述我假设你在Windows机器上,你的家是abc

所以现在:原因

运行此命令时

keytool -genkey -alias tomcat -keyalg RSA

因为你没有指定一个显式的密钥库,它会尝试生成(在你的情况下因为你要获得异常以便更新)密钥库C:\users\abc>.keystore,当然你需要为.keystore提供旧密码,而我相信你提供你的版本(a新的一个).

  1. .keystoreC:\users\abc>位置删除并尝试命令

  2. 或者尝试以下命令创建一个新的xyzkeystore:

    keytool -genkey -keystore xyzkeystore -alias tomcat -keyalg RSA

注意: -genkey现在已经过时了而不是同时使用-genkeypair两种作品.

  • 我已经删除了现有的密钥库文件,然后按照命令 keytool -genkey -alias key0-keyalg RSA,然后它询问我新密码和其他数据,我给了。但是现在,当我尝试构建签名的 apk 时,它显示相同的错误消息 -“密钥库被篡改,或密码不正确”这里有什么问题? (2认同)

小智 15

我已经通过使用默认密码“ changeit ”解决了这个问题。


小智 10

在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>
Run Code Online (Sandbox Code Playgroud)

您可以访问https://tomcat.apache.org/tomcat-8.5-doc/config/http.html查看所有属性


Abe*_*hun 10

如果您正在按照本指南对 Flutter 应用程序进行签名,那么构建并发布 Android 应用程序并会遇到此错误。我希望这个答案对你有帮助。

\n

就我而言,我更改了存储 key.jks 的路径。这发生在我身上,因为我在该路径中有一个现有文件。

\n
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key\n
Run Code Online (Sandbox Code Playgroud)\n

此命令将 key.jks 文件存储在您的主目录中。要将其存储在其他位置,请更改传递给 -keystore 参数的参数。

\n

就我而言,

\n
keytool -genkey -v -keystore /Users/Y/Desktop/X/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias keyYour\n
Run Code Online (Sandbox Code Playgroud)\n

Y - 用户名和X - 文件夹名称

\n

然后系统将提示您输入密钥库密码:重新输入新密码:。在这里您可以使用任何您想要的密码。

\n

但是,请保持密钥库文件的私密性;不要\xe2\x80\x99t 将其签入公共源代码管理!

\n


tho*_*iha 7

使用changeit作为密码也很重要.

这个命令最终对我有用(带码头):

 keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass changeit -validity 360 -keysize 2048
Run Code Online (Sandbox Code Playgroud)


Abi*_*san 6

空密码在我的 Mac 上有效

keytool -list -v -keystore ~/.android/debug.keystore 
Run Code Online (Sandbox Code Playgroud)

按 Enter 然后它会告诉你

Enter keystore password:  
Run Code Online (Sandbox Code Playgroud)

这里只需按 Enter 键即可输入空密码


Ank*_*nha 5

检查您的主文件夹~/.gradle/gradle.properties。有时,如果您gradle.properties在主目录中,它会从那里获取详细信息。您可以更改它或删除文件。然后它将从您的本地文件夹中获取所需的详细信息。


Avi*_*nde 5

适用于 Windows

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

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

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

然后输入以下命令

  1. keytool -list -keystore "C:/Documents and Settings/你的名字/.android/debug.keystore"

然后它现在会要求输入密钥库密码。默认密码是“android”类型并输入或直接按输入“DONT TYPE ANY PASSWORD”。