Android セットアップ & バックエンド 検証
インストール、同期、そしてこのプラグインのフルマークダウンガイドまでの全ステップを含む設定コマンドをコピーします。
インストール、同期、ソースマークダウンガイドを含む。
Androidネイティブシステム使用セクション「Androidネイティブシステム使用」 Google Play Integrity Standard API:
prepareIntegrityTokenduringprepare()requestStandardIntegrityToken中createAttestation()のcreateAssertion()
と
要件- AndroidアプリはGoogle Playエコシステムを通じて配布されます。
- デバイス上のGoogle Playサービスが利用可能です。
- Play Integrity APIがアプリに有効化されています。
- Google Cloudプロジェクト番号が設定されています。
Googleの設定
セクション「Googleの設定」- 有効 Play Integrity API Google CloudプロジェクトでアプリにPlay Integrityのアクセス権を設定してください。
- Play Consoleを開いてアプリのPlay Integrityアクセス権を設定してください。
- プラグインに提供
cloudProjectNumberプラグインに提供する必要があります。
Capacitor 設定
Capacitor 設定plugins: { AppAttest: { cloudProjectNumber: '123456789012', },}__CAPGO_KEEP_0__.config.ts cloudProjectNumber __CAPGO_KEEP_0__.config.ts
クライアントフロー
__CAPGO_KEEP_0__.config.tsimport { AppAttest } from '@capgo/capacitor-app-attest';
const { keyId } = await AppAttest.prepare({ cloudProjectNumber: '123456789012',});
const attestation = await AppAttest.createAttestation({ keyId, challenge: 'backend-registration-challenge',});
const assertion = await AppAttest.createAssertion({ keyId, payload: 'backend-request-payload',});token __CAPGO_KEEP_0__.config.ts
__CAPGO_KEEP_0__.config.ts
__CAPGO_KEEP_0__.config.ts登録(createAttestation)createAttestation)
登録(createAttestation)- バックエンドが一時
challenge. - アプリが
createAttestation({ keyId, challenge }). - バックエンドがGoogle
decodeIntegrityTokenAPI. - バックエンドが確認する
requestDetails.requestHash === base64url(SHA256(challenge))appIntegrity.packageNameAndroidアプリケーションIDが等しいappIntegrity.certificateSha256Digestリリース署名証明書のハッシュ値が含まれる- セキュリティポリシーに基づく完整性判定が一致する
保護要求(createAssertion)createAssertion)
保護要求(createAssertion)- バックエンドは一時的な
payload. - アプリは
createAssertion({ keyId, payload }). - バックエンドはトークンをデコードし、
requestHash === base64url(SHA256(payload)). - 再生防止(シングルユース + TTL)と完整性判定ポリシーを強制する。
Androidスキーマ
「Androidスキーマ」sequenceDiagram participant App as Android App participant Plugin as AppAttest plugin participant PlaySDK as Play Integrity SDK participant BE as Backend participant Google as decodeIntegrityToken API
App->>Plugin: prepare(cloudProjectNumber) Plugin->>PlaySDK: prepareIntegrityToken() PlaySDK-->>Plugin: provider handle (keyId)
BE->>App: one-time challenge App->>Plugin: createAttestation(keyId, challenge) Plugin->>PlaySDK: requestStandardIntegrityToken(requestHash) PlaySDK-->>Plugin: integrity token Plugin-->>App: token + platform + format + keyId App->>BE: token + challenge + keyId BE->>Google: decodeIntegrityToken(token) Google-->>BE: decoded payload BE->>BE: verify requestHash + app identity + verdicts
BE->>App: one-time payload App->>Plugin: createAssertion(keyId, payload) Plugin->>PlaySDK: requestStandardIntegrityToken(requestHash) PlaySDK-->>Plugin: integrity token App->>BE: token + payload + keyId BE->>Google: decodeIntegrityToken(token) Google-->>BE: decoded payload BE->>BE: verify requestHash + replay policy最小限のバックエンドペイロード契約
「最小限のバックエンドペイロード契約」登録:
{ "platform": "android", "format": "google-play-integrity-standard", "keyId": "string", "challenge": "string", "token": "string"}断言:
{ "platform": "android", "format": "google-play-integrity-standard", "keyId": "string", "payload": "string", "token": "string"}Androidセットアップとバックエンド検証から続ける
セクション: Androidセットアップとバックエンド検証から続ける使用している場合 Androidセットアップとバックエンド検証 セキュリティとコンプライアンスを計画するために使用している場合、 使用する@capgo/capacitor-app-attest 使用する@capgo/capacitor-app-attestのネイティブ機能 暗号化 暗号化の実装詳細 コンプライアンス コンプライアンスの実装詳細 Capgo セキュリティ スキャナー Capgo セキュリティ スキャナー製品ワークフロー向け Capgo セキュリティ Capgo セキュリティ製品ワークフロー向け