中間CA証明書、サーバー証明書をダウンロードし、次の手順に従い証明書を設定してください。
証明書のインストール
サーバー証明書とチェーン証明書(中間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
参考: 待ち受けるポート番号によっては、スーパーユーザー特権の不必要な場合もあります。
証明書のインストールは、以上で完了です。
※証明書のインストール後、鍵ストアのファイルは、必ずバックアップをとり、パスワードの保管場所と別の安全な場所に保管してください。