クライアントの認証

一部の Google Play 開発者サービス(Google ログインや App Invites など)では、アプリ用の OAuth2 クライアントと API キーを作成するために、署名証明書の SHA-1 の提供を求められます。

Play アプリ署名を使用する

Android App Bundle を使用する際の要件である Play アプリ署名を使用してアプリを公開している場合は、Google Play Console[リリース] > [設定] > [アプリの完全性] ページで SHA-1 を取得できます。

アプリケーションに自己署名する

Play アプリ署名を使用していない場合は、以下の手順に沿って Keytool または Gradle の署名レポートを使用して SHA-1 を取得します。

証明書で Keytool を使用する

ターミナルを開き、Java に付属の keytool ユーティリティを実行して、証明書の SHA-1 フィンガープリントを取得します。リリース用とデバッグ用の両方の証明書フィンガープリントを取得できるはずです。

リリース用証明書フィンガープリントを取得するには:

keytool -list -v \
-alias <your-key-name> -keystore <path-to-production-keystore>

デバッグ用証明書フィンガープリントを取得するには:

Mac/Linux
keytool -list -v \
-alias androiddebugkey -keystore ~/.android/debug.keystore
Windows
keytool -list -v \
-alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore

キーストアのパスワードの入力を求めるプロンプトが表示されます。デバッグ キーストアのデフォルトのパスワードは android です。その後、keytool によってフィンガープリントがターミナルに出力されます。次に例を示します。

Certificate fingerprint: SHA1: DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09

APK または AAB での Keytool の使用

アプリケーション バイナリの証明書を取得するには:

# APK file
keytool -printcert -jarfile app.apk

# AAB file
keytool -printcert -jarfile app.aab

Gradle の署名レポートを使用する

Gradle の signingReport コマンドを使用して、署名証明書の SHA-1 を取得することもできます。

./gradlew signingReport

署名レポートには、アプリの各バリアントの署名情報が含まれます。

> Task :app:signingReport
Variant: debug
Config: debug
Store: ~/.android/debug.keystore
Alias: AndroidDebugKey
MD5: A5:88:41:04:8D:06:71:6D:FE:33:76:87:AC:AD:19:23
SHA1: A7:89:E5:05:C8:17:A1:22:EA:90:6E:A6:EA:A3:D4:8B:3A:30:AB:18
SHA-256: 05:A2:2C:35:EE:F2:51:23:72:4D:72:67:A5:6C:8C:58:22:2A:00:D6:DB:F6:45:D5:C1:82:D2:80:A4:69:A8:FE
Valid until: Wednesday, August 10, 2044

Android でのデジタル署名について詳しくは、アプリに署名するをご覧ください。