WebLogic 12.1.2.0.0にWARファイルがデプロイされています。アプリケーションがHTTPS経由でWebサービスを呼び出します。証明書はDemoTrust.jksにインポートされます。 SSL関連の設定はすべて正しいはずです。実際には機能しますが、サーバーの再起動後は約15〜20分間機能しません。その後、再び機能します。この期間中、次のエラーがコンソールに出力されます。
<Warning> <Security> <BEA-090504> <Certificate chain received from xxx.xxxxxxxx.xxx.com -
167.107.80.230 failed hostname verification check. Certificate contained xxx.xxxxxxxx.xxx.com
but check expected xxx.xxxxxxxx.xxx.com>
警告の後、次のメッセージが表示されます。
javax.xml.ws.WebServiceException: javax.net.ssl.SSLKeyException: Hostname verification failed:
HostnameVerifier=weblogic.security.utils.SSLWLSHostnameVerifier,hostname=xxx.xxxxxxxx.xxx.com.
上記の警告では、含まれているドメインと予期されているドメインが同じです。
ご協力ありがとうございました!
-E
これが証明書名のワイルドカードの問題である場合(たとえば、weblogicのデフォルトの検証は、*。salesforce.comの証明書がcs86.salesforce.comをカバーしているとは見なさない)、WebLogicは実際に使用するカスタム検証を提供します:weblogic.security.utils.SSLWLSWildcardHostnameVerifier
。この値は、サーバーのSSL構成のConsole -> Servers -> {Server Name} -> SSL -> Advanced -> Custom Hostname Verifier
に入力する必要があります
管理コンソールサーバー->サーバー名->構成SSLタブ->詳細->ホスト名検証のドロップダウンをなしに変更
これでうまくいきました。
_set Java_OPTIONS=%Java_OPTIONS% -DUseSunHttpHandler=true
_が役立ちます。この行をWebLogic setDomainEnv.(cmd|sh)
ファイルに追加してみてください。このパラメーターの目的は、SunのHttpHandlerを使用するようにWebLogicに指示し、WebLogic自身は使用しないようにすることです。