如何从公共私钥对中检索facebook的签名哈希?

问题描述 投票:3回答:3

我正在为我的一个项目使用signapk版本。我用公共私钥对(.pk8和.pem)签署我的apk。

我的应用程序使用facebook单点登录机制,我需要在Facebook注册的签名证书的哈希值,以确保正确的应用程序启动单点登录过程。 Facebook提供了以下用于生成此哈希的示例代码:

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore 
| openssl sha1 -binary
| openssl base64

我对如何从我用于签名的公钥,私钥对生成适当的哈希感到困惑。

android signing
3个回答
4
投票

此方法适用于您使用PK8 + PEM密钥对签名的APK。或者与任何其他(正确)签名的APK

  1. 证书可以从* .apk文件中获知 解压缩apk文件并解压缩META-INF \ CERT.RSA文件 执行: keytool -printcert -file CERT.RSA 检查sha1字节
  2. 写入sha1.bin需要sha1指纹签名的字节(可以使用十六进制编辑器)
  3. 只执行: openssl base64 -in sha1.bin -out base64.txt

所以,base64.txt包含APK的FB KeyHash


0
投票

Facebook哈希实际上是SHA1的base64编码。

因此,您必须从证书文件生成以.pem扩展名结尾的sha1!

从.pem文件获取SHA1的命令: - openssl x509 -fingerprint -in certificate.pem -noout

此命令将返回.pem文件的SHA1,将certicicate.pem替换为.pem文件的名称!...

成功获得SHA1之后现在您的任务是将SHA1编码为base64,并且有很多方法可以做到这一点,我推荐这个网站:

http://tomeko.net/online_tools/hex_to_base64.php?lang=en

去这个网站写你的SHA1,在最后一个文本框中,你将收到编码的base64,这是你的Facebook开发者应用程序的HASH!


-1
投票

下载Open SSl并安装到您的PC ..检查这个我问这个问题已经有一些Question的答案..

© www.soinside.com 2019 - 2024. All rights reserved.