Google Play App Signingで安全なAndroidの鍵管理
はじめに
最近ボドゲ部とKotlinの記事ばかりなので、Androidの記事も書く
Androidの署名について
Androidをリリースするには、署名する必要があります。 署名するための鍵は、keytoolで作成したり、Android Studioの署名機能を使います。
リリース用鍵は、一度Google Playでリリースすると変更することができません。
すなわち、 紛失した場合や盗まれてしまった場合は、リリースができなくなったり、偽アプリを作られてしまう危険があります
鍵は慎重に管理しなければなりません。
Play App Signing
アプリ署名鍵を管理する - Play Console ヘルプ
新たにGoogle Play Consoleに追加されたPlay App Signingの機能を使うと、鍵の管理が楽になるかもしれません。
注意:一度有効にすると戻すことができないので、注意が必要です
仕組みは、Google Playにリリース用鍵を預け、Google PlayにAPKをアップロード時は、アップロード用鍵で署名しアップロード、公開されるAPKは、預けておいたリリース用鍵に付け替えられてリリースされる。
つまり、アップロード鍵で署名しAPKをアップロード、リリース時は、リリース用鍵で署名されたものになる。
え?結局。それってリリース用鍵で署名がアップロード用鍵で署名に変わっただけで、なにが嬉しくなったのだろうか?
Google Play App Signingの旨味
リリース用鍵を管理しなくてよい
リリース用鍵を盗まれると、偽アプリを作れるようになってしまう。しかしこの鍵の管理が難しい。チームで共有するために、Git上にいれるのか、ファイルサーバーにいれるか、または、リリース用PCでローカルで保存しておき、ビルドするのか。
厳重に管理しようとすると、開発時に面倒になってしまうし、リポジトリにコミットするのもなんとなく怖い。
Google Play App Signingに、リリース用鍵の管理を任せておけば、管理しなくて楽になります。
鍵の紛失のリスクがなくなる
他の人から引継ぎをしたり、大昔のアプリを触ったりすると、リリース用鍵がない!なんてことがあったりします。
Google Play App Signing は、リリース用鍵の管理を任せておけば、鍵をなくす心配もない。そしてここが、リリース用鍵と大きく違う点なんですが
アップロード用鍵は、再登録することができます
鍵流出しちゃったかも(前任者がもっていった)や紛失してしまったときは、再度登録できるので、安心です。
ただし、再登録する場合はConsole上ではできず、Googleに連絡する必要があるため、気軽にできるものではありません。
Google Play Cosoleでの手順
1.Google Play Consoleにログインし、リリース管理から、アプリの署名に遷移する。
2.登録手順があるので、リリース用鍵とアップロード用鍵を登録する。
3.成功した場合は、リリース用鍵とアップロード用鍵のフィンガープリントが表示される
これ以降、APKをアップロードする場合は、 リリース用鍵ではなくアップロード鍵を用いて署名する
(リリース用鍵でAPKをあげるとエラーになる)
リリース鍵はこれ以降管理しなくても大丈夫だが、不安なら安全な場所に保存するなど。