2016-04-05 32 views
2

Java 6のTomcatで実行される従来のWebアプリケーションがあります.7または8にアップグレードすることは不可能です。これを可能にするにはアプリケーションが重要な作業を必要とし、必要な修正は実装するには大きすぎます。レガシーアプリケーションTLS 1.2でアウトバウンド(すなわちクライアントとして)を接続する必要がありますが、Java 6は1.0のみをサポートしています。私たちは、着信接続については、弊社のWebサーバーとOpenSSLとしてApacheを使用し、これは喜んでTLS 1.2などをサポートしていますTLS 1.2をJava 6から使用する

は、誰でも同様の問題に対処するために持っていた、またはあなたが以下の潜在的な回避策にコメントすることができます

  • ループバック
  • はOpenSSLがクライアントとすることができる
    • 効果的に内部のプロキシは、localhost(またはリダイレクト)とTLS 1.2の接続を作成するためにOpenSSLを使用しますか?
    • s_clientが必要ですか?
  • https://www.bouncycastle.org/(私たちのこれは
  • は明らかにこれを実装する選択する必要があります接続
    • をアップグレードするためのファイアウォールは、ファイアウォール
  • 用途に依存する現在の「弾む城」を使用します)
+0

Java 6で動作するアプリケーションはJRE 7で動作しない可能性は低いです。試しましたか? Bouncy Castleは、セキュリティプロバイダをJREから透過的に置き換えることができるため、互換性を保証するために多くのテストを行う必要があります。 –

+0

私たちはJava 7を試しましたが、それは壊れました。回帰テストはほとんど自動化されているため、問題は少なくなります。 – Nate

+0

AFAIK、JDK 6はセキュリティアップデートをもう受信しないので、使用することはお勧めできません。それが更新されても、JavaのTLS実装に関する多くの問題のため、TLSサーバーにはJavaを使用しません。 Tomcatの前にnginxをリバースプロキシ/ TLSターミネータとして置いて、nginxがTLSを処理できるようにします。 –

答えて

1

これにはopensslのs_clientを使用しないでください。これは遅く、intendeですデバッグ/テスト用にさらにd個。

stunnelを試してみてください。あなたのようなユースケース用に設計されており、始めるための豊富なサンプル設定があります。 TLS 1.2を強制的に使用するには、設定にsslVersion = TLSv1.2ディレクティブを含める必要があります。

関連する問題