Androidアプリapk/aabの署名確認

apk/aabが正しいキーストアで署名されたか確認したい場合がある。

署名後のapk/aabとキーストア (*.keystore, *.jks)のSHA256などのフィンガプリントを確認して 同じなことを確認する。
そうすれば、確かにそのキーストアでapkが署名されていることが確認できる。apkだけでなくaabの場合も同じはず。

Sponsored links

apkの確認 apksignerでapkの署名を確認

apkの方はapksignerを使って確認する
apksignerはAndroidSDKの適当なバージョンの下に入っている。
AndroidSDKの場所はAndroid Studio -> File -> Project Structure などの記載を探して、場所を見つける

自分のUbuntu環境の場合は以下にあって、
~/Android/Sdk
こんな構成、この中の適当なbuild-tools下の適当なバージョンのapksignerを使う。

~/Android/Sdk$ ls
build-tools  extras  licenses  platform-tools  skins    system-images
emulator     fonts   patcher   platforms       sources  tools

apkを指定して実行してみる

$ ~/Android/SDK/build-tools/28.0.2/apksigner verify --print-certs -v hogehoge.apk

以下の辺りを確認してkeystoreの方と比べる

Signer #1 public key SHA-256 digest: ******************************************
Signer #1 public key SHA-1 digest: ******************************************
Signer #1 public key MD5 digest: ******************************************

キーストアの方の確認

$ keytool -v -list -keystore hogehoge.jks

以下の辺りを確認してapkの方と比べる

証明書のフィンガプリント:
     MD5:  *********************************************
     SHA1: *********************************************
     SHA256: *********************************************

keytoolはよくわからんが、Javaをインストールした時に入っているのか?

$ which keytool
/usr/bin/keytool

Comments

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