2016-06-29 19 views
1

WSO2 ESB(4.7.0)を使用してHTTPS経由でWebサービスを使用しようとしています。 Webサービスでは、すべての呼び出し元が1.0以上のTLSバージョン(1.1または1.2)を使用する必要があります。WSO2のESB出力リクエストでTLS 1.1/1.2を使用する

私はJava 1.7を使用しています。

私は無駄に私のPassthroughTransportSender(およびレシーバ)に次の行の定義を追加しました:

<parameter name="HttpsProtocols">TLSv1.2</parameter> 

にはどうすればWSO2コールアウトを作成し、新しいTLSバージョン(好ましくはTLS 1.2)を使用するメディエーターを送ることができますか?

+0

この問題は解決しましたか?私はこのエラーに遭遇し、 'HttpsProtocols'をセットしました.ESB 4.8.0はまだTLSv1を使います。ところで、私はまた、送信者のプロキシを使用します。 – James

+1

@James、残念ながら、私はWSO2 ESB 4.7.0を使用した回答で提案された方法を使用して問題を解決することができませんでした。 チームでやったことは、TLS 1.2を知っているプロキシを設定し、ESBのHTTPSトラフィックをプロキシ経由でルーティングしました。私はこのアプローチが最適ではないことを知っていますが、ESBを新しいバージョンにアップデートしなくても最高の状態になることができました。これは、かなりの数の構成変更(独自のプロジェクト)が含まれていました。これを行うには、ESBのキーストアにプロキシのSSL証明書をインストールする必要があります。 – Kallja

+0

ええ。どうも。アイデアを得る。しかし、バックエンドのサービスでTLSv1を有効にすることを頼みます。とにかく、私たちのチームはすでにdropwizardへの移行を決めました。 ESBサービスのみを維持する必要があります。 – James

答えて

0

axis2.xmlファイルを開くと、$ ESB_HOME/repository/conf/axis2ディレクトリにあります。 PassThroughHttpSSLListenerおよびPassThroughHttpSSLSender要素の中に

<parameter name="HttpsProtocols">TLSv1</parameter> 

エントリを追加します。

パススルー転送をサポートしていない古いバージョンのESBを使用している場合は、上記のタグをHttpCoreNIOSSLListenerおよびHttpCoreNIOSSLSender要素の中に追加する必要があるかもしれません。私のブログ記事[1]

[1] http://ravindraranwala.blogspot.com/2014/11/ssl-debugging-in-wso2-esb.html

+0

TLS 1.0はまさしく私が使用してはいけないものです。私は最低限のTLS 1.1を使用する必要があります。 – Kallja

+0

これは単なる参考回答です。したがって、あなたの要件に応じてそれを変更してください。 –

+0

私は、この質問を書く前にずっと使っていた設定スニペットを使って質問を更新しました。要するに、それは動作しません。 – Kallja

0

を私はESB 4.9.0 & JDK 1.8でこれをテストしました。

以下のパラメータをPassThroughHttpSSLSenderに追加します。

<transportSender name="https" class="org.apache.synapse.transport.passthru.PassThroughHttpSSLSender"> 
    ..... 
    <parameter name="HttpsProtocols">TLSv1.2</parameter> 
    ..... 
</transportSender> 

次に、送信接続ではTLSv1.2を使用します。

+0

このアプローチは、4.7.0の必須ESBバージョンでは機能しません。 – Kallja

関連する問題