2

私は現在、Microsoft の JDBC ドライバーを使用して SQL Server に接続しているサード パーティ ベンダーから Java Web アプリを購入したプロジェクトに取り組んでいます。ただし、独自の暗号化プロトコルを使用して接続文字列を暗号化する必要があるという要件が与えられました。

したがって、私の質問は、Microsoft から配布された JDBC ドライバーを拡張して、この暗号化を組み込むことがどの程度実現可能かということです。この時点で、私は主に、Microsoft JDBC ドライバーを使用する JDBC ラッパーを作成することを考えています。

過去に同様のことを行った可能性のある経験豊富な人々からの他の提案、またはこのアプローチの落とし穴を共有できる場合でも、私はオープンです。

4

3 に答える 3

3

jtds を使用します。それはすべて Java であり、SQL サーバーでうまく機能し、暗号化をサポートします。これは、暗号化の設定を差し引いた交換のドロップです。JDBC URL を構成した場所 (できれば WEB-INF の下の構成ファイルまたはそのような場所) を知り、そこに jtds URL を入力し、Jar を WEB-INF/lib ディレクトリにドロップするだけで済みます。 . WAR ファイルを抽出し、jtds で再パッケージ化する必要がある場合があります。これは、このサードパーティ ベンダーがアプリをどのように配信したかによって異なります。はい、私は何年もの間、それを使用して製品パッケージ化されたエンタープライズ ソフトウェアを出荷してきました。

http://jtds.sourceforge.net/

たとえば、次のような単純なプロパティ ファイルがあるとします。

db.url=jdbc:mssql:....
db.username=bibby
db.password=blahblahblah

次のように変更します。

db.url=jdbc:jtds:<server_type>://<server>[:<port>][/<database>][;<property>=<value>[;...]]
db.username=bibby
db.password=blahblahblah

もちろん、必要に応じて <> と [] の部分をすべて入力する必要があります。次に、jtds.jar と必要なすべての依存関係を WEB-INF/lib にコピーし、サーバーを再起動します。それはうまくいくはずです。

于 2012-06-07T19:37:53.033 に答える
1

元のドライバーに目的の機能がない場合 -> 公式リリースを取得 (またはフォーク) し、必要に応じてパッチを適用/追加することができます

https://github.com/Microsoft/mssql-jdbc/releases

于 2017-01-10T15:59:20.683 に答える
-1

この時点で、私は主に、Microsoft JDBC ドライバーを使用する JDBC ラッパーを作成することを考えています。接続情報を解読し、データベース接続を SQLServer のポートに転送するには、サーバー側にプロキシが必要だと思います。

于 2012-06-09T12:35:45.467 に答える