最近,我在密钥库方面遇到了问题。我知道已经有很多关于这个问题的问题。我已经阅读了所有内容,然后疯狂地搜索了Google。
keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect
java.io.IOException: Keystore was tampered with, or password was incorrect
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:772)
at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55)
at java.security.KeyStore.load(KeyStore.java:1214)
at sun.security.tools.KeyTool.doCommands(KeyTool.java:885)
at sun.security.tools.KeyTool.run(KeyTool.java:340)
at sun.security.tools.KeyTool.main(KeyTool.java:333)
Caused by: java.security.UnrecoverableKeyException: Password verification failed
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:770)
... 5 more
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)
Version: 3.8.0
Build id: I20120502-2000
如果我很快输入密码,它有时会起作用。
似乎第一次打开Eclipse并输入密码使我可以使用密钥库。
显然,如果所有其他方法都失败了,我将不得不创建一个新的密钥库。我真的很想解决这个问题,除了重新发布新密钥外,我不确定现在该怎么办。
如果密钥无法正确恢复,我可能会在Github上开源。
特别感谢用户Erhannis!
这是我所做的:
该命令每次都会对我出错:
keytool -importkeystore -srckeystore old.keystore -destkeystore new.keystore -v
既然您告诉了我们我们可以从Java
Keystore(.jks)中提取私钥,那么我会更深入地研究并最终使用命令的变体。我跟踪了您在此处和此处发布的链接:
keytool -importkeystore -srckeystore old.keystore -destkeystore new.keystore -deststoretype pkcs12
提取私钥并存储为PKCS12之后,我认为应提取我的私钥并将其放回全新的Java密钥库中:
keytool -importkeystore -srckeystore new.keystore -srcstoretype pkcs12 -destkeystore final.keystore -deststoretype jks
我可能有同样的问题。我从来没有弄清楚为什么它会失败(尽管我想知道是否是因为密钥库密码短于6位数字),但是我能够将密钥复制到新的密钥库中,然后我将其重命名以替换旧的密钥库,然后神秘地工作了(使用新密码)。顺便说一句,需要密钥密码。工作https://security.stackexchange.com/a/3795,我做了以下工作:
keytool -importkeystore -srckeystore old.keystore -destkeystore new.keystore -v
Enter
要求我提供源密钥库密码时,请点击(保留空白)在仔细检查了新版本后,我将其复制到旧版本上。希望对你有帮助; 祝好运。
我试图为某些设备生成密钥时出错。我能够在运行4.4.2的三星Galaxy Note上重现错误。 我创建了一个小应用程序,只能通过从Android开发者页面“生成新私钥”下的https://developer.android.com/training/articles/keystore.html逐行复制代码来生成密钥 错误似乎发生在kpg.generateKeyPair(),在Android Key
我最近更新了android studio和它的插件,一切正常。但突然发生了这种事,我知道该怎么解决了。应用程序运行了,但出现了一些意想不到的行为。尝试同步gradle,卸载和重新安装更新,但似乎没有任何工作。
问题内容: 我希望有一种方法可以以编程方式访问Android设备上的中央信任密钥库。我知道存在,至少用于验证SSL连接等。它还带有一个方便的工具,用于添加证书,浏览等。(位于设置->位置和安全性->管理受信任的证书下) 我希望能够以编程方式从中检索公钥,以对文件等进行加密。 如果有可用的文档,似乎其他应用程序开发人员正在他们的应用程序中管理自己的密钥库,这似乎是多余的。 有任何想法吗? 问题答案:
我有一个密钥库,名为keystore。jks和意外添加了两个键。我必须使用键2制作一个签名的apk。因为我已经使用key2上传了一个apk,我想从keystore中删除Key1。jks。 签名的apk是使用Key1生成的,但我需要使用key2生成。 请帮帮我。提前谢谢。
Android Studio是否签署调试版本?如果是的话,它用来做这件事的密钥库在哪里?
我使用GF3.1.2.2,现在我需要为我的网络应用配置一个让加密SSL证书。在我用新的包括让加密证书的keystore.jks更改默认后,我的网络应用工作正常,但是管理控制台没有。 服务器。日志文件出现此错误是因为它需要默认的密钥存储。jks文件: [#| | 2016-05-17T11:31:15.344-0400 |严重| glassfish 3.1.2 | org.glassfish.adm