5

次のエラーが表示されます

javax.xml.ws.soap.SOAPFaultException: Marshalling Error: The https URL hostname does not match the Common Name (CN) on the server certificate.  To disable this check (NOT recommended for production) set the CXF client TLS configuration property "disableCNCheck" to true.

Web サービスに接続して使用しようとしたとき。

cxf.xml に次の行を追加しましたが、それでも機能しません。

<http-conf:conduit  name="*.http-conduit">
<!--  deactivate HTTPS url hostname verification (localhost, etc)
WARNING ! disableCNcheck=true should NOT be used in production -->
<http-conf:tlsClientParameters  disableCNCheck="true" />

cxf.xml ファイルは、WEB-INF/classes/CxfService の下に配置されます。

何が問題になるのか教えてください。

4

1 に答える 1

2

この構成に実際の問題はないかもしれません。Web サービスへの URL で使用するホスト名が証明書のホスト名と一致しませんが、これは、正しいデータへのアクセスを許可しながら、いくつかの正当な理由による可能性があります。

SSL は 2 種類の保護を提供します。

  1. プライバシー: データが通過する暗号化されたチャネルを提供し、他の誰もそのデータを見ることができないようにします
  2. ソース保証: また、接続を要求したサイトに接続していることを保証します。

次に、3 つのレベルのセキュリティを確認できます。

  • 保護はまったくありません
  • 暗号化されたチャネルにより、誰もあなたのデータを見ることができません
  • 暗号化されたチャネル、および期待するサイトに接続されていることの保証。

無効にしているのは後者の機能です。このサイトは、サイトへのアクセスに使用された DNS 名を示すためにデコードできる暗号化された証明書を提供します。使用した名前と証明書の名前が一致しない場合、この警告が表示されます。おそらくご存じのとおり、サーバーをアドレス指定するには複数の方法があり、証明書は、証明書が対象とする 1 つの DNS 名とのみ一致します。正しい名前でサービスにアクセスしていない可能性がありますか? または、暗号化されたチャネルを提供するがソース保証を提供しない「自己署名」サービスを使用している可能性があります。

自問する質問: 誰かが DNS システムをハッキングし、要求 (DNS 名による) がサーバーにルーティングされ、期待する Web サービスの代わりに偽のデータを提供するのではないかと心配していますか? それは確かに起こる可能性があり、決して起こらないとは言いませんが、非常にまれです. これについての詳細な議論を参照してください。

これが潜在的な問題です。呼び出している Web サービスを誰かがスプーフィングする可能性があります。セキュリティの専門家が妥協案を推奨することは決してありませんが、データの価値、なりすましサービスの可能性、およびそのようななりすましが引き起こす損害を評価する必要があります。これが重大な問題である場合は、証明書と一致するホスト名を使用するか、使用するホスト名と一致する証明書を取得する必要があります。

于 2013-01-02T04:02:47.240 に答える