web-dev-qa-db-ja.com

WebLogic 12 SSLKeyException:再起動後にホスト名の検証に失敗しました

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

11
enoch_wallace

これが証明書名のワイルドカードの問題である場合(たとえば、weblogicのデフォルトの検証は、*。salesforce.comの証明書がcs86.salesforce.comをカバーしているとは見なさない)、WebLogicは実際に使用するカスタム検証を提供します:weblogic.security.utils.SSLWLSWildcardHostnameVerifier 。この値は、サーバーのSSL構成のConsole -> Servers -> {Server Name} -> SSL -> Advanced -> Custom Hostname Verifierに入力する必要があります

15
lovelywib

管理コンソールサーバー->サーバー名->構成SSLタブ->詳細->ホスト名検証のドロップダウンをなしに変更

これでうまくいきました。

11
JavaGeek

_set Java_OPTIONS=%Java_OPTIONS% -DUseSunHttpHandler=true_が役立ちます。この行をWebLogic setDomainEnv.(cmd|sh)ファイルに追加してみてください。このパラメーターの目的は、SunのHttpHandlerを使用するようにWebLogicに指示し、WebLogic自身は使用しないようにすることです。

6
m190