我正在为我的一个项目使用signapk版本。我用公共私钥对(.pk8& .pem)签署我的apk。
我的应用程序使用facebook单点登录机制,我需要在Facebook注册的签名证书的哈希值,以确保正确的应用程序启动单点登录过程。 Facebook提供了以下用于生成此哈希的示例代码:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore
| openssl sha1 -binary
| openssl base64
我对如何从我用于签名的公钥,私钥对生成适当的哈希感到困惑。
答案 0 :(得分:4)
此方法适用于您使用PK8 + PEM密钥对签名的APK。或者使用任何其他(正确)签名的APK
证书可以从* .apk文件中获知
执行:
keytool -printcert -file CERT.RSA
检查sha1字节
sha1指纹签名的字节需要写入sha1.bin(你可以使用十六进制编辑器)
执行:
openssl base64 -in sha1.bin -out base64.txt
所以,base64.txt包含APK的FB KeyHash
答案 1 :(得分: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开发人员应用程序的哈希值!。
答案 2 :(得分:-1)