【问题标题】:facebook key hash, android keystore confusionfacebook 密钥哈希,android 密钥库混乱
【发布时间】:2012-01-30 23:41:24
【问题描述】:

keytool -exportcert -alias mykeystore -keystore mykeystore| openssl sha1 -binary | openssl base64

你好,我正在使用上面的命令来生成我的 facebook 密钥哈希。它询问我的密码并给我一个密钥哈希。我将此密钥哈希放在 facebook 应用程序设置中,但它不适用于我签名的 android 应用程序。

当我调试 android 应用程序时,我看到控制台消息说它无法识别“android key hash blahblahblah”,所以我将“blahblahblah”复制到 facebook 应用程序中,这很有效 - 我的 android 应用程序能够使用在调试模式下的 facebook 东西。但显然这仅适用于调试密钥库。现在,它生成的真正的密钥库仍然是错误的,所以我的应用程序的生产版本将无法使用 facebook api。

关于我的密钥库的一件事是它是在 eclipse 中创建的。它是一个包含两个密钥的密钥库。我注意到 eclipse 密钥库的行为与命令行密钥库不同,并且它们与签名不兼容。然而我已经发布了我的应用程序的一个版本,所以我需要使用我已经使用的密钥。

感谢您的洞察力。

【问题讨论】:

    标签: android eclipse facebook certificate keystore


    【解决方案1】:

    使用keytool -list 列出您拥有的别名。如果您不确定您使用哪一个来签署您发布的 APK,请尝试两者。一个应该工作。

    【讨论】:

    • 你能给我完整的命令吗?我做了keytool -list -keystore mykeystore,它要求我输入密码,然后显示证书指纹,格式为Certificate fingerprint (MD5): 2B:43:D7:57:.........,这不是facebook想要的格式。如何列出别名或其他内容,不知道如何继续
    • 使用 keytool -list -v -keystore 列出别名(检查“别名:...”)行,然后用这些替换原始命令中的别名。
    【解决方案2】:

    我遇到了同样的问题 - 调试哈希密钥有效,但生产密钥无效。我最终从与最初安装不同的来源安装 OpenSSL,重新创建了哈希键,并解决了问题。这是我使用 OpenSSL 的网站:http://gnuwin32.sourceforge.net/packages/openssl.htm

    【讨论】:

    • 老兄。你是一个救生员。其他每个帖子都是如何签名的。我已经这样做了,所以我有点绝望,因为我已经部署到 GooglePlay 并且我的一些 beta 测试人员变得讨厌。当我看到您的评论时,我立即点击了您的链接,并使用了该版本的 OPENSSL。
    【解决方案3】:

    如果在 Windows 上运行 Cygwin,请使用 cygpath 查找密钥库:

    keytool -exportcert -alias androiddebugkey -keystore $(cygpath -aw ~/.android/debug.keystore) | openssl sha1 -binary | openssl base64    Keystore-Kennwort eingeben:  android
    

    如果使用 /cygpath/c/Users/name/... 它将不起作用。

    【讨论】:

      猜你喜欢
      • 2014-01-30
      • 1970-01-01
      • 2013-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多