QuickFIX/J を使用し、Groovy 2.4.5 で作成され、Gradle 2.10 でビルドされたアプリケーションのトラブルシューティングを行っています。この FIX サーバーは、Spring-boot 1.2.6 を介して API も提供します。
アプリケーションは、OS X から実行すると SSL 接続を介してテスト ピア アクセプターに接続できますが、Ubuntu 14.04 から実行すると機能しません。
Linux イベント ログ:
[タイムスタンプ]: 切断: ソケット例外 (/[ip:ポート]): javax.net.ssl.SSLHandshakeException: SSL ハンドシェイクに失敗しました。
で証明書を確認しようとしましkeytool
たが、証明書に問題は見つかりませんでした。また、OSX のファイル システムの大文字と小文字を区別しない性質を排除して、ファイルへのパスが大文字と小文字を区別することも確認しました。
証明書は、アクセプターを実行している会社によって生成および署名されます。Ubuntu でのこのハンドシェイクの失敗をさらにトラブルシューティングするにはどうすればよいですか?
アップデート
QuickFIX/J のロギングをさらに実装すると、追加情報が得られます。私が試したすべての Google 検索では、エラーの意味について適切な説明が得られませんでした。
[timestamp] [NioProcessor-3] DEBUG o.apache.mina.filter.ssl.SslHandler - SSLEngine.closeInbound() からの予期しない例外。javax.net.ssl.SSLException: ピアの close_notify を受信する前に受信が閉じられました: トランケーション攻撃の可能性がありますか?