V4環境を新サーバーに構築したがログイン時にエラーが発生する
公開日:2023/07/10
- V4.3
- V4.2
- V4.1
- V4.0
メジャーバージョンアップのために一時的なV4環境を新サーバーに構築しました。
データベースは「SQL Server」を使用していますが、インストール後にワークフローシステムへログインしたところ
以下のエラーメッセージが表示されました。何が原因でしょうか。
---------------------------------------------------------------------
データベースの処理に失敗しました。
システム管理者にお問合せください。
---------------------------------------------------------------------
なお、システムログの「tomcatcwf-stderr」には以下のログが出力されています。
---------------------------------------------------------------------
SQLServerException:
ドライバーが SSL (Secure Sockets Layer) 暗号化による SQL Server への安全な接続を確立できませんでした。
エラー:"java.lang.RuntimeException: Could not generate DH keypair"
---------------------------------------------------------------------
Windows Server 2016でSSLに関する設定が強化されましたが、V4のCreate!Webフローで使用している
「JDK6」は上記の設定強化に対応していません。そのため、Create!Webフローから該当のSQL Serverへの
接続が失敗します。本事象の詳細は以下の通りです。
◆発生対象製品
Create!WebフローV4
◆発生条件
Windows Server 2016以降のOSにCreate!Webフローをインストールしている
◆回避方法
WindowsのSSL暗号化強度に対応するJDKへ更新することで改善します。
以下よりCreate!Webフローで使用する「Tomcat」と「JDK」を更新してください。
・Create!Webフロー利用環境(Tomcat8/JDK1.8)アップデート
※Create!Webフロー V4.2以降が対象です。
◆暫定対応
SQL Server をインストールしたOSのレジストリからSSLに関する設定を変更します。
手順は以下となります。
※本暫定対応はWindowsの推奨よりもSSLの暗号化強度が低下します。
ただし、Windows Server 2016以前のOSと同等の強度であることと、
サーバーが外部からアクセスできない環境であれば影響は少ないと考えられます。
※以下の手順は Windows Server 2016 で確認しています。
Windows Server 2016 以降でキーなどの変更がある場合は適宜読み替えてください。
※必ずレジストリをバックアップしてから実施してください。
1. レジストリエディターの起動とキーの表示
レジストリエディターの起動は、[Windows]+[R]キー を同時に押下して起動した
「ファイル名を指定して実行」画面へ「regedit」と入力し「OK」ボタンをクリックします。
レジストリエディターで以下のキーを表示します。
・キー名
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Control\SecurityProviders\SCHANNEL\KeyExchangeAlgorithms\Diffie-Hellman
※該当のキー「Diffie-Hellman」がないときは、「KeyExchangeAlgorithms」を右クリックして
[新規]-[キー]から「Diffie-Hellman」を新規作成してください。
2. レジストリへ新しい値の登録
[Diffie-Hellman]を右クリックして[新規]-[DWORD(32)ビット]を選択します。
右画面に「名前」と「新しい値 #1」というデータが表示されるので以下の通り設定します。
名前 :ServerMinKeyBitLength
データ:0x00000400(1024)
※データをダブルクリックし、「DWORD(32)ビット値の編集」画面にて
項目「表記」で「10進数」を選択後、「値のデータ」へ「1024」を入力して「OK」ボタンをクリックします。
3. 接続確認
Create!Webフローにログイン(接続) できることを確認します。
なお、こちらでエラーが発生する場合は、2.の手順にて追加した値が反映されていないことが考えられます。
「2」のサーバーを再起動して動作をご確認ください。
アンケート
この質問・回答は役に立ちましたか?