キーストアとは

Androidのキーストアについて調べたのでメモ。

キーストアとは

キーストアとは「このアプリはこの人が作ったものですよ!」というのを証明するために使われるファイルで、アプリを作成する段階でアプリに埋め込まれるらしい。

俗に言う「デジタル署名」と呼ばれるもの。

Google Playで公開しているアプリをアップデートする場合は、このキーストアが同じアプリでないと同一のアプリとはみなされない。

▲Android StudioならGUIでキーストアがつくれるみたいです。

金庫の中に金庫が入ってるイメージ

キーストアは「金庫をしまうための金庫」みたいなイメージ。

まずキーストアに開けるには、キーストア自体のパスワードが必要。

そして無事キーストアを開けることができたら、今度はキーストアの中にある「どの金庫(エイリアスまたは秘密鍵などとも言う)を開けるか」を選んで、その金庫のパスワードを入力する。

それでやっとデジタル署名情報が取得できる、みたいな仕組みらしい。

 

つまり、キーストアを使うには

  • キーストアファイル
  • キーストアのパスワード
  • エイリアス名(これは選択制)
  • エイリアス名に対応したパスワード

の4つが最低限必要。

キーストア → 1つのアプリ

基本的に個人で複数のアプリを開発する場合は

  • アプリA:キーストアA(エイリアスA)
  • アプリB:キーストアA(エイリアスA)
  • アプリC:キーストアA(エイリアスA)

という感じで1つのキーストアと1つのエイリアスを使い回すのが普通らしいけど

のちのちアプリを譲渡したりするかもしれない場合は、アプリごとにキーストアを作っておいて、キーストアごと譲渡したりするケースもあるらしい。

キーストア → めちゃ大事

キーストア=めちゃくちゃ重要なファイルなので

絶対になくさないようにしなければいけない。

キーストアはなぜ必要なのか

プログラミング素人のワイ。以下のような疑問が浮かんだ。

そもそもAndroidアプリを配布しようと思ったらGoogle Play経由で配布することになるよね?

 

てことはGoogle Playにアプリをアップしようと思ったらGoogleアカウント(厳密にいうとGoogle Play Console)にログインする必要があるよね?

 

それってつまり、Googleアカウントにログインできるのは本人だけなわけでアップロードできている時点で100%本人がアップロードしたアプリという担保が取れるわけだから、キーストアとかいう仕組みいらなくね?

 

この疑問について調べたところ、以下のような記述を見つけた。

また、Playストアのような公の場にアプリを公開せず、自身のウェブサイトなどで直接apkファイルを公開するような形でアプリを配布する場合、ダウンロードした人はapkファイルから署名内容を確認することができます。それによって、サイトが乗っ取られて改ざんされたapkファイルが公開されているわけではない、という確認にはなるんじゃないですかね。そこまでする人もなかなかいないと思うけど。

引用:Android – Androidアプリの署名について|teratail

 

あーたしかに自分で配布するという手もあるのか。

たしかフォートナイトとかいうアプリも「Googleに手数料を取られるのがイヤだから」とかいう理由で、自社のウェブサイトで配布したりしてますよね↓。

参考:Android版『Fortnite』、Google Playを利用せず独自配信を発表。「30%の手数料が高すぎるから」 – Engadget 日本版

 

あと(これは自分の予想だけど)、アプリをアップデートされたAndroid端末側も「すでにインストールされているアプリと同一のものか」を判断するのにAppliction ID以外にキーストアも使ってたりするんじゃなかろうか。

Android
スポンサーリンク
この記事を書いた人
penpen

1991生まれ。
2019年くらいからフロントエンドエンジニアを目指している元アフィリエイターです💩

penpenをフォローする
penpenをフォローする
penpenメモ

コメント

タイトルとURLをコピーしました