Help us understand the problem. What is going on with this article?

Google Play App Signing

More than 1 year has passed since last update.

Google Play App Signing

by Shiozawa
1 / 20

内容

  • 準備:APK 署名の仕組み
  • いままでとこれから
    • いままで:app signing key の自己管理
    • これから:Google Play App Signing で管理
  • 作業手順
  • やってみる

APK の署名

  • 端末に APK をインストールするためにはデジタル署名が必要です。
  • Android システムが署名を検証します

仕組み

  • 開発者は pub/priv key-pair を保持
    • apk を priv key で署名
    • apk に pub key を添付(公開鍵証明書)
  • Andorid は apk に添付された公開鍵証明書で署名を検証
  • 署名が valid ならアプリを上書き更新

詳細

  • META-INF/CERT.SF
    • 各リソースパスとその SHA1 が含まれたファイル
  • META-INF/CERT.RSA
    • CERT.SF を署名したファイル(公開鍵も含む)
    • これを使って署名検証

openssl pkcs7 -inform DER -in scene/META-INF/CERT.DSA -noout -print_certs -text


用語

  • app signing key: アプリの署名に使う priv key のこと
  • keystore: priv key のバイナリ形式

何を防ぎたいか

  • APK の改竄
  • 開発者としての証明
    • ⇒ 他者アプリの上書きインストールの禁止

防いでないこと

  • app signing key 保持者の信頼性
    • 証明書は自己発行
  • 新規インストール時のアプリの信頼性

いままで


app signing key の自己管理

  • keystore (priv key) は自己管理
  • 紛失すると apk が二度とアップデートできない

図解

ref: https://developer.android.com/studio/publish/app-signing.html


これから:


Google Play App Signing

  • Google に app signing key を預ける
  • メリット
    • Google の最高セキュリティレベルで管理される
    • 鍵を紛失する心配をしなくていい
    • Google が署名できるので配布時に最適化可能

図解


ref: https://developer.android.com/studio/publish/app-signing.html


注意点など

  • 取り消せない

Step1: 利用規約に同意

  • Play Console を開く
  • Google Play App Signing の利用規約に同意する

Step2: App Signing Key のアップロード

  • Google の提供ツールで app signing key 自体を暗号化
  • Play Console からアップロード

Step3: アップロード鍵の登録

  • アップロード用の鍵(keystore)をローカルで生成
  • 公開鍵証明書を Play にアップロード
  • APK アップロード時にはこのアップロード鍵(keystore)を使う

アップロード鍵について

  • revoke 可能
  • 再発行可能(ただし手続きはかなり厳重)

やってみる

  • 実際にやってみる
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした