Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 密钥库和Android的签名问题_Java_Android_Code Signing_Keystore_Android Keystore - Fatal编程技术网

Java 密钥库和Android的签名问题

Java 密钥库和Android的签名问题,java,android,code-signing,keystore,android-keystore,Java,Android,Code Signing,Keystore,Android Keystore,所以我在市场上有一个Android应用程序,现在我需要更新它。我一直在尝试签下新的apk,但有困难 我拥有密钥库,并使用keytool-list-v-keystore deployment.keystore验证了它包含正确的证书。密钥库没有密码,不记得这样做了,但现在就可以了。如果我输入了任何内容,就会得到一个错误,如果我没有输入,它就会接受命令并列出包含的证书 现在的问题是,当尝试在Eclipse中使用导出向导导出apk文件时,不允许我在密钥库上没有密码,因此我无法获取其中的凭据。因此,我尝试

所以我在市场上有一个Android应用程序,现在我需要更新它。我一直在尝试签下新的apk,但有困难

我拥有密钥库,并使用
keytool-list-v-keystore deployment.keystore
验证了它包含正确的证书。密钥库没有密码,不记得这样做了,但现在就可以了。如果我输入了任何内容,就会得到一个错误,如果我没有输入,它就会接受命令并列出包含的证书

现在的问题是,当尝试在Eclipse中使用导出向导导出apk文件时,不允许我在密钥库上没有密码,因此我无法获取其中的凭据。因此,我尝试运行以下命令,试图更改keystore
keytool-storepasswd-keystoredeployment.keystore
上的密码。我被要求输入密码,但无论是空字符串密码还是我要设置的新密码都不被接受。如果其长度小于6个字符,我会再次收到提示,如果其长度大于6个字符,我会收到以下错误:
keytool错误:java.io.IOException:Keystore被篡改,或者密码不正确

现在,我不知所措,并寻求集体知识,以便帮助我

更新:我现在已导出证书,然后将其再次成功导入新密钥库。现在的问题是,当我尝试签名时,Eclipse中出现了
未处理的事件循环异常。有什么想法吗

更新2:尝试通过终端登录以避免Eclipse引发的异常带来了新的问题。我正在尝试以下操作:
jarsigner-verbose-sigalg MD5withRSA-digestalg SHA1-keystore new.keystore myApp.apk myAlias
。我的新密钥库中只有证书,但没有私钥,因此我一直在尝试通过运行
keytool-importkeystore-srckeystore deployment.keystore-destkeystore-myKeystore.p12-deststoretype PKCS12将它们作为p12从旧密钥库导出

现在我得到以下警告:

*********警告警告*********

存储在srckeystore中的信息的完整性* *还没有被证实!为了验证其完整性* *您必须提供srckeystore密码

*********警告警告*********

现在,这会提示我输入srckeystore的密码,即空字符串。这是一个我好像掉进的圈套洞

更新3: 现在,我通过使用命令
-storepass
成功地更改了原始密钥库密码。但是,现在提示我输入密钥库中实际私钥/公钥对的密钥传递。我不记得设置了这些,即使我读到
它们默认为密钥库密码,如果没有设置
,它们也不接受我输入的任何内容。我的搜索还在继续


-德累斯顿先生

在尝试了几件不同的事情之后,我们最终使用新密钥库中的新密钥重新发布了应用程序。谢天谢地,它只发布了几个小时,根本没有被推广,所以只有大约10个用户受到影响。对许多人来说,这仍然是个问题


在所有这些之后,我们已经开始设置Maven,所有发布都将在Maven服务器编译并签署应用程序之后完成。所有内容都已备份,所有密码都已记录,等等。

您是否尝试从控制台运行导出?也许在控制台中,您可以使用空白密码。。。否则该死:)好吧,我刚一贴出问题就想出了导出选项,这样就行了。我现在创建了一个新的密钥库,带有密码,并将证书导入其中。但现在我正试图用证书签名,我在Eclipse中得到了“未处理的事件循环异常”。。。真该死。下雨的时候就下倾盆大雨!您是否使用新的密钥库在控制台上尝试过它——可能是eclipse的问题?还可以尝试在eclipse中更新Android插件——也许有一个新版本可以使用?否则。。。该死的;-)尝试在控制台中执行此操作,但这带来了其他问题。在问题中列出了它们。我的日子肯定不好过>。