- TOP
- サービス一覧
- トラストサービス
- セコムパスポート for Web SR3.0
- お申込み手順 [新規・更新] セコムパスポート for Web SR3.0
- 鍵ペア/CSRの生成 Tomcat 新規/更新用
次の手順にしたがい、鍵ペアとCSRを生成してください。
このページでは、Unix環境でTomcat 4~10でJava 6~18のJSSEを使用していることを前提に説明しています。 CSR 生成時は、TLS/SSLのサーバーをホストしているコンピュータに管理者として ログインしていることを確認してください。
-lightblue
注意事項
本手順ではパスワードを入力する手順がありますが、 パスワード入力の際、 エコーバックで入力したパスワードの表示される古い版があります。 パスワードの漏洩のないようにご注意ください。
また、深刻な脆弱性も知られていますので、TomcatおよびJavaは、最新版に更新しておくことをおすすめします。
≪Tomcat 4をご利用の場合≫
Tomcat 4ではPureTLSを優先します。JSSEをご使用の場合は、以下のどれかでご対応ください。
・Tomcatをアップグレードする
・server.xmlファイルでFactory要素のSSLImplementation属性の値を 「org.apache.tomcat.util.net.JSSEImplementation」 と明示する
・PureTLSをアンインストールする
≪Windows版をご利用の場合≫
実際の表記や用語が異なりますので、 読み替えて行ってください
環境 | Unix | DOS(Windows) |
---|---|---|
変数置換 | ${変数名} | %変数名% |
パス名 | /ディレクトリー名/ファイル名 | ドライブ名:¥ディレクトリー名¥ファイル名 |
プロンプト | #や$ | ドライブ名> |
拡張子 | sh | bat |
コマンド・インタープリタ | シェル | コマンド プロンプト |
更新時も、必ず新たに鍵ペアおよびCSRを作成してください。
1.鍵ペアの生成
作業の前にJavaのベンダーや系列を確認してください。鍵生成時と実行時とでJavaのベンダーや系列が異なると、鍵ストア・ファイルのうまく読めないことがあります。
1-1.鍵ストアと鍵ペアの生成
-warmgrey
鍵ストアや鍵ペアの生成には、 keytoolというコマンドを使用して行います。
※keytoolのインストール箇所は、 ${JAVA_HOME}/binディレクトリー です。
実行例:
${JAVA_HOME}
Javaを導入したディレクトリー
鍵ペアを生成するためのコマンドを入力します。OU (Organizational Unit) が発行先の識別名で使用禁止になったため、弊社はCSRの識別名からOUを削除し、証明書を発行します。鍵ペアの生成で、OUは、含めても、外してもかまいません。
現在ご利用中の鍵ペアがある場合は、上書きしないようご注意ください。
- OUを含む鍵ペアの生成手順 (証明書の発行先はOUを含みません)
実行例:
$ keytool -genkey -alias tomcat -keyalg RSA -keysize 2048 -keystore /your/keystore/filename
- OUを外した鍵ペアの生成手順
実行例:
$ keytool -genkey -alias tomcat -keyalg RSA -keysize 2048 -keystore /your/keystore/filename -dname "CN=www.example.jp, O=SECOM Trust Systems CO.¥,LTD., L=Mitaka shi, ST=Tokyo to, C=JP"
※「-dname」 の後には、サーバー識別名 (DN)を指定します。
ここに指定する値が 「,」 文字を含む場合、「¥,」 のように入力してください。
シェルによっては、
「"」 文字を 「'」 文字に変える
「¥¥」 のように重ねて指定する
場合があります。 シェルの仕様詳細はマニュアルなどをご確認ください。
また、サーバー識別名に指定する値については、手順1-3.のプロンプトの説明を参照してください。
「tomcat」:
生成する鍵ペア名
Tomcat 6以降の場合は、「tomcat」以外の鍵ペア名をつけることも可能です。
「/your/keystore/filename」:
生成する鍵ストアファイル名(ファイル名は任意)
1-2.鍵ストアのパスワード設定
プロンプトが表示されますので、鍵ストアに設定するパスワードを入力してください。
実行例:
Enter keystore password: changeit
- 確認入力を促すプロンプトが表示された場合は
同じパスワードを再入力してください。
実行例:
Re-enter new password: changeit
1-3.サーバー識別名 (DN) 情報の入力
証明書内に組み込むサーバー識別名 (DN) 情報を入力します。
入力には以下の点にご注意ください。
- 64文字以内の半角文字で入力してください
- 識別名に使用できる文字は、算用数字、アルファベット、空白、アポストロフィー (')、コンマ (,)、ハイフン (-)、ピリオド (.)、コロン (:)、等号 (=) です
- 「&」が含まれる場合は、半角英字の and 等に置き換えてください
- スペースのみの入力は控えてください。スペースのみの入力項目がある場合、証明書が発行されません
- 「,」が含まれる場合も ここではそのまま入力できます (「\」を前置きするのは、コマンド行の引数としてサーバー識別名を指定する場合です)
- 都道府県名、市区町村名は "ヘボン式ローマ字" で登録してください。
■各項目について
- your first and last name(識別名の「CN」)
コモン・ネームになります。
例)TLS/SSL通信を行うサイトが www.example.jp の場合「www.example.jp」
※注意点
コモン・ネームに以下を使用することはできません。
- プロトコル特定子 (http://)
- IPアドレスやポート番号
- パス名
- 「*」 や 「?」 のワイルドカード文字
コモン・ネームは、TLS/SSL通信を行うサイトのFQDN (Fully Qualified Domain Name) と同一でなければなりません。証明書に登録するコモン・ネームとFQDNが一致しない場合、ブラウザがサイトへの安全な接続を拒否する場合があります。
例えば、 コモン・ネームを 「example.jp」 とし証明書を発行した場合、<https://www.example.jp/> でアクセスすると、コモン・ネーム (example.jp) とFQDN (www.example.jp) が一致しないため、ブラウザでは警告が表示されます。
- the name of your organizational unit(省略してください)
Enterキーを押してください。既定のOUが指定されます。
弊社はCSRからOUを削除し、証明書を発行します。
- the name of your organization(識別名の「O」)
申請組織名になります。
例)セコムトラストシステムズの場合 「SECOM Trust Systems CO.,LTD.」
- the name of your City or Locality(識別名の「L」)
通常、組織の本店(代表)が置かれている市区町村名になります。
※市区町村以降の住所(町名、字、丁目、番地、号など)は含めないでください。
≪登録例≫
-
-
市区町村名【L】
-
-
-
- 特別区(東京23区)の場合
(例)千代田区:「Chiyoda ku」「Chiyoda-ku」「Chiyoda city」 - 市の場合
(例)市川市:「Ichikawa shi」「Ichikawa-shi」「Ichikawa-city」 - 政令指定都市の場合
(例)横浜市西区:「Yokohama-shi」「Yokohama-shi Nishi-ku」 - 町村の場合
(例)中郡二宮町:「Naka-gun Ninomiya-machi」「Naka-county Ninomiya-town」
西多摩郡檜原村:「Nishitama-gun Hinohara-mura」「Nishitama-county Hinohara-village」
- 特別区(東京23区)の場合
-
-warmgrey
NG例
×「Mitaka-shi. Shimorenjaku」
×「Shibuya-ku, jingumae 1-5-1」
町名、字、丁目、番地、号など含めたものはNGとなります。
- the name of your State or Province(識別名の「ST」)
上記市区町村のある都道府県名になります。
≪登録例≫
-
- 都道府県【ST】
(例)東京都: 「Tokyo to」「Tokyo-to」「Tokyo pref.」
北海道:「Hokkaido」「Hokkaido pref.」
大阪府:「Osaka fu」「Osaka-fu」「Osaka pref.」
※行政区分(都、府、県)を示す単語(to, fu, ken, prefecture)は省略可能です。
- the two-letter country code for this unit(識別名の「C」)
ISO 3166による国名などの2文字の符号です。日本国となりますので「JP」と入力してください。
実行例:
What is your first and last name?
[Unknown]: www.example.jp
What is the name of your organizational unit?
[Unknown]: Unknown
What is the name of your organization?
[Unknown]: SECOM Trust Systems CO.,LTD.
What is the name of your City or Locality?
[Unknown]: Mitaka shi
What is the name of your State or Province?
[Unknown]: Tokyo to
What is the two-letter country code for this unit?
[Unknown]: JP
1-4.サーバー識別名の確認
1.サーバー識別名 (DN) 情報が表示されますので、内容を確認してください。
実行例:
Is CN=www.example.jp, OU=Unknown,, O=SECOM Trust Systems CO.,LTD., L=Mitaka shi, ST=Tokyo to, C=JP correct?
2.内容を確認後、yesと入力してください。
実行例:
[no]: yes
3.もしプロンプトの表示された場合、何も入力せずリターン・キーを押してください。
実行例:
Enter key password for <tomcat>
(RETURN if same as keystore password):
1-5.鍵ストアの形式変換
1.次のようなメッセージが出ましたら、以下の手順に従ってください。メッセージが出ない場合は、1-6.にすすんでください。
The JKS keystore uses a proprietary format. It is recommended to
migrate to PKCS12 which is an industry standard format using "keytool
-importkeystore -srckeystore /your/keystore/filename -destkeystore /your/keystore/filename -deststoretype pkcs12".
2.鍵ストアのバックアップを取得ください。
3.次のようなコマンドを実行してください。
$ keytool -importkeystore -srckeystore /your/keystore/filename
-destkeystore /your/keystore/filename -deststoretype pkcs12
4.もし次のプロンプトが表示されたら、鍵ストアに設定したパスワードを 入力してください。
Enter source keystore password:
※次のようなメッセージは、問題ありません。
Entry for alias tomcat successfully imported.
Import command completed: 1 entries successfully imported, 0 entries
failed or cancelled
Warning:
Migrated "/your/keystore/filename" to Non JKS/JCEKS. The JKS keystore is
backed up as "/your/keystore/filename.old".
5.「/your/keystore/filename.old」という名前のファイルが存在する場合、削除してください。
1-6.鍵ストアの確認
1.生成した鍵ストアを確認する場合は、 次のコマンドを入力してください。
実行例:
$ keytool -list -v -keystore /your/keystore/filename
「/your/keystore/filename」:手順1-1.で指定した鍵ストア名
2.プロンプトが表示されますので、鍵ストアに設定したパスワードを入力してください。
実行例:
Enter keystore password: changeit
3.鍵ストアのファイルの情報が表示されます。
実行例:
Keystore type: PKCS12
Keystore provider: SUN
Your keystore contains 1 entry
Alias name: tomcat
Creation date: Apr 1, 2004
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=www.example.jp, OU=Unknown, O=SECOM Trust Systems CO.,LTD., L=Mitaka shi, ST=Tokyo to, C=JP
Issuer: CN=www.example.jp, OU=Unknown, O=SECOM Trust Systems CO.,LTD., L=Mitaka shi, ST=Tokyo to, C=JP
Serial number: 40141041
Valid from: Thu Apr 01 04:01:41 JST 2004 until: Fri Apr 01 04:01:41 JST 2005
Certificate fingerprints:
SHA1: 77:45:10:3E:7B:3F:31:A3:6C:31:1C:B7:04:2D:0D:41:41:42:B0:97
SHA256: E5:5D:0B:E1:40:19:CD:92:2F:A2:3A:C9:CB:59:53:EB:4A:9C:2F:04:52:B4:4F:FF:25:18:07:D4:BE:CE:38:F4
*******************************************
*******************************************
2.CSRの生成
鍵ペアが作成されたことを確認後、 CSRを生成します。
2-1.CSRの生成
次のコマンドを入力し、 CSRを生成してください。
実行例:
$ keytool -certreq -sigalg SHA256withRSA -alias tomcat -file server.csr -keystore /your/keystore/filename
「tomcat」: 手順1-1.で指定した鍵ペア名
「/your/keystore/filename」: 手順1-1.で指定した鍵ストア名
「server.csr」: CSRが保存されるファイル名
2-2.パスワードの入力
プロンプトが表示されたら、 鍵ストアに設定したパスワードを入力してください。
実行例:
Enter keystore password: changeit
2-3.生成されたファイルの確認
CSR (例:server.csr)が生成、保存されます。
【CSRのサンプル】
ここで生成したCSRを申込画面に貼り付けて申請してください。
※opensslコマンドのインストールをされている場合、CSRの内容(DN情報)は以下のコマンドで確認いただけます。
実行例:
$ openssl req -noout -text -in server.csr
「server.csr」:CSRを保存したファイル名
CSRおよび鍵ペアの生成は、以上で完了です。
※重要
作成した鍵ペアのファイルは、 必ずバックアップをとって 安全な場所に保管してください。また、鍵ストアに指定したパスワード、鍵ストアのパスワードを指定するserver.xmlファイルやそのファイルのあるconfディレクトリーのアクセス管理を、確実に行ってください。
鍵ペアのファイルの紛失、 パスワード忘れ等が発生した場合、 証明書のインストールが行えなくなります。 この場合は、 新たに証明書をご購入いただくことになりますので、 ご注意ください。
必要な場合は、システムのフルバックアップをおとりください。フルバックアップ方法につきましては、製品のマニュアル等をご確認ください。
- ご利用のサーバー上に初めて証明書を導入される方
現時点でTLS/SSLを有効化すると、発行されたサーバー証明書をインストールする前に、自己署名証明書で動作を確認できます。 有効化(2.インストール手順 「TLS/SSLの有効化および再起動」を参照)した後、動作確認を行ってください。
-lightblue
TLS/SSLの動作確認
1.<https://コモン・ネーム:ポート番号/> のURLで閲覧できることを、ウェブ・ブラウザでご確認ください。
- 「コモン・ネーム」: 手順1.で指定した コモン・ネーム
- 「ポート番号」: TLS/SSLの有効化でConnector要素のport属性の値に指定した待受けポートの番号
( この時点ではサーバー証明書が自己署名になっていますので、 ブラウザによっては警告のダイアログなどの出る場合もあります)。
2.Adminサーブレットにアクセスできるよう設定してから、 <https://コモン・ネーム:ポート番号/admin/index.jsp>のURLで、 ログイン画面にアクセスできることをご確認ください。
Tomcatの版や環境によっては、Tomcatに附属のAdminサーブレットのうまく機能しない場合もあるようです。その場合、機能する版のAdminサーブレットととりかえるか、 Adminサーブレットによる確認を省略してください。
3.適切なアカウントを設定してから、Adminサーブレットにログインできることを、ご確認ください。
4.Connector (ポート番号)を選択してから、指定した鍵ストアのファイルが読み込まれていることを、ご確認ください。