Javaでビルド4

keytoolとjarsigner

keytoolはキーを作成・管理するツール、jarsignerは署名付きJarファイルの作成と検証のためのツールです。JDKをインストールすると「${JAVA_HOME}/bin/」にこの二つの実行ファイルが入っています。この二つを使って署名付きJarファイルを作成します。

前回はJDKのインストールと環境変数にバイナリのパスを通すところまで作業しました。keytoolもjarsignerもそれぞれコマンドプロンプトに疎い人用にバッチファイルを用意してあるので、バッチファイルに個人の設定書いて実行するだけで簡単にキーペアや証明書付きファイルが作成できるように自動処理化してあります。・・・というわけなのでバッチファイルの内容について説明します。

keytoolの説明:鍵と証明書の作成

今回用意したkeytool用のバッチファイルでは8つ設定箇所があります。これより詳細な設定、あるいは違う方法で証明書を作成したい場合はバッチファイルを改変して使ってください。
外部リンク:Java/keytool – 備忘録にはより詳しい設定が記載されています。

設定箇所(抜粋)

rem ————————————————————————————————
rem 自分の環境などに応じて以下の値を書き換えてください。
SET JDKBIN=C:\JDK\bin
rem JDKバイナリの場所

SET OUTPUT=R:\
rem キーストアを保存する場所

SET ALIAS_NAME=prester
rem 名前

SET KEYSTORE_NAME=prester.keystore
rem キーストアのファイル名

SET STORE_PASS=123456
rem パスワード(6文字以上)

SET KEY_PASS=123456
rem パスワード(6文字以上)-storepassと同じでも良いか

SET D_NAME=“CN=Prester J0hn, OU=Prester.org, O=Prester\, Inc., L=Sakyo-ku, ST=Kyoto, C=JP”
rem 証明書所有者の情報:名前・部署名・組織名・市区町村名・都道府県名・国名

SET VALIDITY=3650
rem 有効期限:365(days)*10(years)=3650(day\10年)
rem ————————————————————————————————

バッチファイルでやっていることの説明

-genkey

キーペアを作成するコマンドラインオプションです。キーペアというのは「証明書」そして「鍵」。つまりこれから作るものです。基本的には自ら生成した証明書で署名するものなので認証機関(CA)からデジタル証明書を購入する必要等はありません。

-alias

名前を指定します。この名はkeystore内で保存され識別される名前です。ここで指定した名前をあとで知りたい場合はキーペアを作成してから、keytool -list で確認できます。

-keystore

ここで指定するディレクトリと名前は保存するKeyStoreのファイル名です。 未指定の場合デフォルトは”.keystore”となりますが、保存される場所はたぶんC:\Documents and Settings\ユーザーネーム\になります。

-storepass

KeyStore のパスワードを入力します。英数で6文字以上。

-keypass

キーのパスワードを入力します。英数で6文字以上。KeyStore のパスワードと同じでも良いです。

-dname

テスト用なら適当に書いてください。

-validity

有効期限です。バッチでは10年(3650日)を指定してあります。有効期間はAndroidなんかだと推奨の最少日数が10000日、こちらは控えめに10年にしておきました。未指定は90日だそうです。

-list

作成したKeystore(証明書)の内容を確認します。

keytool用、バッチファイル
ダウンロード


カテゴリ:Java
>>次のページへ