SSL環境で利用する¶
SSL環境でワークフローシステムを利用する場合、SSL用コネクタの有効化や証明書のインストールといった一般的な手順に加え、ワークフローシステム用の設定を追加する必要があります。本項では、SSL環境でワークフローシステムを利用する場合に必要な手順について説明します。
注意
- 本設定は、パッケージ版で利用できます。
クラウド版では利用できません。 - 該当箇所に変更が適用されている場合は修正不要です。
ヒント
SSL(Secure Sockets Layer)とは
SSL(Secure Sockets Layer)は、インターネット上での通信を暗号化する技術です。
SSLを利用することで、ユーザーが利用するブラウザーとサーバー間の通信を暗号化し、第三者によるデータの盗聴やなりすまし、改ざんなどを防ぐことができます。
例として、以下の環境を前提とした手順を説明します。実際に利用する環境に合わせて置き換えて実施してください。
項目 | 内容 |
---|---|
キーストアのファイル名 | server.keystore |
キーストアのパスワード | password |
CSRのファイル名 | server.csr |
ルート証明書エイリアス名 | root |
ルート証明書のファイル名 | root.cer |
中間CA証明書エイリアス名 | middle |
中間CA証明書のファイル名 | middle.cer |
サーバー証明書エイリアス名 | webflow |
サーバー証明書のファイル名 | webflow.cer |
注釈
SSL証明書の発行 および SSL証明書のインストール は、一般的な手順を例として説明します。すでに実施済みの環境の場合は、 ワークフローシステムの設定 より実施してください。
SSL証明書の発行 および SSL証明書のインストール の手順では、Javaのkeytoolというコマンドを使用します。
コマンド実行前に以下ディレクトリに移動して実行してください。OS ディレクトリの移動 Windows の場合 以下のコマンドでディレクトリに移動します。
>cd (CREATE_HOME)/Java/(jdk)/bin
(CREATE_HOME)はワークフローシステムフォルダのパスに、(jdk)はご利用のjdkのバージョンと同じフォルダに読み替えてください。
例)Cドライブ直下にインストールし、jdk1.8をご利用の場合
C:/CREATE_HOME/Java/jdk1.8.0_91/binLinux の場合 以下のコマンドでディレクトリに移動します。
>cd $(CREATE_HOME)/Java/(jdk)/bin
(CREATE_HOME)はワークフローシステムフォルダのパスに、(jdk)はご利用のjdkのバージョンと同じフォルダに読み替えてください。
例)「/usr/local」ディレクトリ直下にインストールし、jdk1.8をご利用の場合
/usr/local/CREATE_HOME/Java/jdk1.8.0_91/bin
SSL証明書の発行
キーストアファイルの作成
以下のコマンドを実行し、キーストアを作成します。
>keytool -genkeypair -alias webflow -keyalg RSA -keysize 2048 -keystore server.keystore -storepass password 姓名は何ですか。 [Unknown]: (ドメイン名を入力。例:xxx.xxxxx.co.jp) 組織単位名は何ですか。 [Unknown]: (組織単位を入力。例:XXXXX Group) 組織名は何ですか。 [Unknown]: (組織名を入力。例:xxx XXX Inc) 都市名または地域名は何ですか。 [Unknown]: (都市名または地域名を入力。例:XXXX) 都道府県名または州名は何ですか。 [Unknown]: (都道府県名を入力。例:Tokyo) この単位に該当する2文字の国コードは何ですか。 [Unknown]: (2文字の国番号を入力。例:JP) CN=xxx.xxxxx.co.jp, OU=XXXXX Group, O=xxx XXX Inc., L=XXXX, ST=Tokyo, C=JP でよろしいですか? [いいえ]:(「はい」を入力) <webflow>の鍵パスワードを入力してください。 (キーストアのパスワードと同じ場合は RETURN を押してください):(RETURN[Enter]を入力)CSR ファイルの作成
作成したキーストアを使用して、CSRを作成します。以下のコマンドを実行します。
>keytool -certreq -alias webflow -keystore server.keystore -storepass password -file server.csr証明書発行機関への申請
作成したCSRを証明書発行機関に提出/申請し、SSL証明書を発行してください。
SSL証明書のインストール
証明書発行機関より提供/発行された証明書 をインストールします。それぞれ以下のコマンドを実行します。
ルート証明書のインストール
>keytool -import -alias root -keystore server.keystore -storepass password -file root.cer中間証明書のインストール
>keytool -import -alias middle -keystore server.keystore -storepass password -file middle.cerサーバー証明書のインストール
>keytool -import -alias webflow -keystore server.keystore -storepass password -file webflow.cer
ワークフローシステムの設定
ワークフローシステムを停止し、各設定ファイルを変更します。
ワークフローシステムの停止
ワークフローシステムを停止 します。server.xmlの設定
server.xmlを編集して保存します。
注意
server.xmlは、編集前に必ずバックアップを作成してください。
変更するファイル [インストールディレクトリ]\Tomcat\conf\server.xml
例)C:\CREATE_HOME\Tomcat\conf\server.xml変更内容 以下の内容を変更します。
変更後のタグ・値がすでに指定されている場合は変更は不要です。
SSL用コネクタ<Connector port="8443"…/>タグのコメント化(<!– –>)を解除し、SSL用コネクタを有効化します。
SSL用コネクタ<Connector port="8443"…/>タグにuseBodyEncodingForURI属性(設定値:true)を追加します。
useBodyEncodingForURI="true"
SSL用コネクタ<Connector port="8443"…/>タグのsslProtocol属性(設定値:TLS)を追加します。
sslProtocol="TLS"
SSL用コネクタ<Connector port="8443"…/>タグにkeystoreFile属性(設定値:キーストアファイル配置パス)とkeystorePass(設定値:キーストアファイルパスワード)属性を設定します。
keystoreFile="キーストアファイル配置パス" keystorePass="キーストアファイルパスワード"
SSL用コネクタ<Connector port="8443"…/>タグのciphers属性を追加し、以下を設定します。
ciphers 属性の値は改行を含めず 1 行で記述してください。ciphers="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
◇変更前
<!-- <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" … executor="tomcatThreadPool" maxSwallowSize="-1" /> -->◇変更後 (V5.4.0以降のバージョン)
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" useBodyEncodingForURI="true" executor="tomcatThreadPool" maxSwallowSize="-1" keystoreFile="(例:./server.keystore)" keystorePass="(例:password)" ciphers="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_EMPTY_RENEGOTIATION_INFO_SCSV" maxParameterCount="10000"> <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />◇変更後 (V5.4.0より前のバージョン)
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" useBodyEncodingForURI="true" executor="tomcatThreadPool" maxSwallowSize="-1" keystoreFile="(例:./server.keystore)" keystorePass="(例:password)" ciphers="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_EMPTY_RENEGOTIATION_INFO_SCSV" />axis2.xml の変更
axis2.xmlを編集して保存します。
注意
axis2.xmlは、編集前に必ずバックアップを作成してください。
変更するファイル [インストールディレクトリ]\Tomcat\webapps\XFV20\WEB-INF\conf\axis2.xml
例)C:\CREATE_HOME\Tomcat\webapps\XFV20\WEB-INF\conf\axis2.xml変更内容 以下の内容を変更します。
httpsのみ許可する場合
<transportReceiver>タグのname属性を"http"から"https"に変更します。
◇変更前
<transportReceiver name="http" class="org.apache.axis2.transport.http.AxisServletListener"/>◇変更後
<transportReceiver name= "https" class="org.apache.axis2.transport.http.AxisServletListener"/>http/https両方を許可する場合
<transportReceiver>タグをそれぞれに用意し、使用するポートを<parameter>タグで指定します。
◇変更前
<transportReceiver name="http" class="org.apache.axis2.transport.http.AxisServletListener"/>◇変更後
<transportReceiver name="http" class="org.apache.axis2.transport.http.AxisServletListener"> <parameter name="port">8080</parameter> </transportReceiver> <transportReceiver name="https" class="org.apache.axis2.transport.http.AxisServletListener"> <parameter name="port">8443</parameter> </transportReceiver>ワークフローシステムの起動
ワークフローシステムを起動 します。動作確認
複数の端末/ブラウザから、ワークフローシステムを表示できるかご確認ください。
同様にフォームマネージャー、オプション製品も正常に利用できることをご確認ください。