【问题标题】:Keytool generates SHA1 fingerprint instead of MD5?Keytool生成SHA1指纹而不是MD5?
【发布时间】:2012-03-11 10:14:30
【问题描述】:
我想在我的应用程序中使用 Google 地图,我已按照 this 教程生成我的 eventappkey.keystore 的 MD5 指纹。但是 keytool 会生成 SHA1 指纹而不是 MD5,因此我无法注册 Google Api,因为 google 接受密钥库的 MD5 指纹。
我查看了其他建议使用 jdk1.6 的答案。但是有没有更好的方法让我不需要迁移到jdk1.6。任何建议将不胜感激。
【问题讨论】:
标签:
java
android
md5
sha1
keytool
【解决方案1】:
如果您在命令行中添加 -v(详细)选项,例如
keytool -v -list -alias alias_name -keystore my-release-key.keystore
它应该会显示 MD5 指纹
【解决方案2】:
如果使用android studio,那么使用这个方法:
【解决方案3】:
Syntax:
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
Example:
C:\Program Files\Java\jdk1.7.0_71\bin>keytool -list -v -keystore c:\users\your_u
ser_name\.android\debug.keystore -alias androiddebugkey -storepass android -keyp
ass android
keytool error: java.lang.Exception: Keystore file does not exist: c:\users\your_
user_name\.android\debug.keystore
java.lang.Exception: Keystore file does not exist: c:\users\your_user_name\.andr
oid\debug.keystore
at sun.security.tools.KeyTool.doCommands(KeyTool.java:738)
at sun.security.tools.KeyTool.run(KeyTool.java:340)
at sun.security.tools.KeyTool.main(KeyTool.java:333)
C:\Program Files\Java\jdk1.7.0_71\bin>keytool -list -v -keystore C:\Users\sriniv
as\.android\debug.keystore -alias androiddebugkey -storepass android -keypass an
droid
Alias name: androiddebugkey
Creation date: Apr 8, 2015
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4e7c69e7
Valid from: Wed Apr 08 15:17:20 IST 2015 until: Fri Mar 31 15:17:20 IST 2045
Certificate fingerprints:
MD5: 9D:C3:05:CB:FF:CA:06:31:8C:FC:FE:44:6C:94:BC:90
SHA1: 2F:88:EF:9D:1B:3E:35:87:18:7D:56:B5:95:83:9A:EF:C1:B3:25:B4
SHA256: 0F:D2:BC:2C:58:1B:16:3D:E3:5C:76:7D:C3:49:3A:A0:9D:95:4E:3E:6B:
71:0B:F7:2B:23:72:54:B8:57:62:A2
Signature algorithm name: SHA256withRSA
Version: 3