SSLHandshakeException のため、データベースに接続できません
Java セキュリティポリシー(英語)のため、TLS1.0 および TLS1.1 プロトコルの使用は無効になりました。この Java 更新により、これらのプロトコルをまだ受け入れる古いサーバーに接続しようとしたときに発生した javax.net.ssl.SSLHandshakeException
エラーが発生しました。
修正として、これらのプロトコルを明示的に有効にすることができます。脆弱性の問題が発生する可能性があることに注意してください。新しいバージョンの TLS の使用を検討してください。
MySQL
データソースのプロパティを開きます。次のいずれかのオプションを使用して、データソースのプロパティを開くことができます。
データベースツールウィンドウ ( ) で、データソースのプロパティアイコン
をクリックします。
Shift+Enter を押します。
無効化されたアルゴリズムを有効にするデータソースを選択します(たとえば、MySQL 8.0.3)。次の必要なアルゴリズムが無効になっている可能性があります:
SSLv3
、TLSv1
、TLSv1.1
、RC4
、DES
、MD5withRSA
、DH keySize < 1024
、EC keySize < 224
、3DES_EDE_CBC
、anon
、NULL
、include jdk.disabled.namedCurves
データソースの右側のペインで、接続のテストをクリックします。
通知で、実行するアクションを選択します。次のアクションから選択できます。
無効なアルゴリズムの編集 : 選択したデータソースの詳細設定タブを開き、フォーカスを VM オプションフィールドに移動します。VM オプションフィールドでは、無効になっているアルゴリズムのリストを手動で編集できます(
Djdk.tls.disabledAlgorithms
オプションの場合)。TLSv1 を有効にする :
Djdk.tls.disabledAlgorithms
オプションからTLSv1
を削除します。このアクションにより、TLS1.0 が有効になります。TLSv1.1 を有効にする :
Djdk.tls.disabledAlgorithms
オプションからTLSv1.1
を削除します。このアクションにより、TLS1.1 が有効になります。JDBC ドライバーですべてのプロトコルを有効にしてください :
Djdk.tls.disabledAlgorithms
オプションからSSLv3
、TLSv1
、TLSv1.1
、RC4
、DES
、MD5withRSA
、DH keySize < 1024
、EC keySize < 224
、3DES_EDE_CBC
、anon
、NULL
、include jdk.disabled.namedCurves
を削除します。このアクションにより、無効になっているすべてのアルゴリズムが有効になります。
接続のテストをクリックして、修正が機能するかどうかを確認します。
最初に TLSv1 を有効にすると TLSv1.1 を有効にするを試すことができます。それでもエラーが発生する場合は、他のアルゴリズムを有効にしてみてください。
Microsoft SQL Server
ファイルブラウザーで、次の内容の custom.java.security ファイルを作成します。
jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, \ DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \ include jdk.disabled.namedCurvesTLSv1 は、無効になっているアルゴリズムのリストから削除されていることに注意してください。
データソースのプロパティを開きます。次のいずれかのオプションを使用して、データソースのプロパティを開くことができます。
データベースツールウィンドウ ( ) で、データソースのプロパティアイコン
をクリックします。
Shift+Enter を押します。
Microsoft SQL Server データソースを選択し、詳細設定タブをクリックして、次のオプションを VM オプションフィールドに追加します。
-Djava.security.properties=${PATH_TO_FILE?}/custom.java.security
ここで、${PATH_TO_FILE?}
は、作成された custom.java.security ファイルへのパスです。メインメニューで、
に移動します。Microsoft SQL Server データソースに接続してみてください。
関連ページ:
![](https://resources.jetbrains.com/help/img/idea/2024.1/db_syncronize_database_state.png)
データベースツールウィンドウでデータベースオブジェクトが見つかりません
スキーマレベル以下のオブジェクトが表示されない、オブジェクトの変更が見つからない、壊れたテーブルがあるなどの視覚化の問題が発生した場合は、次の手順を実行して問題を解決してください。ステップ 1. データベースの状態をリフレッシュする:誰かがリモートデータベースのデータまたはビューを変更した場合、データベースのローカルビューはデータベースの実際の状態とは異なる可能性があります。データベースの状態を自動的に同期するには、データベースツールウィンドウ (表示 | ツールウィンドウ | データベース)...
![](https://resources.jetbrains.com/help/img/idea/2024.1/db_change_log_location.png)
トラブルシューティング資料
より正確で素早い回答のためにトラブルシューティング資料をアタッチすることを検討してください。ログファイル、スクリーンショット、アニメーション、ビデオ、データベースダンプなどの資料が調査に役立ちます。ログファイルを見つける:IntelliJ IDEA ログを検索するをクリックします。idea.log ファイルには、IDE のパフォーマンスに関する最近のログ情報が含まれています。idea.log ファイルには、IDE パフォーマンスに関する最近のログ情報が含まれています。SQL ログの場所を変更する S...