我正在为我的一个项目使用signapk版本。我用公共私钥对(.pk8和.pem)签署我的apk。
我的应用程序使用facebook单点登录机制,我需要在Facebook注册的签名证书的哈希值,以确保正确的应用程序启动单点登录过程。 Facebook提供了以下用于生成此哈希的示例代码:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore
| openssl sha1 -binary
| openssl base64
我对如何从我用于签名的公钥,私钥对生成适当的哈希感到困惑。
此方法适用于您使用PK8 + PEM密钥对签名的APK。或者与任何其他(正确)签名的APK
keytool -printcert -file CERT.RSA
检查sha1字节openssl base64 -in sha1.bin -out base64.txt
所以,base64.txt包含APK的FB KeyHash
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!