Google Play App Signingで安全なAndroidの鍵管理

はじめに

最近ボドゲ部とKotlinの記事ばかりなので、Androidの記事も書く

Androidの署名について

Androidをリリースするには、署名する必要があります。 署名するための鍵は、keytoolで作成したり、Android Studioの署名機能を使います。

アプリに署名する | 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をあげるとエラーになる)

リリース鍵はこれ以降管理しなくても大丈夫だが、不安なら安全な場所に保存するなど。

参考