署名の入れ方

keytoolコマンドで公開するandroidアプリに署名するための証明書(鍵)を生成する

(更新日:2015/09/03)

eclipseからGUIで署名付きapkを生成するには、こちらのサイトの情報がよいと思います。以下の情報はちょっと古いです。

androidアプリを公開する場合、アプリのパッケージにデジタル署名をつける必要があります。

で、署名するには自分を証明する証明書(鍵)が必要になってくるわけですが、この鍵を作成、管理するのがkeytoolです。

keytoolはJDKのbinディレクトリに入っています。JDKのインストールについては「JDKのインストール~androidプログラミングの開発環境構築①」を参考にしてください。

以下はkeytoolで鍵を作成するコマンドの書式です。

>keytool -genkey -v -keyalg <鍵生成の暗号化方式> -keystore <証明書ファイル名> -alias <証明書別名> -validity <有効期限の日数>

下のサンプルでは、d:\tempandroidディレクトリにtechmaru.keystoreというファイル名の証明書を作成しています。(別名はtechkey)

>keytool -genkey -v -keyalg RSA -keystore d:\tempandroid\techmaru.keystore -alias techkey -validity 10000

そして、その後にいくつかの情報(キーストアパスワード、姓名、組織名、都市名、州名、国番号)の入力を要求されるので入力していきます。

国番号のjpを入力すると確認メッセージが出るので「yes」を押し、最後にRETURNを押します。すると、d:\tempandroidディレクトリにtechmaru.keystore証明書ファイルが作成されているはずです。

キーストアのパスワードを入力してください: 新規パスワードを再入力してください: 姓名を入力してください。   [Unknown]:  ******** 組織単位名を入力してください。   [Unknown]:  ******** 組織名を入力してください。   [Unknown]:  ******** 都市名または地域名を入力してください。   [Unknown]:  ******** 州名または地方名を入力してください。   [Unknown]:  tokyo この単位に該当する 2 文字の国番号を入力してください。   [Unknown]:  jp CN==********,, OU==********,, O==********,, L==********,, ST=tokyo, C=jp でよろしいですか?   [no]:  yes  10,000 日間有効な 1,024 ビットの RSA の鍵ペアと自己署名型証明書 (SHA1withRSA) を生成しています         ディレクトリ名: CN=********, OU=********, O=********, L=********, ST=tokyo, C=jp  の鍵パスワードを入力してください。         (キーストアのパスワードと同じ場合は RETURN を押してください): [d:\tempandroid\techmaru.keystore を格納中]

以上でkeytoolについては終了です。

それから、keytoolで作成した証明書を利用して署名なしのandroidアプリにデジタル署名するにはjarsignerが必要です。jarsignerの使い方・詳細については「jarsignerコマンドで公開するandroidアプリにデジタル署名する」を参考にしてください。

また、eclipse上で作成したandroidアプリならjarsignerを使わなくてもelicpse上で簡単にできます。これについては「eclipse上で署名されたandroidアプリ(.apk)を作成する」を参考にしてください。

引用元:http://www.techmaru.net/ar/keytool.php