TomcatでのSSLの構成

Tomcatで暗号化された接続を有効化するには、次の手順を使用してHTTPSコネクタを構成する必要があります。

  1. Tomcatインストールでserver.xmlファイルを検索します(通常、これはTomcatディレクトリ内のconf/server.xmlです)。これには、デフォルトで次のようなセクションが含まれます。
    <!-- Define a SSL/TLS 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="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
    maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS" />
    -->
  2. 前後のXMLコメント文字を削除してConnector要素を有効にします。
  3. 必要に応じてHTTPSのポート値を設定します。デフォルトは8443であるため、異なる値を使用する場合は、HTTPコネクタのredirectPort値も一致するように変更してください。

    1024未満のポートを使用する場合、OSによっては、サーバーで特別な権限が必要になることに注意してください。

  4. サーバーの鍵と証明書を生成し、信頼できる認証局からの署名をその証明書に付与します。自己署名証明書も使用できますが、それらが認識されるためには、クライアント・マシンにインストールする必要があります。

    注意:

    証明書は、Javaキーストア(JKS形式)に格納されるか、PKCS#12ファイルとして格納されます。PKCS#12ファイルを操作するための多くのツールが使用できるため、一定の場合には後者の方が推奨されます。

  5. 次のようにpathtokeystorefilekeystorepasswordおよびkeystoretypeを参照先の情報に置き換えて、connector要素を更新します。
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true"
    maxThreads="150" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS" 
    keystoreFile="pathtokeystorefile" 
    keystorePass="keystorepassword"
    keystoreType="keystoretype"
    />
    
  6. 必要に応じてkeystoreType値をJKSまたはPKCS12に設定します。キーストアに複数の証明書が含まれる場合、keyAlias属性を使用して別名を設定します。
  7. 一部のTomcatディストリビューションには、Apache Portable Runtime (APR)ネイティブ・ライブラリが含まれます。この場合、証明書は、Apache HTTPD mod_sslスタイル属性を使用して構成する必要があります。次に例を示します。
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol" SSLEnabled="true"
    maxThreads="150" scheme="https" secure="true"
    clientAuth="false"
    SSLCertificateFile="pathtocrtfile"
    SSLCertificateKeyFile="pathtokeyfile" />
    

Tomcatの詳細は、次の場所にある『Apache Tomcat Configuration Reference』を参照してください

http://tomcat.apache.org/tomcat-8.0-doc/config/http.html

mod_sslの詳細は、次の場所にある『Apache Module mod_ssl』を参照してください

http://httpd.apache.org/docs/2.2/mod/mod_ssl.html