获取MD5指纹时出现问题

3
我尝试使用Java7生成MD5指纹来获取地图API密钥。我按照开发者页面上描述的方法进行操作。
"C:\Program Files\Java\jdk1.7.0\bin\keytool" -list -alias androiddebugkey -keystore C:\Users\username\.android\debug.keystore -storepass android -keypass android

问题是,我得到的是SHA1指纹而不是MD5。
androiddebugkey, 01.08.2011, PrivateKeyEntry, 
Certificate fingerprint (SHA1): xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx

任何想法为什么?谢谢您的帮助。
2个回答

4
有趣。好的,你可以使用这个命令获取完整的证书信息。
keytool -list -v -keystore C:\Users\username\.android\debug.keystore

你需要在提示时输入android作为密码。这将为您提供密钥库中的所有内容,应该只有一个证书,而不是寻找特定别名。它应该向您显示MD5和SHA1指纹。试试看并让我知道结果。
我唯一能想到的是jdk1.7的keytool与jdk1.6获取信息的方式不同(默认返回SHA1?)。这只是一个猜测,尚未验证,但这是我真正能想到的唯一事情。
编辑:看起来我的猜测可能是正确的。JDK 7更改keytool输出

我不会选择MD5withRSA,只选MD5。如果不行的话,我会直接运行我最初给出的命令,它应该列出两者(以及其他证书信息)。 - Otra
不幸的是,我的第一个建议命令怎么样?或者只需将-v加入原始命令中,如下所示:"C:\Program Files\Java\jdk1.7.0\bin\keytool" -list -v -alias androiddebugkey -keystore C:\Users\username\.android\debug.keystore -storepass android -keypass android - Otra
添加-v也有帮助。谢谢。 - Tima
非常感谢。keytool -list -v -keystore C:\Users\username.android\debug.keystore 命令帮助了我。 - user915303

0

好的,我用此答案解决了问题。

我将调用更改为"C:\Program Files\Java\jre6\bin\keytool",现在一切都正常了。


我想知道jdk1.7是否有某些特性会以不同的方式获取指纹。 - Otra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接