« Android バージョン番号 | メイン | Android 電子署名 2 »

Android 電子署名1

Android用アプリケーションを公開するには電子署名をする必要がある。
詳細は、http://code.google.com/android/devel/sign-publish.htmlに記載されているが、簡単にまとめてみた。

  • アプリケーションにデジタル署名をする必要がある
  • 署名されていないアプリケーションは、エミュレータでも実機でも、インストール及び実行不可能
  • デジタル署名を行う証明書は、自己証明書(オレオレ証明書)で良い 認証局は必要ない
  • デバック実行時には、ADTが自動的にデバック用の署名を行っているのでエミュレータでの実行が可能となっている。
  • 証明書の有効期間は、インストール時だけに使用される。インストール後に有効期間が切れても、アプリケーションは動作可能
  • 標準的なJAVAのツールである、Keytool,Jarsignerでキーを作成しapkファイルに署名をする

自己証明書ではあるが、同一の証明書を持つ複数のアプリケーションがあった場合、同じ作成者が作成した物である事は証明できるため、以下の事項で証明書は利用されている。

  • バージョンアップ時にチェックをする
  • 同じ証明書を持つアプリケーションは、同一プロセスでの実効が可能
  • 証明書をベースとしたPermission設計ができ、dataやcodeの共有が可能

ちなみに署名されてないソフトをエミュレータにインストールすると以下のようなメッセージが表示されてインストールができない。


android_install_fail.png

ADT Plugin for EclipseとAnt build toolは、デバックモードとリリースモードの2つのモードで事なった署名方法を行う

デバックモード

JDKのツールで、keystore/keyを作成 以下の、keystoneとpasswordを使用する。

    * Keystore name ― "debug.keystore"
    * Keystore password ― "android"
    * Key alias ― "androiddebugkey"
    * Key password ― "android"
    * CN ― "CN=Android Debug,O=Android,C=US"

もちろんこのままの値で公開してはいけない。

上記の値は変更する事はないと思うが、Windows > Prefs > Android > Build.で変更可能


adt_biild.png


この証明書は365日の有効期限となっているため、ADTをインストールしてから365日たつと以下のようなエラーが表示される。


 debug:
 [echo] Packaging bin/samples-debug.apk, and signing it with a debug key...
 [exec] Debug Certificate expired on 8/4/08 3:43 PM

この時は、Windows > Prefs > Android > Buildに設定されているdebug.keystoreファイルを削除して、再buildを行うとまた、365日デバックビルドが使用可能となる。

リリースモード

リリースモードでは署名されない.apkファイルが作成される。 作成の仕方

1.プロジェクト右クリック->Android Tools ->Export Application Package.


android_release_mode1.png


2.アプリケーションのマニュフェストファイル(AndroidManifest.xml)を開き、「Export unsigned apk」を選択


android_release_mode2.png


上記で作成した、.apkファイルに対して、Keytool,Jarsigner,等を使用して署名をしていく。

注意事項)Android Marketでソフトを公開する場合は、証明書の有効期限を2003年10月22日以降にしておかなければいけない。

ブログ内の関連する記事

トラックバック

このエントリーのトラックバックURL:
http://www.taosoftware.co.jp/mt/mt-tb.cgi/93

この一覧は、次のエントリーを参照しています: Android 電子署名1:

» Android 電子署名 2 from Taosoftware
Android SDK Documentより実際の電子署名のやり方 1 rere... [詳しくはこちら]

» Android 電子署名 3 from Taosoftware
開発したソフトに実際に署名をしてみました。 keystore名は、hoge.ke... [詳しくはこちら]

» Android 電子署名 3 from Taosoftware
開発したソフトに実際に署名をしてみました。 keystore名は、hoge.ke... [詳しくはこちら]