改版履歴 |
版数 | 日付 | 内容 | 担当 |
V.1.1 | 2014/12/22 | 初版 | NII |
V.1.2 | 2015/5/25 | 中間CA証明書のファイル名を修正 | NII |
V.1.3 | 2015/12/11 | 誤記修正 | NII |
V.2.0 | 2018/2/26 | SHA1の記載内容の削除 | NII |
V.2.1 | 2018/3/26 | CT対応版の中間CA証明書について説明を追加 | NII |
目次
1. Tomcat(JavaKeytool)によるサーバ証明書の利用
1-1. 前提条件
1-2. 事前準備
1-3. 鍵ペアの生成とCSRの作成
1-3-1. キーストアの生成
1-3-2. CSRの生成
1-4. 証明書の申請から取得まで
1-5. 証明書のインストール
1-5-1. 事前準備
1-5-2. ルートCA証明書のインストール
1-5-3. 中間CA証明書のインストール
1-5-4. サーバ証明書のインストール
1-6. Tomcatの設定変更
1-7. 証明書の更新
1-8. 起動確認
アンカー |
---|
| _Toc505602226 |
---|
| _Toc505602226 |
---|
|
1. Tomcat(JavaKeytool)によるサーバ証明書の利用 アンカー |
---|
| _Toc505602227 |
---|
| _Toc505602227 |
---|
|
1-1. 前提条件
Tomcat(JavaKeytool)でサーバ証明書を使用する場合の前提条件について記載します。適宜、サーバ証明書をインストールする利用管理者様の環境により、読み替えをお願いします。(本マニュアルではRedhat Enterprise Linux 6.3、 OpenJDK Runtime Environmen Java 1.7、Apache Tomcat7.0.57での実行例を記載しております。 )
前提条件 |
- Tomcat(JavaKeytool)がインストールされていること(対応:7系~8.5系)
- 使用中のTomcat(JavaKeytool)に最適なJaveがインストールされていること(Jave1.6以降を前提とする)
- Tomcatの設定ファイルserver.xmlファイルまでの絶対パス:$CATALINA_HOME/conf/server.xml
※Tomcat7系でサポートしているサーブレット3.0に対応するためには、Java1.6以上が必要です
|
CSR作成時は既存の鍵ペアは使わずに、必ず新たにCSR作成用に生成した鍵ペアを利用してください。更新時も同様に、鍵ペアおよびCSRを新たに作成してください。鍵ペアの鍵長は2048bitにしてください。
アンカー |
---|
| _Toc505602228 |
---|
| _Toc505602228 |
---|
|
1-2. 事前準備
鍵ペア・CSRを生成する前に、事前に以下の項目の準備をしてください。
事前準備 |
- キーストアファイル名:<server_yyyymmdd.keystore>(「1-3-1、1-3-2、1-5-2、1-5-3、1-5-4」で使用)
例)server_20141226.keystore
- サーバ DN(※サーバDNについては、本サービス証明書ポリシまたは、下記DNのルールをご確認ください):<サーバDN>(「1-3-1」で使用)
例)CN=www.nii.ac.jp, OU=Cyber Science Infrastructure Development Department, O=National Institute of Informatics, L=Academe, C=JP
- 鍵ペアalias名:<tomcat>(「1-3-1、1-3-2、1-5-4」で使用)
例)tomcat
- 鍵ストア・パスワード:<keystore_pass>(「1-3-1、1-3-2、1-5-2、1-5-3、1-5-4」で使用)
※Tomcat7系では、鍵ストア・パスワードと鍵のパスワードを同一にする仕様となっているため、changeit以外を設定ください。
- 鍵のパスワード:<key_pass>(「1-3-1 キーストアの生成」で使用)
※[4.鍵ストア・パスワード]にも記載のとおり、Tomcat7系では、鍵ストア・パスワードと鍵のパスワードを同一にする仕様となっているため、changeit以外で鍵ストア・パスワードと同じパスワードを設定ください。
- CSRファイル名:<servername.csr>(「1-3-2 CSRの生成」で使用)
|
CSRに記述するDNのルールは以下のとおりとです。
DNのルール |
項目 | 指定内容の説明と注意 | 必須 | 文字数および注意点 |
Country(C) | 本認証局では必ず「JP」と設定してください。 例)C=JP | ○ | JP固定 |
State or Province Name(ST) | 本認証局では使用しないでください。 | × |
|
Locality Name(L) | 本認証局では必ず「Academe」と設定してください。 例)L=Academe | ○ | Academe固定 |
Organization Name(O) | サービス参加申請時の機関名英語表記を設定してください。この情報は各所属機関の登録担当者にお問い合わせください。 例)O=National Institute of Informatics | ○ | 半角の英数字64文字以内 (記号は「'(),-./:=」と半角スペースのみ使用可能) |
Organizational Unit Name(OU) | 証明書を使用する部局等の名前を設定してください。 (この値は省略可能です) (この値は複数設定することが可能です。複数指定する方法につきましては、CSR作成時ご使用のアプリケーションのマニュアルをご確認ください。) 例)OU=Cyber Science Infrastructure Development Department | △ | ・半角の英数字64文字以内 (記号は「'(),-./:=」と半角スペースのみ使用可能) ・複数OUを指定する場合は、全体で64文字以内 |
Common Name(CN) | サーバ証明書URLに表示されるウェブ・サーバの名前をFQDNで設定してください。例えばSSL/TLSを行うサイトが https://www.nii.ac.jpの場合には、「www.nii.ac.jp」となります。FQDNにはサービス参加申請時に登録いただいた対象ドメイン名を含むFQDNのみ、証明書発行が可能となります。 例)www.nii.ac.jp | ○ | 証明書をインストールする対象サーバのFQDNで64文字以内 半角英数字、"."、"-"のみ使用可能。また、先頭と末尾に"."と"-"は使用不可 |
Email | 本認証局では使用しないでください。 | × |
|
鍵長 |
RSA 2048bit |
○・・・必須 ×・・・入力不可 △・・・省略可
注意:証明書の更新を行う場合は、先に1-7をご確認ください。
アンカー |
---|
| _Toc505602229 |
---|
| _Toc505602229 |
---|
|
1-3. 鍵ペアの生成とCSRの作成
アンカー |
---|
| _Toc505602230 |
---|
| _Toc505602230 |
---|
|
1-3-1. キーストアの生成
以下に鍵ペアの生成方法を記述します。
鍵ペアの作成 |
キーストアを作成するため、以下のコマンドを実施してください。-dnameの引数に関しましては、「1-2.事前準備」の「DNルール」に従いDN情報を入力してください。 $keytool -genkey -alias <tomcat> -keyalg RSA -keysize 2048 -keystore <server_yyyymmdd.keystore> -dname "<サーバDN> " 鍵ストア・パスワードを入力してください:<keystore_pass> ←鍵のパスワードを入力。 <tomcat>の鍵パスワードを入力してください (鍵ストア・パスワードと同じ場合にはEnterを押してください):←鍵ストア・パスワードと同じパスワードにする必要があるため[Enter]を入力。 |
重要:更新時、キーストアファイルを上書きすることの無いように、キーストアファイルに日付等のファイル名をつけることを推奨します。
作成したキーストアの情報は以下のコマンドで確認することができます。 $keytool -list -v – keystore < server_yyyymmdd.keystore > 鍵ストア・タイプ: JKS ・・・ 別名: tomcat ・・・ 所有者: CN=www.nii.ac.jp, OU=UPKI, O=National Institute of Informatics, L=Academe, C=JP 発行者: CN=www.nii.ac.jp, OU=UPKI, O=National Institute of Informatics, L=Academe, C=JP |
- 作成したキーストアファイルを保存します。バックアップは外部媒体等に保存し、安全な場所に保管してください。
キーストアファイルの中の私有鍵を利用すれば、お使いのウェブ・サーバがSSL/TLS で保護して送受信したデータを、解読することができてしまいます。 従って保存するキーストアファイルへのアクセス権は利用管理者自身とSSL/TLS サーバのプロセス等必要最小限になるよう設定してください。 またバックアップを保存した外部媒体等も利用管理者のみまたは同じ権限のある方のみ利用できる場所へ保管してください。 また、キーストアファイル作成時のパスワードの管理も、確実に行ってください。キーストアファイルの紛失、パスワード忘れ等が発生した場合、証明書のインストールが行えなくなります。 この場合、新たに証明書を申請しなおしていただくことになりますので、ご注意ください。
|
アンカー |
---|
| _Toc505602231 |
---|
| _Toc505602231 |
---|
|
1-3-2. CSRの生成
キーストアが作成されたことを確認後、CSRを生成します。
CSRの作成 |
次のコマンドを入力し、CSRの作成を開始してください。パスフレーズの入力が求められますので、「1-3-1 キーストアの生成」の手順1で作成したキーストアのパスワードを入力してください。 コマンドでは、署名アルゴリズムSHA2でCSRを作成し、「servername.csr」(ファイル名は任意)というファイル名で保存することを示しています。 $keytool -certreq -sigalg SHA256withRSA -alias <tomcat> -file <servername.csr> -keystore <server_yyyymmdd.keystore> 鍵ストア・パスワードを入力してください:<keystore_pass> |
「-sigalg SHA256withRSA」:署名アルゴリズムを示すオプション。 署名アルゴリズムSHA1でCSRを作成する場合は、「-sigalg SHA1withRSA」に置き換えてください。
パスワードの入力が成功するとCSR が生成され、要求された情報の入力が完了すると CSR が生成され、servername.csrに保存されます。なお、このファイルもバックアップを保存して証明書を受領するまでは別途保管することをお勧めします。 ----BEGIN CERTIFICATE REQUEST---- MIIBhDCB7gIBADBFMQswCQYDVQQGEwJKUDEQMA4GA1UEBxMHQWNhZGVtZTEMMAoG 例 Um0E3vq8Ajg= ----END CERTIFICATE REQUEST---- |
以下のコマンドを入力することにより、CSRの内容を確認することができます。 $ openssl req -noout -text -in servername.csr Certificate Request: Data: Version: 0 (0x0) Subject: C=JP, L=Academe, O=National Institute of Informatics, OU=Cyber Science Infrastructure Development Department, CN=www.nii.ac.jp ←CSR生成時に入力したDNと一致していることを確認してください。 Subject Public Key Info: Public Key Algorithm: rsaEncryption Public Key: (2048 bit) ←鍵長が2048bitであることを確認してください。 Modulus: 00:c9:0e:99:5c:8a:4a:e3:b2:e2:0d:3d:60:4d:30: : 例 : ca:2e:56:f7:66:bd:01:44:ea:f3:ca:d2:f6:e0:5e: 6c:57:4b:65:e4:e7:f7:ca:dd Exponent: 65537 (0x10001) Attributes: a0:00 Signature Algorithm: sha256WithRSAEncryption← CSR生成時に指定した署名アルゴリズムで あることを確認してください。 署名アルゴリズムにSHA1を指定した場合は「sha1WithRSAEncryption」と表示されます。
88:44:e5:27:06:02:ec:85:6c:29:6a:0f:a3:92:87:4e:e2:f1: : 例 |
|
アンカー |
---|
| _Toc505602232 |
---|
| _Toc505602232 |
---|
|
1-4. 証明書の申請から取得まで
CSRを作成しましたら登録担当者へ送付するための証明書発行申請TSVファイルを作成し申請します。証明書発行申請TSVファイルの作成方法、申請方法等につきましては、「証明書自動発行支援システム操作手順書(利用管理者用)」をご確認ください。
証明書の発行が完了すると、本システムより以下のメールが送信されます。メール本文に記載された証明書取得URLにアクセスし、証明書の取得を実施してください。
証明書取得URLの通知 |
【件名】 Webサーバ証明書発行受付通知
・・・・・
#以下に証明書の取得先が記述されています。 貴機関の登録担当者経由で発行申請をいただきましたサーバ証明書を配付いたします。 本日から1ヶ月以内に以下の証明書取得URLへアクセスし、サーバ証明書の取得を行ってください。 証明書取得URL:https://scia.secomtrust.net/~ ←左記URLにアクセスし証明書の取得を行ってください。
・・・・・ |
アンカー |
---|
| _Toc505602233 |
---|
| _Toc505602233 |
---|
|
1-5. 証明書のインストール
本章ではTomcat(JavaKeytool)への証明書のインストール方法について記述します。
アンカー |
---|
| _Toc505602234 |
---|
| _Toc505602234 |
---|
|
1-5-1. 事前準備
事前準備として、サーバ証明書、中間CA証明書、ルートCA証明書を取得してください。
前提条件 |
- サーバ証明書を準備します。「1-4.証明書の申請から取得まで」で受領したサーバ証明書をserver.cerという名前で保存してください。
- 中間CA証明書を準備します。
次のURLにアクセスすることでリポジトリにアクセスすることが可能です。 リポジトリ:https://repo1.secomtrust.net/sppca/nii/odca3/index.html
【2018年3月26日 14時以前に発行されたサーバ証明書をインストールする場合】 SHA2の中間CA証明書(SHA-2認証局 CA証明書)をnii-odca3sha2.cerという名前で保存したと仮定して以降記載します。
【2018年3月26日 18時以降に発行されたサーバ証明書をインストールする場合】 SHA2の中間CA証明書(SHA-2認証局 CA証明書 CT対応版)をnii-odca3sha2.cerという名前で保存したと仮定して以降記載します。
- ルートCA証明書を準備します。
以下URLよりSecurity Communication RootCA2 証明書 - Security Communication RootCA2 Certificateを取得して、SCRoot2ca.cerという名前で場所に保存してください。本ファイルはデフォルトではSCRoot2ca.cerという名前でダウンロードされます。 リポジトリ:https://repository.secomtrust.net/SC-Root2/index.html
|
アンカー |
---|
| _Toc505602235 |
---|
| _Toc505602235 |
---|
|
1-5-2. ルートCA証明書のインストール
以下の手順に従って、ルートCA証明書のインストールを行ってください。
ルートCA証明書のインストール |
「1-5-1.事前準備」で取得したルートCA証明書をキーストアにインストールしてください。 $ keytool –import –alias root –keystore < server_yyyymmdd.keystore > –file SCRoot2ca.cer ←証明書のフィンガープリントが表示されるので、リポジトリに公開されたフィンガープリントと等しいことを確認してください Enter keystore password: <keystore_pass> ←キーストアのパスワードを入力してください Trust this certificate? [no]: Y ←Yもしくはyesと入力してください Certificate was added to keystore |
証明書のフィンガープリントが「SHA 1:5f 3b 8c f2 f8 10 b3 7d 78 b4 ce ec 19 19 c3 73 34 b9 c7 74]であることを確認してください。
|
アンカー |
---|
| _Toc505602236 |
---|
| _Toc505602236 |
---|
|
1-5-3. 中間CA証明書のインストール
以下の手順に従って、中間CA証明書のインストールを行ってください。
中間CA証明書のインストール |
「1-5-1.事前準備」で取得した中間CA証明書をキーストアにインストールしてください。 $ keytool –import –alias niica3 –keystore < server_yyyymmdd.keystore > –file nii-odca3sha2.cer Enter keystore password: <keystore_pass> ←キーストアのパスワードを入力してください Trust this certificate? [no]: Y ←Yもしくはyesと入力してください Certificate was added to keystore |
|
アンカー |
---|
| _Toc505602237 |
---|
| _Toc505602237 |
---|
|
1-5-4. サーバ証明書のインストール
サーバ証明書をインストールする場合は以下の手続きを実施してください。
サーバ証明書のインストール |
「1-5-1.事前準備」で取得したサーバ証明書をキーストアにインストールしてください。 $keytool –import –alias <tomcat> –keystore <server_yyyymmdd.keystore> –file server.cer Enter keystore password: <keystore_pass> ←キーストアのパスワードを入力してください Trust this certificate? [no]: Y ←Yもしくはyesと入力してください Certificate was added to keystore |
|
アンカー |
---|
| _Toc505602238 |
---|
| _Toc505602238 |
---|
|
1-6. Tomcatの設定変更
本章ではTomcatに証明書を適用するための設定方法について記述します。
Tomcatの設定変更 |
証明書のインストール終了後、「1-1. 前提条件」で記述したserver.xmlファイルの編集を行ってください。証明書の更新を行った場合は新たに作成したキーストアファイルのファイルパスをKeystoreFileに、新たに作成したキーストアファイルのパスワードをKeystorePassに設定してください。 【7(7.0.52以前)系の場合】
<Connector port="443" ←SSL通信を行うポート番号を指定 protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" keystoreFile="[< server_yyyymmdd.keystore >までのパス]" keystorePass="<keystore_pass>" ↑キーストアファイルまでのパス ↑キーストアのパスワード clientAuth="false" sslProtocol="TLS"/> |
【Tomcat7(7.0.53以降)、8、8.5系の場合】
<Connector port="443" ←SSL通信を行うポート番号を指定 protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" keystoreFile="[< server_yyyymmdd.keystore >までのパス]" keystorePass="<keystore_pass>" ↑キーストアファイルまでのパス ↑キーストアのパスワード clientAuth="false" sslProtocol="TLS"/> |
|
アンカー |
---|
| _Toc505602239 |
---|
| _Toc505602239 |
---|
|
1-7. 証明書の更新
証明書の更新時はキーストアを新たに作成して頂く必要があります。本マニュアルに従い、キーストアを作成後、「1-6.Tomcatの設定変更」のkeystoreFile、KeystorePassの値を新たに作成したキーストアに合わせて変更してください。
アンカー |
---|
| _Toc505602240 |
---|
| _Toc505602240 |
---|
|
1-8. 起動確認
本章ではインストールした証明書によるSSL通信に問題がないか確認する方法を記述します。
証明書の反映・確認 |
Tomcatを再起動し、変更した設定を反映させます。 $ /sbin/service tomcat7 stop $ /sbin/service tomcat7 start |
---|
※Tomcatの起動と停止は、ご使用の環境によって大きく異なりますので、適宜読み替えてください。
- ブラウザ経由で、当該のサーバへアクセスし、SSL通信に問題がないことを確認してください。
|