HTTPS経由でWebサービスに接続しています。機能させるために必要だと思うことはすべて実行しましたが、最終的にはハンドシェイクに失敗します。
「スパム保護」のため、新しいユーザーとして2つを超えるリンクを投稿できないことがわかりました-たくさんのstackoverflowに感謝します...とにかく、ここにすべてのリンクがスペルアウトされたペーストビン投稿へのリンクがあります...ここに「link#1」と記述します。これはこれらのリンクへの参照です:http : //pastebin.com/y4zGNRC7
もう1つの奇妙なことは、キーストアを設定したときと設定しなかったときに同じ動作をしているように見えることです(唯一の違いは、キーストアの内容をコンソールに出力するときですが、それだけです)。
私は問題をグーグルで試しました、そしてここでstackoverflowで多数の同様の投稿を見ました、しかし何も助けにはなりませんでした。プロトコルバージョン( "TLSv1"、 "SSLv3"、奇妙なv2 Helloも)を変更してみました。何か助けていただければ幸いです-私が見落としたかもしれない基本的なことがあるかもしれません...私はここで必死になっています...ありがとう
PS Fedora Core 15(64ビット)でJava 1.6アップデート30を実行しています
問題は、キーストアとトラストストアが設定されていても、Javaがクライアント証明書をサーバーに送信しないことにしたことです。これは、サーバーがRootCA機関によって署名された証明書を要求しましたが、クライアント証明書は(RootCAによって発行された)SubCA機関によって署名されているためです。
元々、キーストアにはクライアント証明書、トラストストアにはSubCA証明書のみが含まれていました。次に、SubCA証明書をキーストアにも追加しようとしましたが、javaはそれを無視しました。
したがって、これはハンシェイク失敗の謎を解決しますが、私の問題は解決しません。
そのために別の質問を作成しました...ため息:-( SSLハンドシェイク中にJavaがクライアント証明書を送信しないのはなぜですか?
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加