web-dev-qa-db-ja.com

FacebookのキーハッシュAndroid SDK

Facebook Android SDKを使用するのに必要なキーハッシュを取得する方法がわかりません。これらのコマンドでkeytoolを使用できることがわかりました。

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

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

44
Anders
  1. OpenSSLを http://slproweb.com/products/Win32OpenSSL.html からダウンロードしてインストールします(Windows 32ビットまたは64ビットに基づきます)(注:最初のビジュアルC++ 208再配布可能サイトからもダウンロードおよびインストールしてください)
  2. インストールされたOpenSSLのbinディレクトリをWindowsパスに配置します。
  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 Developerサイトにアクセスしてください。 Facebookにログインしていることを確認し、右上のドロップダウンメニューを使用して、「開発者設定」に移動します。
  8. 開発者の設定が完了したら、左側のナビゲーションから「サンプルアプリ」を選択し、プロファイルにキーハッシュを追加して保存します。 enter image description here
17
Pradyumna Swain

Open SSLを here からインストールできます。これにより、コマンドが機能します。

27
Gabe

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

:: 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で証明書キーに署名して取得するためのバッチスクリプトを含むリポジトリを公開しました: https://github.com/petrnohejl/Android-Scripts

20
petrnohejl

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

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

14
Rudi

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

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
8
O.P.S.S

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

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

Javaパス:C:\ Program Files\Java\jdk1.6.0_35\jre\bin

SSLパスを開く:C:\ OpenSSL-Win32\bin

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

キーストアパス:C:\ Data\Android\KEYSTORE \

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

cd [Javaパス]

3)次に入力:

keytool.exe -exportcert -alias [エイリアス名] -keystore [キーストアパス]\debug.keystore | [SSLパスを開く]\openssl sha1 -binary | [SSLパスを開く]\bin\openssl base64

4)キーストアのパスワードが必要で、その後、Androidキーストアに関連するHash Key]が必要です。

enter image description here

これは、FacebookKey Hashを設定する方法のドキュメントです。

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

3
Jorgesys

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

つまり、コマンドはLinux用ではなくWindows用であると想定しています。

1
Falmarri

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

 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) {

    }
}

このメソッドを一度呼び出してキーハッシュを生成し、楽しんでください

1
Pankaj kumar

C:\ Program Files\Java\jdk1.6.0_22\bin\keytool.exe -exportcert -alias "typeYouraliasname"-キーストアのキーストアの場所| C:\ OpenSSL-Win32\bin\openssl sha1 -binary | C:\ OpenSSL-Win32\bin\openssl base64

0
Aqib Butt