我在本地计算机上生成证书时遇到以下错误。
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版本存在一些问题。我在我的同事机器上运行了相同的命令,它运行正常。
请分享您的意见。
答案 0 :(得分:197)
我使用cacerts keystore的默认密码解决了它:'changeit'
答案 1 :(得分:114)
空密码在我的mac中运行。 (在终端粘贴以下行)
keytool -list -v -keystore ~/.android/debug.keystore
提示
时Enter keystore password:
只需按下输入按钮(不要输入任何内容)。它应该可以工作。
请确保其为默认debug.keystore
文件,而不是基于项目的密钥库文件(密码可能会因此而更改)。
适用于MacOS Sierra 10.10+。
我听说,它也适用于linux环境。我还没有在linux上测试过。
答案 2 :(得分:77)
根据您的描述,我假设您使用的是Windows机器,而您的家是abc
所以现在:原因
运行此命令时
keytool -genkey -alias tomcat -keyalg RSA
因为你没有指定一个显式的密钥库,它会尝试生成(在你的情况下因为要获得异常以便更新)密钥库C:\users\abc>.keystore
,当然你需要为.keystore提供旧密码相信你提供的是你的版本(新版本)。
<强>解决方案强>
从.keystore
位置删除C:\users\abc>
并尝试命令
或尝试以下命令创建一个新的xyzkeystore:
keytool -genkey -keystore xyzkeystore -alias tomcat -keyalg RSA
注意: -genkey
现在已经过时而不是使用-genkeypair
,但两者同样有效。
答案 3 :(得分:7)
使用changeit作为密码也很重要。
这个命令最终对我有用(带码头):
keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass changeit -validity 360 -keysize 2048
答案 4 :(得分:7)
在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查看所有属性
答案 5 :(得分:4)
适用于Windows
打开命令提示符(按Windows键+ R,然后在出现的对话框中键入“cmd”,不带引号,然后按Enter键)。
然后在下面键入代码嗅探:
然后输入以下命令
然后它会立即询问密钥库密码。默认密码是 “android”键入并输入或只需输入“DONT TYPE ANY PASSWORD”。
答案 6 :(得分:3)
检查您的主文件夹~/.gradle/gradle.properties
。有时,如果您在主目录中有gradle.properties
,则会从中获取详细信息。您可以更改或删除文件。然后它将从您的本地文件夹中获取所需的详细信息。
答案 7 :(得分:2)
空密码在我的 Mac 上对我有用
keytool -list -v -keystore ~/.android/debug.keystore
按回车键,然后显示给你
Enter keystore password:
这里只需按 Enter 键输入空密码
答案 8 :(得分:2)
答案 9 :(得分:2)
我已经使用默认密码“ changeit ”解决了这个问题。
答案 10 :(得分:1)
如果您正在按照本指南Build and release an Android app来签署Flutter App,并遇到此错误。希望这个答案对您有所帮助。
就我而言,我更改了存储key.jks的路径。发生这种情况是因为我在该路径中存在一个现有文件。
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
此命令将key.jks文件存储在主目录中。要将其存储在其他位置,请更改传递给-keystore参数的参数。
就我而言,
keytool -genkey -v -keystore /Users/Y/Desktop/X/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias keyYour
即 Y -用户名和 X -文件夹名
然后将提示您输入密钥库密码:和重新输入新密码:。在这里您可以使用所需的任何密码。
但是,请将密钥库文件保持私有状态;不要将其检入公共源代码控制中!
答案 11 :(得分:0)
刚刚从 4.0 升级到 Android Studio 4.2。显然,Android Studio 悄悄地更改了我的密钥库密码,该密码在一年多的时间里一直保持不变并且完美运行,没有发生任何事故。
只需要重新租用两个密码。
叹息
答案 12 :(得分:0)
就我的Xamarin Forms 4.7和Visual Studio 2019 16.7.0 Preview 3.1而言,问题是最近更新的Android Build工具(apksigner)和JDK的版本不匹配。将JDK更新到最新版本,并在“工具”->“选项”->“ Xamarin”->“ Android设置”中指向新的JDK路径,并且可以使用。
答案 13 :(得分:0)
对我来说,我通过将密码从阿拉伯字母更改为英语字母来解决此问题,但首先我进入了该文件夹并删除了生成的密钥,然后它就可以使用了。
答案 14 :(得分:0)
[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>
注意:-在Export Pasworrd上方写下任何地方,因为必须创建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".
答案 15 :(得分:0)
我通过删除输出文件并再次运行命令来解决此问题。事实证明,它不会覆盖以前的文件。更新我们的tomcat加密证书时遇到了这个问题
答案 16 :(得分:0)
就我而言,我需要具有root
访问权限。
答案 17 :(得分:0)
keytool错误:java.io.IOException:Keystore被篡改,或密码错误
当我将密钥库路径 C:\ MyWorks \ mykeystore 更改为 C:\ MyWorks \ mykeystore.keystore 时,我解决了我的问题。
答案 18 :(得分:0)
总结本页的建议,我完成了以下工作:
keytool -genkeypair -keystore ~/.android/release.keystore -alias <my_alias> -storepass <my_cert_pass> -keyalg RSA
然后我得到了一些关于别名的名称,组织,位置和密码的问题。