質問

Facebook Android SDKを使用するために必要な重要なハッシュを取得する方法を理解できません。私は使えることを理解しました keytool これらのコマンドで:

  keytool -exportcert -alias [alias]
 -keystore [keystore] | openssl sha1 -binary | openssl enc -a -e

唯一の問題は、これをどこに挿入するかわからないことです。コマンドWindows(Win7)を試してみて、ファイルkeytool.exeを開いてみました。

役に立ちましたか?

解決

  1. OpenSSLからダウンロードしてインストールします http://slproweb.com/products/win32openssl.html Windows 32または64ビットに基づいています(注:最初のVisualC ++ 208をダウンロードしてインストールします。
  2. Windows PathにインストールされたOpenSSLのビンディレクトリを置きます。
  3. コマンドプロンプトを開き、c: users {user_name} .androidに移動します
  4. 今、このコマンドをCMDに入れました」keytool -exportcert -alias androiddebugkey -keystore debug.keystore | opensSl sha1 -binary | OpenSSL Base64"。(参照 https://developers.facebook.com/docs/android/getting-started#samples)
  5. 次に、二重の引用なしでパスワード「Facebook」を入力します。
  6. これで、ハッシュキーが生成されますenter image description here
  7. 最後に、Facebook開発者サイトにアクセスします。 Facebookにログインしていることを確認してください。トップライトのドロップダウンメニューを使用して、「開発者設定」に移動してください。
  8. 開発者の設定に陥ったら、左側のナビゲーションから「サンプルアプリ」を選択し、キーハッシュをプロファイルに追加して保存します。enter image description here

他のヒント

Open SSLからインストールできます ここ 、それがあなたのコマンドを機能させるはずです

バッチスクリプトを作成しました FacebookKeyDebug.bat, 、望ましいFacebookキーハッシュを返します。スクリプトを編集し、正しいパス、キーストア名を設定して実行するだけです。

:: Getting Android key hash for Facebook app on Windows
:: Requirement: OpenSSL for Windows (http://code.google.com/p/openssl-for-windows/downloads/list)
:: Usage: set paths and run facebookkeydebug.bat

@echo Exporting keystore cert
keytool -exportcert -alias androiddebugkey -keystore C:\Users\myusername\.android\debug.keystore -storepass android -keypass android > debug.keystore.bin

@echo Converting to sha1
C:\PROGRAMS\openssl-0.9.8k_X64\bin\openssl sha1 -binary debug.keystore.bin > debug.keystore.sha1

@echo Converting to base64
C:\PROGRAMS\openssl-0.9.8k_X64\bin\openssl base64 -in debug.keystore.sha1 -out debug.keystore.base64

@echo Done, Android hash key for Facebook app is:
C:\PROGRAMS\openssl-0.9.8k_X64\bin\openssl base64 -in debug.keystore.sha1
@pause

編集:Windowsで署名してCERTキーを取得するためのバッチスクリプトを含むレポを公開しました。 https://github.com/petrnohejl/android-scripts

以下のコードを使用して、ハッシュキーを取得できます。

try {

   PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);

   for (Signature signature : info.signatures) 
   {
    MessageDigest md = MessageDigest.getInstance("SHA");
    md.update(signature.toByteArray());
    Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
   }

  } catch (NameNotFoundException e) {
   Log.e("name not found", e.toString());
  } catch (NoSuchAlgorithmException e) {
   Log.e("no such an algorithm", e.toString());
  }

参照 :

http://limbaniandroid.blogspot.com/2013/04/how-to-get-hash-key-for-integarte.html

物事を簡単にするために -

keytool.exe -list -alias androiddebugkey -keystore debug.keystore -v

これにより、OpenSSLをインストールする手間なしで、必要な指紋が必要になります。

例えば

Certificate fingerprints:
         MD5:  1A:5E:AA:CB:1A:CF:68:F0:8B:DA:D8:BC:EE:4F:BF:EE
         SHA1: D2:89:D1:5A:BC:F8:E3:E5:62:4D:DD:20:DD:96:CD:AB:51:A1:C1:7F
         Signature algorithm name: SHA1withRSA
         Version: 3

これは、キーストアからキーハッシュを取得する方法の例です。

まず、次の道を取得する必要があります。

Java Path:c:プログラムファイル java jdk1.6.0_35 jre bin

SSLパスを開く:c: openssl-win32 bin

(インストール: http://www.openssl.org/)

キーストアパス:c: data android keystore

2)次に、コマンドラインに移動して入力します。

CD [Java Path

3)次に入力します。

keytool.exe -exportcert -alias [airas name] -keystore [keystore path] debug.keystore | [SSLパスを開く] openssl sha1 -binary | [SSLパスを開く] bin openssl base64

4)キーストアのパスワードが必要であり、次に Hash Key Androidキーストアに関連しています。

enter image description here

これは、設定方法のドキュメントです Key Hash にとって Facebook:

https://developers.facebook.com/docs/android/getting-started#release-key-hash

コマンドプロンプトウィンドウを開く必要があります。 start-> runに移動して「cmd」と入力し、Enterを押します。次に、フォルダーに移動する必要があります keytool IS(あなたの道にない限り)、そしてそのコマンドを入力します。

つまり、そのコマンドはLinuxではなくWindows用であると仮定します。

最良の方法は、コードを使用してキーハッシュを生成することです。

 public static void generateKeyHash(Context context) {
    try {
        PackageInfo info = context.getPackageManager().getPackageInfo(
                "com.example.user2.testapp",
                PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
        }
    } catch (PackageManager.NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {

    }
}

この方法を一度呼び出して、キーハッシュを生成してください。お楽しみください

c:プログラムファイル java jdk1.6.0_22 bin keytool.exe -exportcert -alias "typeyouraliasname" -keystore of your keystore | c: openssl -win32 bin openssl sha1 -binary | c: openssl-win32 bin openssl base64

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top