Facebook Android SDKのキーハッシュ
質問
Facebook Android SDKを使用するために必要な重要なハッシュを取得する方法を理解できません。私は使えることを理解しました keytool
これらのコマンドで:
keytool -exportcert -alias [alias]
-keystore [keystore] | openssl sha1 -binary | openssl enc -a -e
唯一の問題は、これをどこに挿入するかわからないことです。コマンドWindows(Win7)を試してみて、ファイルkeytool.exeを開いてみました。
解決
- OpenSSLからダウンロードしてインストールします http://slproweb.com/products/win32openssl.html Windows 32または64ビットに基づいています(注:最初のVisualC ++ 208をダウンロードしてインストールします。
- Windows PathにインストールされたOpenSSLのビンディレクトリを置きます。
- コマンドプロンプトを開き、c: users {user_name} .androidに移動します
- 今、このコマンドをCMDに入れました」keytool -exportcert -alias androiddebugkey -keystore debug.keystore | opensSl sha1 -binary | OpenSSL Base64"。(参照 https://developers.facebook.com/docs/android/getting-started#samples)
- 次に、二重の引用なしでパスワード「Facebook」を入力します。
- これで、ハッシュキーが生成されます
- 最後に、Facebook開発者サイトにアクセスします。 Facebookにログインしていることを確認してください。トップライトのドロップダウンメニューを使用して、「開発者設定」に移動してください。
- 開発者の設定に陥ったら、左側のナビゲーションから「サンプルアプリ」を選択し、キーハッシュをプロファイルに追加して保存します。
他のヒント
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キーストアに関連しています。
これは、設定方法のドキュメントです 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