2009-08-15 6 views
0

私はBouncyCastle bcprov-jdk14-124.jar(oooold)からbcprov-jdk14-143.jarにアップグレードしようとしています。古いjarファイルを新しいjarファイルに置き換えてすべてをビルドすると、私のソフトウェアはSSL接続を確立せず、javax.net.ssl.SSLException: Received fatal alert: illegal_parameterで失敗します。 「bouncycastle javax.net.ssl.SSLException illegal_parameter」のグーグルでは、4つの結果が表示されます。javax.net.ssl.SSLException illegal_parameter bouncycastle関連ですか?

これをどこからデバッグするかについてのご意見はありますか?

追加コンテキスト:

  • クライアントは、クライアントがAXIS2のPOSTのためのSSL接続を確立しようとしているOracle Application Serverの
  • を使用して、CentOSの上
  • WinXPの
  • 上のサーバーです。
  • サーバがbcprov-jdk14-143使用すると、クライアントはbcprov-jdk14-124を使用して、POSTは成功しますが、クライアントが143にアップグレードされたとき、私はこのエラー

答えて

1

を取得すると、私は少し午前あなたの設定について混乱します。 JSSEのエラーですが、BCはJSSEを提供していません。 SunJSSEを使用しているサーバーからのエラーであると仮定します。 TLS接続(TlsProtocolHandlerがあるかどうか確認)を行うには、おそらくクライアントからBCのTLS APIを使用します。

これが当てはまる場合は、Java 1.4ではすべての機能がすでに奇跡ですが、私は何もアップグレードしません。 Java 5より前では、SunのJSSEは部分的にSunJCEに配線されていたため、実質的に2つのJCEをサーバー上で同時に使用していました。私は前にBCからTLSで遊んでいました。私はあなたが私よりも前にあるように働いたことはありません:)

なぜBCをアップグレードする必要がありますか?私の意見では、Java 1.4以降であればBCを使用する理由はありません。ただし、TlsProtocolHandlerを使用する場合は、コードを変更して削除する必要があります。

特定のエラーは、サーバーが圧縮方法のリストを送信することによって発生します。それを回避する方法はありません。誰も圧縮をサポートしていませんが、Nullメソッドのみを使用してリストを送信します。

+0

CipherOutputStreamでAES/CTR/NoPaddingを使って別の問題に遭遇しています(私がアップグレードを望む部分ブロックを.close()に書き出しません)。 BCの124バージョンは本当に古く、私はそれをアップグレードできないと私に懸念しています。 – retracile

+0

私は、SSLを破ることなくクライアントをBC 1.41にアップグレードできると判断しました(CTRの問題は1.24と1.41の間のどこかで修正されていますが、最新のBCリリースにアップグレードする主な理由です)。しかし、BC 1.42および1.43では、説明されているエラーでSSLが破損しています。 最新のBCリリースにアップグレードしたいが、今緊急性は低いです。 – retracile

+0

BCを取り除いてみませんか? JSSEは、JavaでTLSを実行する標準的な方法です。 TlsProtocolHandlerをSSLSocketFactoryに変更する必要があります。 TLSのバグがBCにどれくらいの期間あったかで判断すると、ごく少数の人が使用しています。 –

関連する問題