詳細な説明: ドライバーは、Secure Sockets Layer (SSL) 暗号化を使用して SQL Server との安全な接続を確立できません。

1. 問題分析

SSL プロトコルは主に次のサービスを提供します。

  1. ユーザーサーバーを認証して、データが正しいサーバーに送信されることを確認します。
  2. データを暗号化して、送信中のデータの盗難を防ぎます
  3. データの整合性を維持し、転送中にデータが失われないことを確認する

サーバー認証なしで SSL 接続を確立することはお勧めできません。MySQL 5.5.45+、5.6.26+、および 5.7.6+ の要件に従って、明示的なオプションが設定されていない場合は、デフォルトの SSL 接続を確立する必要があります。useSSL=false を設定して SSL を明示的に無効にするか、 useSSL=true を設定してサーバー証明書検証用のトラスト ストアを提供する必要があります。

2. JavaでMySQLデータベースに接続します。

URLを変更、追加useSSL=false

jdbc:mysql://localhost:3306/数据库名?useSSL=false

3.javaはSQL Serverデータベースに接続します

3.1 セキュリティファイルの作成

ファイル名はカスタマイズできます。ここではセキュリティという名前にします

ファイルにはサフィックスを付けず、最初に txt テキスト ファイルを作成することをお勧めします。以下をファイルに貼り付けます。

jdk.tls.disabledAlgorithms=SSLv3, 3DES_EDE_CBC, DES, MD5withRSA, \
    DH keySize < 1024, EC keySize < 224, anon, NULL, \
    include jdk.disabled.namedCurves

ファイルを保存した後、ファイルの名前を変更して接尾辞削除します。 .txt

このセキュリティ ファイルのパスを知る必要があります。私のパスは次のとおりです。D:\security

画像-20221128003948044

3.2 実行する必要があるプロジェクトにパラメータを追加する

画像-20221116123759490

画像-20221116123847209

画像-20221116124033931

VM に追加されたパラメータ形式:"-Djava.security.properties=作成したばかりのセキュリティ ファイル パス"

私は次のとおりです: "-Djava.security.properties=D:\security"(二重引用符を書くことに注意してください)

画像-20221116124238759

現時点では、プロジェクトを再度実行しても問題ありません。

おすすめ

転載: blog.csdn.net/qq_62982856/article/details/127883056