2011-06-30 11 views
0

トランスポートレベル認証を使用するSOAPサービスを消費するアプリケーションがあります。アプリケーションをTomcatからGlassfish 3.1に移行しようとしています。残念なことに、GlassfishはSOAPサービスに必要なクライアント認証を実行することを怠っているようです。 SSLスタックトレースでは、メッセージ「uknown_ca」が返されます。Glassfish 3.1上の私のアプリケーションはクライアント認証を実行しません

Glassfishサーバーは、認証チェーンに3つの信頼証明書(-trustcacertsとして保存されている)と、SOAP宛先サーバーの証明書もインポートされているキーストアを使用するように構成されています。

私はGlassfishサーバーのいくつかのfrom-scratch rebuildを試してみましたが、Tomcatサーバーのキーストアファイルを無駄なく試してみました。

誰でも何が起こっているのか知っていますか?そうでなければ、Glassfishにハンドシェイクとキーストアに関するより有用な情報を提供するにはどうすればいいですか?-Djava.net.ssl.debugフラグを超えてください。

答えて

3

私の同僚が解決策を考え出しました。アンドリューを指します。

宛先は、Glassfishが認証プロセス中に送信したキーのCAを理解していないため、unknown_caメッセージを送信していました。

JVM引数-Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1asを削除すると、問題が解決されます。 JVMが使用するキーを決定させる代わりに、優先キーのエイリアスを指定する引数を変更することもできます。

0

SOAPサーバー証明書は、キーストアではなく、Glassfishのトラストストアにインポートする必要があります。

+0

私はそれを試みましたが、残念ながら私はまだ同じエラーが発生します。 – enricopulatzo

+0

SOAPサーバーの証明書のCA証明書は、Glassfishのトラストストアに-trustcacertsでインポートする必要があります。 – EJP

+0

私もそうしました。私はサーバーの設定JVM引数を介してトラストストアとキーストアを指定していますが、これは正しい場所であると想定するのは安全ですか? – enricopulatzo

関連する問題