2011-03-15 95 views
3

我为我的一个项目使用signapk版本。我使用公钥,私钥对(.pk8 &.pem)签名我的apk。如何从公钥私钥对检索Facebook的签名哈希?

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

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

我对如何从我的公钥,我使用的签名私钥对相应的哈希有点困惑。

+0

你有没有下载Open SSl? – Venky

+0

我正在使用mac os openssl已经安装,并且我没有在上面的代码中看到错误。我根本没有密钥库文件。 – Janusz

回答

-1

下载Open SSl并安装在你的电脑。检查这个我问这个问题已经有一些答案为Question ..

+0

我的机器上有openssl。而你的问题是关于从密钥库获取散列。我没有签名密钥库。 – Janusz

+0

http://www.londatiga.net/it/how-to-sign-apk-zip-files/ ..请检查这个链接.. – Venky

4

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

  1. 证书可以从* .apk文件被称为

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

      keytool -printcert -file CERT.RSA 
      

      检查SHA1字节

  2. 在SHA1指纹签名字节需要写sha1.bin(你可以使用一个十六进制编辑)

  3. 只是执行:

    openssl base64 -in sha1.bin -out base64.txt 
    

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