クライアントの認証

特定の Google Play サービス(Google ログインやアプリ招待など)では、アプリの OAuth2 クライアントと API キーを作成できるように、署名証明書の SHA-1 を指定する必要があります。

Play アプリ署名を使用する

Play App Signing を使用してアプリを公開した場合(Android App Bundle を使用する場合は必須です)、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 でのデジタル署名の詳細については、アプリに署名するをご覧ください。