在离开安卓开发很长一段时间后,当我签署一个apk时,我很惊讶我再也不能输入一个空的密钥库密码来解锁它了。是不是只有我,或者这以前是可能的?如果是这样,什么时候发生了变化,我怎么才能解锁keystore呢?
一些背景知识:也许我只是疯了,以前没有为keystore使用空密码,但是我可以使用的唯一可能的密码也不起作用(我发誓,我不可能使用另一个密码!)。
发布于 2012-10-15 03:34:13
可以使用Java sdk中的keytool
操作密钥库。
尝试在密钥库上执行keytool,并使用空密码提取证书。之后,将其导入到新的密钥库中。这一次,使用真实的密码。
交换机-exportcert
将帮助您实现这一目标。
可能是您更新了java sdk,因此您无法输入空密码(由于该工具的某些安全升级)。在这种情况下,您可以尝试安装较旧的sdk并执行上述操作。
祝好运!
发布于 2012-10-16 22:49:56
您不能对密钥库使用空密码。
我检查了一下,就JDK1.3keytool不允许的情况,请参阅http://docs.oracle.com/javase/1.3/docs/tooldocs/win32/keytool.html,文档中明确指出:
storepass 的长度必须至少为6个字符。它必须提供给所有访问密钥库内容的命令。对于此类命令,如果在命令行中未提供-storepass选项,则会提示用户输入该选项。
为了好玩,我想尝试一下jdk 1.2中的keytool,并下载了它,因为它的文档没有说明密码是必需的,但我需要一个Windows NT机器来安装它!我绝对不认为Android曾经使用过这个keytool版本。
很抱歉,您可能忘记了密码,或者在大写锁定的情况下输入了密码,或者激活了错误的键盘布局。:(
编辑:
如果这不是布局问题,您可以尝试
密码:http://metastatic.org/source/JKS.java.
发布于 2012-10-17 11:31:51
您可以编写一个简单的Java程序来尝试使用您的密钥或列出别名,而不是使用keytool。应用编程接口应该(不是100% )允许您使用空(""
)密码。
您还可以尝试使用诸如portecle之类的第三方工具来列出/提取密钥。
https://stackoverflow.com/questions/12862655
复制相似问题