Tomcat編

Tomcat編

改版履歴

版数

日付

内容

担当

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

V.2.2

2018/7/9

ECDSA対応版について説明を追加
事前準備の記述の修正
DNのルールの修正

NII

V.2.4

2019/4/22

ECC認証局 中間CA証明書の名称を変更

NII

V.2.5

2019/6/10

DNのルール(Locality Name)の修正

NII

V.2.6

2020/4/13

中間CA証明書のファイル名を修正
DNのルール(State or Province Name、Locality Name)の修正

NII

V.2.7

2020/7/15

DNのルール、TSVファイル形式のSTおよびLの値の説明、リンクの変更

NII

V.2.8

2020/8/25

中間CA証明書の記載内容を修正

NII

V.2.9

2020/12/22

中間CA証明書を修正
サーバー証明書L、STを必須に修正
サーバー証明書OUの利用条件を修正

NII

V2.10

2022/9/22

サーバー証明書OU廃止について修正

NII

V2.11

2025/12/25

RSA認証局 中間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. 起動確認

1. Tomcat(JavaKeytool)によるサーバ証明書の利用

1-1. 前提条件

Tomcat(JavaKeytool)でサーバ証明書を使用する場合の前提条件について記載します。適宜、サーバ証明書をインストールする利用管理者様の環境により、読み替えをお願いします。(本マニュアルではRedhat Enterprise Linux 6.3、 OpenJDK Runtime Environmen Java 1.7、Apache Tomcat7.0.57での実行例を記載しております。  )

前提条件

  1. Tomcat(JavaKeytool)がインストールされていること(対応:7系~8.5系)

  2. 使用中のTomcat(JavaKeytool)に最適なJaveがインストールされていること(Jave1.6以降を前提とする)

  3. Tomcatの設定ファイルserver.xmlファイルまでの絶対パス:$CATALINA_HOME/conf/server.xml
    ※Tomcat7系でサポートしているサーブレット3.0に対応するためには、Java1.6以上が必要です


CSR作成時は既存の鍵ペアは使わずに、必ず新たにCSR作成用に生成した鍵ペアを利用してください。更新時も同様に、鍵ペアおよびCSRを新たに作成してください。鍵ペアの鍵長は
RSA鍵の場合、2048bit
ECDSA鍵の場合、384bit
にしてください。

1-2. 事前準備

鍵ペア・CSRを生成する前に、事前に以下の項目の準備をしてください。

事前準備

  1. キーストアファイル名:<server_yyyymmdd.keystore>「1-3-1、1-3-2、1-5-2、1-5-3、1-5-4」で使用)
    例)server_20141226.keystore

  2. サーバ DN(※サーバDNについては、本サービス証明書ポリシまたは、下記DNのルールをご確認ください):<サーバDN>「1-3-1」で使用)
    例)CN=www.nii.ac.jp, O=National Institute of Informatics, L=Chiyoda-ku,ST=Tokyo, C=JP

  3. 鍵ペアalias名:<tomcat>「1-3-1、1-3-2、1-5-4」で使用)
    例)tomcat

  4. 鍵ストア・パスワード:<keystore_pass>「1-3-1、1-3-2、1-5-2、1-5-3、1-5-4」で使用)
    ※Tomcat7系では、鍵ストア・パスワードと鍵のパスワードを同一にする仕様となっているため、changeit以外を設定ください。

  5. 鍵のパスワード:<key_pass>「1-3-1 キーストアの生成」で使用)
    ※[4.鍵ストア・パスワード]にも記載のとおり、Tomcat7系では、鍵ストア・パスワードと鍵のパスワードを同一にする仕様となっているため、changeit以外で鍵ストア・パスワードと同じパスワードを設定ください。

  6. CSRファイル名:<servername.csr>「1-3-2 CSRの生成」で使用)

CSRに記述するDNのルールは以下のとおりです。

DNのルール

項目

指定内容の説明と注意

必須

文字数および注意点

Country(C)

本認証局では必ず「JP」と設定してください。
例)C=JP

JP固定

State or Province Name(ST)

「都道府県」(ST)は利用管理者及び利用者が所属する組織の所在地の都道府県名としサービス窓口に事前に届出したとおりの所在地の都道府県名をローマ字表記で指定してください。この情報は各所属機関の登録担当者にお問い合わせください。
例)ST=Tokyo

STとして指定できる値は下記リンクを参照してください。機関ごとに固定となります。
UPKI証明書 主体者DNにおける ST および L の値一覧

※STおよびLが必須。(2020年12月22日以降)

Locality Name(L)

「場所」(L)は利用管理者及び利用者が所属する組織の所在地の市区町村名とし、サービス窓口に事前に届出したとおりの所在地の市区町村名をローマ字表記で指定してください。この情報は各所属機関の登録担当者にお問い合わせください。
例)L=Chiyoda-ku

Lとして指定できる値は下記リンクを参照してください。機関ごとに固定となります。
UPKI証明書 主体者DNにおける ST および L の値一覧

※STおよびLが必須。(2020年12月22日以降)

Organization Name(O)

サービス参加申請時の機関名英語表記を設定してください。この情報は各所属機関の登録担当者にお問い合わせください。
例)O=National Institute of Informatics

半角の英数字64文字以内
(記号は「'(),-./:=」と半角スペースのみ使用可能)

Organizational Unit Name(OU)

証明書を使用する部局等の名前を設定してください。
(この値は省略可能です)
(この値は複数設定することが可能です。複数指定する方法につきましては、CSR作成時ご使用のアプリケーションのマニュアルをご確認ください。)
例)OU=Cyber Science Infrastructure Development Department

2022年7月26日以降に新規発行・更新する証明書については、OUが廃止となります。詳細はこちら

・半角の英数字64文字以内
(記号は「'(),-./:=」と半角スペースのみ使用可能)
・複数OUを指定する場合は、全体で64文字以内
UPKI証明書 主体者DNにおける OU の値一覧

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
ECDSA 384bit

○・・・必須 ×・・・入力不可 △・・・省略可 

注意:証明書の更新を行う場合は、先に1-7をご確認ください。

 1-3. 鍵ペアの生成とCSRの作成

1-3-1. キーストアの生成

以下に鍵ペアの生成方法を記述します。

鍵ペアの作成

  1. キーストアを作成するため、以下のコマンドを実施してください。-dnameの引数に関しましては、「1-2.事前準備」の「DNルール」に従いDN情報を入力してください。

    RSA鍵の場合

    ECDSA鍵の場合

    重要:更新時、キーストアファイルを上書きすることの無いように、キーストアファイルに日付等のファイル名をつけることを推奨します。

  2. 作成したキーストアの情報は以下のコマンドで確認することができます。



  3. 作成したキーストアファイルを保存します。バックアップは外部媒体等に保存し、安全な場所に保管してください。
    キーストアファイルの中の私有鍵を利用すれば、お使いのウェブ・サーバがSSL/TLS で保護して送受信したデータを、解読することができてしまいます。
    従って保存するキーストアファイルへのアクセス権は利用管理者自身とSSL/TLS サーバのプロセス等必要最小限になるよう設定してください。
    またバックアップを保存した外部媒体等も利用管理者のみまたは同じ権限のある方のみ利用できる場所へ保管してください。
    また、キーストアファイル作成時のパスワードの管理も、確実に行ってください。キーストアファイルの紛失、パスワード忘れ等が発生した場合、証明書のインストールが行えなくなります。
    この場合、新たに証明書を申請しなおしていただくことになりますので、ご注意ください。

 

1-3-2. CSRの生成

キーストアが作成されたことを確認後、CSRを生成します。

CSRの作成

  1. 次のコマンドを入力し、CSRの作成を開始してください。パスフレーズの入力が求められますので、「1-3-1 キーストアの生成」の手順1で作成したキーストアのパスワードを入力してください。

    RSA鍵の場合
    コマンドでは、署名アルゴリズムSHA2でCSRを作成し、「servername.csr」(ファイル名は任意)というファイル名で保存することを示しています。


    「-sigalg SHA256withRSA」:署名アルゴリズムを示すオプション。
           署名アルゴリズムSHA1でCSRを作成する場合は、「-sigalg SHA1withRSA」に置き換えてください。


    ECDSA鍵の場合
    コマンドでは、署名アルゴリズムecdsa-with-SHA256でCSRを作成し、「servername.csr」(ファイル名は任意)というファイル名で保存することを示しています。


    「-sigalg SHA256withECDSA」:署名アルゴリズムを示すオプション。
           署名アルゴリズムecdsa-with-SHA384でCSRを作成する場合は、「-sigalg SHA384withECDSA」に置き換えてください。

     

  2. パスワードの入力が成功するとCSR が生成され、要求された情報の入力が完了すると CSR が生成され、servername.csrに保存されます。なお、このファイルもバックアップを保存して証明書を受領するまでは別途保管することをお勧めします。



  3. 以下のコマンドを入力することにより、CSRの内容を確認することができます。

    RSA鍵で作成したCSRの場合


    ECDSA鍵で作成したCSRの場合

 

 1-4. 証明書の申請から取得まで

CSRを作成しましたら登録担当者へ送付するための証明書発行申請TSVファイルを作成し申請します。証明書発行申請TSVファイルの作成方法、申請方法等につきましては、「証明書自動発行支援システム操作手順書(利用管理者用)」をご確認ください。
TSVファイル作成用Webアプリケーション(TSVツール)を提供しておりますので、ご利用ください
証明書の発行が完了すると、本システムより以下のメールが送信されます。メール本文に記載された証明書取得URLにアクセスし、証明書の取得を実施してください。

証明書取得URLの通知

【件名】
Webサーバ証明書発行受付通知

・・・・・

#以下に証明書の取得先が記述されています。
貴機関の登録担当者経由で発行申請をいただきましたサーバ証明書を配付いたします。
本日から1ヶ月以内に以下の証明書取得URLへアクセスし、サーバ証明書の取得を行ってください。
  証明書取得URL:https://scia.secomtrust.net/~   ←左記URLにアクセスし証明書の取得を行ってください。 

・・・・・

 1-5. 証明書のインストール

本章ではTomcat(JavaKeytool)への証明書のインストール方法について記述します。

1-5-1. 事前準備

事前準備として、サーバ証明書、中間CA証明書、ルートCA証明書を取得してください。

前提条件

  1. サーバ証明書を準備します。「1-4.証明書の申請から取得まで」で受領したサーバ証明書をserver.cerという名前で保存してください。

  2. 中間CA証明書を準備します。
    次のURLにアクセスすることでリポジトリにアクセスすることが可能です。

    ●リポジトリ(証明書の発行日時が2025年12月17日0時以降の場合):国立情報学研究所 リポジトリ
    サーバ証明書G8 RSA認証局 中間CA証明書
    「NII Open Domain CA - G8 RSA(SC Organization Validation CA) CA証明書 (nii-odca4g8rsa-pem.cer)」
    サーバ証明書G7 ECC認証局 中間CA証明書
    「NII Open Domain CA - G7 ECC(SC Organization Validation CA) CA証明書 (nii-odca4g7ecc.cer)」

    ●リポジトリ(証明書の発行日時が2025年12月16日23時59分以前の場合):国立情報学研究所 リポジトリ
    サーバ証明書 RSA認証局 中間CA証明書
    「NII Open Domain CA - G7 RSA(SC Organization Validation CA) CA証明書(nii-odca4g7rsa.cer)」
    サーバ証明書 ECC認証局 中間CA証明書
    「NII Open Domain CA - G7 ECC(SC Organization Validation CA) CA証明書(nii-odca4g7ecc.cer)」

    ●リポジトリ:Security Communication RootCA2 Repository

    SECOM TLS RSA Root CA 2024 クロスルート証明書
    「Security Communication RootCA2が発行したクロス証明書(Cross Certificate) (tlsrsarootca2024cross-pem.cer)」

    【サーバ証明書(サーバ証明書G8 RSA認証局)をインストールする場合】
      RSA認証局 中間CA証明書をnii-odca4g8rsa-pem.cerという名前で保存したと仮定して以降記載します。

    【クロスルート証明書をインストールする場合(サーバ証明書G8 RSA認証局のみ)】

       RSA認証局 クロスルート証明書 をtlsrsarootca2024cross-pem.cerという名前で保存したと仮定して以降記載します。

  3. ルートCA証明書を準備します。
    【サーバー証明書(sha256WithRSAEncryption)インストールする場合】
    以下URLよりSecurity Communication RootCA2 証明書 - Security Communication RootCA2 Certificateを取得して、SCRoot2ca.cerという名前で場所に保存してください。本ファイルはデフォルトではSCRoot2ca.cerという名前でダウンロードされます。
    リポジトリ:https://repository.secomtrust.net/SC-Root2/index.html

    【サーバー証明書(ecdsa-with-SHA384)インストールする場合】
    以下URLよりSecurity Communication ECC RootCA1 証明書 - Security Communication ECC RootCA1 Certificateを取得して、SCECCRoot1ca.cerという名前で場所に保存してください。本ファイルはデフォルトではSCECCRoot1ca.cerという名前でダウンロードされます。
    リポジトリ:https://repository.secomtrust.net/SC-ECC-Root1/index.html

 

1-5-2. ルートCA証明書のインストール

以下の手順に従って、ルートCA証明書のインストールを行ってください。

ルートCA証明書のインストール

「1-5-1.事前準備」で取得したルートCA証明書をキーストアにインストールしてください。

SHA2のルート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]であることを確認してください。

 

ECDSAのルートCA証明書の場合

$ keytool -import -alias root -keystore < server_yyyymmdd.keystore > -file SCECCRoot1ca.cer
←証明書のフィンガープリントが表示されるので、リポジトリに公開されたフィンガープリントと等しいことを確認してください
Enter keystore password: <keystore_pass> ←キーストアのパスワードを入力してください
Trust this certificate? [no]: Y ←Yもしくはyesと入力してください
Certificate was added to keystore


証明書のフィンガープリントが「SHA 1:‎b8 0e 26 a9 bf d2 b2 3b c0 ef 46 c9 ba c7 bb f6 1d 0d 41 41]であることを確認してください。

 

 1-5-3. 中間CA証明書のインストール

以下の手順に従って、中間CA証明書のインストールを行ってください。

クロスルート証明書のインストールを行ってください。(サーバ証明書G8 RSA認証局のみ)

クロスルート証明書のインストール

「1-5-1.事前準備」で取得した中間CA証明書をキーストアにインストールしてください。

サーバ証明書G8 RSA認証局 中間CA証明書の場合

$ keytool -import -alias scroot2-cross -keystore <server_yyyymmdd.keystore> -file tlsrsarootca2024cross.cer
Enter keystore password: <keystore_pass> キーストアのパスワードを入力してください
Trust this certificate? [no]: Y Yもしくはyesと入力してください
Certificate was added to keystore

 

中間CA証明書のインストール

「1-5-1.事前準備」で取得した中間CA証明書をキーストアにインストールしてください。

SHA-2認証局 中間CA証明書の場合

$ keytool -import -alias niica3 -keystore < server_yyyymmdd.keystore > -file nii-odca3sha2ct.cer
Enter keystore password: <keystore_pass> ←キーストアのパスワードを入力してください
Trust this certificate? [no]: Y ←Yもしくはyesと入力してください
Certificate was added to keystore


ECC認証局 中間CA証明書の場合

$ keytool -import -alias niica3 -keystore < server_yyyymmdd.keystore > -file nii-odca3ecdsa.cer
Enter keystore password: <keystore_pass> ←キーストアのパスワードを入力してください
Trust this certificate? [no]: Y ←Yもしくはyesと入力してください
Certificate was added to keystore

 

1-5-4. サーバ証明書のインストール

サーバ証明書をインストールする場合は以下の手続きを実施してください。

サーバ証明書のインストール

「1-5-1.事前準備」で取得したサーバ証明書をキーストアにインストールしてください。