> For the complete documentation index, see [llms.txt](https://docs.payments.thalescloud.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.payments.thalescloud.io/nfc-wallet-sdk-android/ja/help/knowledge-base/compute-the-application-binding-key.md).

# アプリケーション バインディング キーを計算する

## 概要

で **NFCウォレット**、Android **アプリケーションバインディングキー** は `署名者の公開鍵 SHA-256 ダイジェスト`.

これは署名者の SHA-256 ハッシュです **公開鍵** アプリケーション署名証明書から抽出されます。

を取得します `署名者の公開鍵 SHA-256 ダイジェスト` 以下のオプションのいずれかを使用して取得し、得られた16進値を **Thales 配送チームと共有してください。**

これにより、登録された **デジタルウォレットアプリケーション**.

{% hint style="info" %}
署名の設定が環境ごとに異なる場合（例： **プレプロダクション**, **本番**).
{% endhint %}

印刷されたままのハッシュを正確に共有してください。区切り文字やスペースを追加しないでください。

署名の設定に一致するオプションを選択してください。詳細は [Android アプリの署名](https://developer.android.com/studio/publish/app-signing) を参照してください。

## オプション 1: 署名済みアプリケーションパッケージを調査する

これは最も簡単な方法です。作業ステーション上で署名済み APK にアクセスする必要があります。

について、 **本番**、多くの場合アプリを Google Play からインストールし、次に [テストデバイスから APK を抽出します](https://stackoverflow.com/questions/4032960/how-do-i-get-an-apk-file-from-an-android-device).

また、次が必要です `apksigner` Android SDK Build Tools の。例の場所: `%ANDROID_HOME%\build-tools\33.0.1\`.

アプリケーションパッケージが利用可能になったら、単一のコマンドで署名を確認できます。例えば:

```nushell
apksigner verify -v --print-certs Sample-sandbox-debug.apk
を検証します
v1 スキーム（JAR 署名）を使用して検証: false
v2 スキーム（APK Signature Scheme v2）を使用して検証: true
v3 スキーム（APK Signature Scheme v3）を使用して検証: false
v3.1 スキーム（APK Signature Scheme v3.1）を使用して検証: false
v4 スキーム（APK Signature Scheme v4）を使用して検証: false
SourceStamp に対して検証: false
署名者の数: 1
署名者 #1 証明書 DN: CN=D1
署名者 #1 証明書 SHA-256 ダイジェスト: 591411c6efdc32c0a48ebf023583af589a50fd34914b9277377954ecff91b325
署名者 #1 証明書 SHA-1 ダイジェスト: 2829a0da71747ae11cce49e77a361267f1abf58d
署名者 #1 証明書 MD5 ダイジェスト: d14c33afe4217372edfa4eea92ede878
署名者 #1 鍵アルゴリズム: RSA
署名者 #1 鍵サイズ（ビット）: 2048
署名者 #1 公開鍵 SHA-256 ダイジェスト: b8e36f1efe7e4c827aeb390fafbf500d971c7e09a0bb62f84cfbaf8e0c770496
署名者 #1 公開鍵 SHA-1 ダイジェスト: 3df52267537eebfed228f704af7ab02e54f47172
署名者 #1 公開鍵 MD5 ダイジェスト: 97fb0a170b1499956ead185500ea3738
```

からの値を使用してください `署名者 #1 公開鍵 SHA-256 ダイジェスト`.

上の例では、次を共有してください:

`b8e36f1efe7e4c827aeb390fafbf500d971c7e09a0bb62f84cfbaf8e0c770496`

## オプション 2: ローカルの Java キーストアファイルから取得する

以下の例は Thales の **プレプロダクション** トレーニングアプリに同梱されているキーストアを使用しています。

独自の署名鍵を使用してください **サンドボックス**, **プレプロダクション**、および **本番**.

### 手順 1: キーストアファイルを調査する

を使用して [Java keytool](https://docs.oracle.com/javase/8/docs/technotes/tools/unix/keytool.html) ユーティリティを使用して、次のようにキーストアファイルを調査できます:

```nushell
keytool -v -list -keystore <keystore file name>
```

例:

<figure><img src="/files/917016e76b69e6e1214aaf2b61e816a039a75ead" alt=""><figcaption><p>例: <code>keytool -list</code> キーストアの出力</p></figcaption></figure>

### 手順 2: 公開鍵証明書を抽出する

Java keytool を再度使用して、エイリアスで識別される特定のキーエントリの公開鍵証明書を抽出します。

コマンド:

```nushell
keytool -export -alias <key alias> -keystore <keystore file name> -rfc -file <output certificate file name>
```

例:

```nushell
c:\Temp>keytool -export -alias gto -keystore release.keystore -rfc -file public.cert
キーストアパスワードを入力:
証明書がファイル <public.cert> に保存されました
```

### 手順 3: ハッシュを取得する

Thales が提供した場合 `PKPinGenerator.jar`を使用して公開鍵ハッシュを生成します。

コマンド:

```nushell
java -jar PKPinGenerator.jar <前の手順で出力した証明書ファイル名>
```

例:

```sh
c:\Temp>java -jar PKPinGenerator.jar public.cert
**************************************************
** 公開鍵ハッシュジェネレータ **
**************************************************

公開鍵ハッシュ #1: E7F85A18D065DF41A3DD59ECB5FF5807CACABAE8DFACCDE12DB24BD658299C54
```

出力に表示されたハッシュを共有してください。

この例では:

`E7F85A18D065DF41A3DD59ECB5FF5807CACABAE8DFACCDE12DB24BD658299C54`

## オプション 3: Google Play のアプリ署名証明書から取得する

**手順 1: Google Play コンソールから証明書をダウンロードする**

<figure><img src="/files/cdcba53fa1b108f08f4c789bea4da4acd5854b9b" alt=""><figcaption><p>Google Play コンソールからアプリ署名証明書をダウンロードします</p></figcaption></figure>

**手順 2: 公開鍵とそのハッシュを抽出する**

同じ結果を得る方法はいくつかありますが、次のコマンドの順序で実行することを推奨します（を使用）: [OpenSSL](https://www.openssl.org/):

```sh
openssl x509 -in deployment_cert.der -inform DER -out deployment_cert.crt
openssl x509 -noout -in deployment_cert.crt -pubkey | openssl asn1parse -noout -inform pem -out deployment_cert.key
openssl dgst -sha256 -hex deployment_cert.key
SHA256(deployment_cert.key)= [Thales と共有する公開鍵ハッシュ]
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.payments.thalescloud.io/nfc-wallet-sdk-android/ja/help/knowledge-base/compute-the-application-binding-key.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
