現在、TomcatではJKSフォーマットのキーストアしか扱えません。
これはJava標準の"Java KeyStore"フォーマットであり、keytoolコマンドラインユーティリティで生成されるフォーマットです。
このツールはJDKに同梱されています。
JKSキーストアに既存の証明書をインポートするためには、(JDKドキュメントパッケージにある)keytoolのドキュメントをお読みください。
単独の自己署名証明書を含め、キーストアを一から新しく生成するには、
端末のコマンドライン上で下記のコマンドを実行してください。
Windows:
 |  |  |
 |
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
|  |
 |  |  |
Unix:
 |  |  |
 |
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA
|  |
 |  |  |
(安全性の高いアルゴリズムとしてはRSAアルゴリズムが望ましく、
これは他のサーバやコンポーネントとの全般的な互換性も確保しています。)
このコマンドで、実行ユーザのホームディレクトリ上に、.keystoreという名前のファイルが新しく生成されます。
違う場所やファイル名を指定する場合には、上述のkeytoolコマンドに対し、-keystoreパラメータと、
キーストアファイルの完全なパス名をつけてください。
また後述するように、server.xml設定ファイルにこの新しい場所を反映させる必要があります。
例:
Windows:
 |  |  |
 |
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA \
-keystore \path\to\my\keystore
|  |
 |  |  |
Unix:
 |  |  |
 |
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA \
-keystore /path/to/my/keystore
|  |
 |  |  |
このコマンドの実行の際、最初にキーストアのパスワードを入力するように促されます。
Tomcatで使用するデフォルトパスワードは"changeit"(すべて小文字)ですが、必要ならば独自のパスワードを指定することも可能です。
次に、企業名や連絡先など、証明書に関する全般的な情報を入力するように促されます。
アプリケーションにあるセキュアなページにアクセスしようとしたユーザに対してこの情報は表示され、ここに提示された情報がユーザの期待している情報と合致しているのかどうかを確認できます。
最後に、(同じキーストアファイルに格納された他の証明書とは対照的に)
この証明書専用のパスワードであるキーパスワードを入力するように促されます。
ここでは、キーストアのパスワード自体に使用されるのと同じパスワードを使用しなければなりません。
(現在、ENTERキーを押下するとこれを自動的に行うことがkeytoolプロンプトにてユーザに表示されます。)
すべてうまくいけば、サーバで使用できる証明書を含んだキーストアファイルの完成です。