Tomcat 新規/更新用

中間CA証明書、サーバー証明書をダウンロードし、次の手順に従い証明書を設定してください。

  1. 証明書のインストール
  2. SSLの有効化 および 再起動

証明書のインストール

サーバー証明書とチェーン証明書(中間CA証明書)の2つをつなぐ

次のコマンドを入力し、ダウンロードしたサーバー証明書(例:Bxxxxxx.cer)と上記の中間CA証明書(例: pfwsr2ca.cer)の2つをつなぎます。

次のコマンドを入力し、ダウンロードしたサーバー証明書(例:Bxxxxxx.cer)と上記の中間CA証明書(例: pfwsr2ca.cer)の2つをつなぎます。

コマンド例:$ cat Bxxxxxx.cer pfwsr2ca.cer >combined.crt

「combined.crt」: 任意のファイル名

証明書のインストール

次のコマンドを入力し、つないだ証明書をインストールしてください。

コマンド例:$ keytool -import -alias tomcat -file combined.crt -keystore /your/keystore/filename

「tomcat」:申込時に作成した鍵ペアの名前。Tomcat 6以降をご利用の場合は、立上げファイル (conf/server.xml) のConnector要素のkeyAlias属性に指定した値と同一です

「combined.crt」: 上記手順 1-1.でつないだファイルの名前

「/your/keystore/filename」: 申込時に作成した鍵ストアのファイルの名前

パスワードの入力

プロンプトが表示されたら、パスワードを入力してください。

コマンド例:Enter keystore password: changeit

「changeit」: 申込時に作成した鍵ストアのパスワード

※JREのバージョンにより、次のようなプロンプトが表示されることがあります。 表示された場合は、「yes」と入力してください。

コマンド例:

Top-level certificate in reply: 
Owner: CN=SECOM Passport for Web SR 3.0 CA, O=SECOM Trust Systems CO.,LTD., C=JP 
Issuer: OU=Security Communication RootCA2, O=SECOM Trust Systems CO.,LTD., C=JP 
Serial number: 22b9b0bd 
Valid from: Fri Dec 06 23:37:14 JST 2013 until: Wed Dec 06 23:37:14 JST 2023 
Certificate fingerprints: 
  MD5: C2:05:37:65:7A:19:E2:88:D6:13:F1:7C:8C:E6:51:71 
  SHA1: 2D:7E:6B:41:6F:2F:4E:BD:35:31:E2:EB:D2:0E:82:11:34:C6:E3:DB 
  SHA256: C8:C3:FF:5D:E9:8E:F3:69:2F:3A:19:68:A1:3E:BD:2A:86:0B:B3:F4:86:EC:45:43:4F:8E:90:73:C4:A9:CD:67 

... is not trusted. Install reply anyway? [no]:  yes

インストールの確認

次のように表示されることを、ご確認ください。

コマンド例:Certificate reply was installed in keystore

以上で証明書のインストールは完了です。

SSLの有効化 および 再起動

SSLを有効にし、再起動を行います。 SSLを設定済みであれば、次のように設定されているかどうかをご確認いただき、再起動を行ってください。

SSLの有効化

次のようなConnector要素 (またはSSLHostConfig要素) を、 server.xmlファイルに指定してください。

  • 「443」 : Tomcatが待ち受けるポートの番号
    ※Tomcat付属の立上げファイルでは8443番ポートですが、 httpsでは既定で443番ポートを使用します。
  • 「changeit」 :  申込時に作成した鍵ストアのパスワード
  • 「/your/keystore/filename」 : 申込時に作成した鍵ストアのファイル名
  • 「tomcat」 :  申込時に作成した鍵ペア名
  • 「www.example.jp」 :  申込時に入力したコモン・ネーム

Jakarta Tomcat 4.1.31以前 の場合

<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<!--
        -->
   <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
                    port="443" minProcessors="5" maxProcessors="75" enableLookups="true"
                    acceptCount="100" debug="0" scheme="https" secure="true"
                    useURIValidationHack="false" disableUploadTimeout="true">
      <Factory className="org.apache.coyote.tomcat4.CoyoteServerSocketFactory"
                    keystoreFile="/your/keystore/filename" keystorePass="changeit"
                    clientAuth="false" protocol="TLS"/>
     </Connector>
<!--
        -->

Apache Tomcat 4.1.32以降 の場合

<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<!--
        -->
     <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
                    port="443" enableLookups="true" scheme="https"
                    secure="true" acceptCount="100"
                    useURIValidationHack="false" disableUploadTimeout="true"
                    keystoreFile="/your/keystore/filename"
                    keystorePass="changeit"
                    clientAuth="false" sslProtocol="TLS"  />
<!--
        -->

Tomcat 5.0、5.5 の場合

<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<!--
        -->
     <Connector port="443"
                maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                enableLookups="false" disableUploadTimeout="true"
                acceptCount="100" debug="0" scheme="https" secure="true"
                keystoreFile="/your/keystore/filename" keystorePass="changeit"
                clientAuth="false" sslProtocol="TLS" />
<!--
        -->

Apache Tomcat 6、Apache Tomcat 7.0.52以前 の場合

<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<!--
        -->
     <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
                maxThreads="150" scheme="https" secure="true"
                keystoreFile="/your/keystore/filename" keystorePass="changeit"
                keyAlias="tomcat"
                clientAuth="false" sslProtocol="TLS" />
<!--
        -->

Apache Tomcat 7.0.53以降 の場合

<!-- Define a SSL HTTP/1.1 Connector on port 8443
      This connector uses the BIO implementation that requires the JSSE
      style configuration. When using the APR/native implementation, the
      OpenSSL style configuration is required as described in the APR/native
      documentation -->
<!--
        -->
     <Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
                maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
                keystoreFile="/your/keystore/filename" keystorePass="changeit"
                keyAlias="tomcat"
                clientAuth="false" sslProtocol="TLS" />
<!--
        -->

Apache Tomcat 8.0.9以降、Apache Tomcat 8.5.3以降 の場合

<!-- Define a SSL HTTP/1.1 Connector on port 8443
      This connector uses the NIO implementation that requires the JSSE
      style configuration. When using the APR/native implementation, the
      OpenSSL style configuration is required as described in the APR/native
      documentation -->
<!--
        -->
     <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
                maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
                keystoreFile="/your/keystore/filename" keystorePass="changeit"
                keyAlias="tomcat"
                clientAuth="false" sslProtocol="TLS" />
<!--
        -->

Apache Tomcat 8.5.3以降でSNIプロトコル拡張を使用なさる場合

Connector要素の内側に次のようなSSLHostConfig要素を追加してください。

Connector要素が「/>」で終わる自己区切りのときは、「/」文字の削除と同様、 閉じタグ (「」) も忘れず追加してください。

<SSLHostConfig hostName="www.example.jp">
         <Certificate certificateKeystoreFile="/your/keystore/filename"
                certificateKeystorePassword="changeit"
                certificateKeyAlias="tomcat"
                certificateKeystoreProvider="SUN"
                certificateKeystoreType="JKS"
                type="RSA" />
     </SSLHostConfig>

※鍵ストアのパスワードは、 server.xmlファイルに平文で指定します。 パスワードや秘密鍵が他人に漏洩しないよう、 このファイルやconfディレクトリーの許可モードなどにご注意ください。

Tomcatの停止・再起動

設定を反映させるため、Tomcatを停止・再起動をしてください。

停止コマンド$ ${CATALINA_HOME}/bin/catalina.sh stopまたは$ ${CATALINA_HOME}/bin/shutdown.sh

「${CATALINA_HOME}」:Tomcatを導入したディレクトリー

# ${CATALINA_HOME}/bin/catalina.sh runまたは# ${CATALINA_HOME}/bin/startup.sh

参考: 待ち受けるポート番号によっては、スーパーユーザー特権の不必要な場合もあります。

証明書のインストールは、以上で完了です。

※証明書のインストール後、鍵ストアのファイルは、必ずバックアップをとり、パスワードの保管場所と別の安全な場所に保管してください。