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

Jan*_*usz 3 android signing

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

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

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore 
| openssl sha1 -binary
| openssl base64
Run Code Online (Sandbox Code Playgroud)

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

小智 5

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

  1. 证书可以从*.apk文件中得知

    1. 解压apk文件并提取META-INF\CERT.RSA文件
    2. 执行:

          keytool -printcert -file CERT.RSA
      
      Run Code Online (Sandbox Code Playgroud)

      检查 sha1 字节

  2. 需要将 sha1 指纹签名处的字节写入 sha1.bin(可以使用十六进制编辑器)

  3. 只需执行:

    openssl base64 -in sha1.bin -out base64.txt
    
    Run Code Online (Sandbox Code Playgroud)

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