Android デベロッパーが独自の署名鍵を管理している場合、SHA-256 証明書フィンガープリントがアプリの一意の暗号 ID となります。このガイドでは、このフィンガープリントを署名済み APK ファイルまたは元のキーストアから取得する 3 つの方法について説明します。
APK ファイルから SHA-256 を取得する
この方法は、最終的な署名済み APK ファイルはあるが、元のキーストアやそのパスワードに簡単にアクセスできない場合に便利です。
方法 1A: apksigner を使用する(APK の場合に推奨)
apksigner ツールは、V1、V2、V3、V4 のどの署名スキームを使用しているかに関係なく、APK から署名情報を抽出できる最も新しく信頼性の高い方法です。
ステップ 1: apksigner を探す
(例: /Users/username/Library/Android/sdk/build-tools/34.0.0/apksigner)
ステップ 2: コマンドを実行する
ターミナルまたはコマンド プロンプトを開き、APK が保存されているディレクトリに移動して、以下のコマンドを実行します。
apksigner verify --print-certs <path/to/your/app.apk>
ステップ 3: SHA-256 フィンガープリントを探す
コマンドの出力として、各署名者の証明書の詳細が表示されます。SHA-256 ダイジェスト ラベルを探します。
署名者 #1 の証明書 SHA-256 ダイジェスト:
a32a43cd459f7ce6b82c552f5d876989d53e6af1c0b2d35fb677b51a1dc4f0e5
コロンで区切られた 16 進数の長い文字列が SHA-256 証明書フィンガープリントです。
方法 1B: APK で keytool を使用する
ステップ 1: keytool と APK を探す
keytool ユーティリティ(JDK インストールの一部)と署名済み APK ファイルの両方の場所を把握しておく必要があります。
ステップ 2: コマンドを実行する
以下のコマンドを使用して、署名済み APK ファイルをキーストアとして指定します。
keytool -printcert -jarfile <path/to/your/app.apk>
ステップ 3: SHA-256 フィンガープリントを探す
出力に含まれる [Certificate fingerprints] セクションで、SHA-256 の行を探します。
キーストア ファイルから SHA-256 を取得する
これは、オペレーティング システムでソースのキーストア ファイルから証明書フィンガープリントを抽出するための事実上の標準的な方法です。
これは、オペレーティング システムでソースのキーストア ファイルから証明書フィンガープリントを抽出するための事実上の標準的な方法です。
方法 2: 標準の keytool ユーティリティを使用する
ステップ 1: ツールとキーストア ファイルを探す
以下のものが必要です。
- キーストア ファイル: アプリの署名に使用したファイル(.jks または .keystore)。そのパス、パスワード、保存されている鍵のエイリアス名を把握しておく必要があります。
- keytool ユーティリティ: このツールは Java Development Kit(JDK)に含まれています。
| オペレーティング システム | keytool の場所 |
| Windows | 通常は JDK インストールの bin ディレクトリ(C:\Program Files\Java\jdk-xx\bin\ など)にあります。 |
| macOS / Linux | JDK をインストールすると、通常はターミナルで直接使用できるようになります。 |
ステップ 2: 正しい場所に移動する
ターミナルまたはコマンド プロンプトを開きます。次のステップでの手間を省くため、キーストア ファイルが含まれているディレクトリに移動します。
# 例: 実際のパスに置き換えてください
cd /path/to/your/keystore/directory
ステップ 3: コマンドを実行する
以下のコマンドを使用して、keytool に詳細モードで証明書の詳細を表示するよう指示します。
注: keytool が認識されない場合は、ユーティリティのフルパス(「/path/to/jdk/bin/keytool」など)を指定する必要があります。
keytool -list -v -keystore [your_keystore_name.jks] -alias [your_key_alias]
- [your_keystore_name.jks] には、実際のファイル名を指定します。
- [your_key_alias] には、署名鍵の特定のエイリアス名(mykey など)を指定します。
ステップ 4: SHA-256 フィンガープリントを探す
キーストアのパスワードの入力を求めるメッセージが表示されます。パスワードを入力すると、証明書の詳細が表示されます。
証明書フィンガープリントのセクションを探します。
証明書フィンガープリント:
SHA1: XX:XX:XX:XX:XX:...
SHA256: 0A:B3:C6:D9:E2:F5:81:B4:C7:D0:E3:F6:92:A5:B8:C1:D4:E7:F0:83:96:A9:BC:D1:E4:F7:03:96:A9:BC:D1:E4
Signature algorithm name: SHA256withRSA
...
「SHA256:」の横にあるコロンで区切られた 16 進数の長い文字列が、一般公開の SHA-256 証明書フィンガープリントです。