0

CertificateRequest メッセージを介した SSL ハンドシェイク中に、Weblogic/Java がサーバー (IIS サーバー) によって要求されたクライアント証明書を送信しない理由を理解できません。

SOの他のすべての質問/回答をすでに確認して試しました: Javaは相互SSLのクライアント証明書を提供していませんか? と同様です。

証明書エントリが 1 つだけの Identity.jks というカスタム キーストアを作成し、適切な設定を行うために WL ガイド (およびインターネットで見つけることができるその他すべて) に従いました。

SSL ハンドシェイクのデバッグ ログは次のとおりです。

*** CertificateRequest
Cert Types: RSA, DSS, ECDSA
Supported Signature Algorithms: SHA512withRSA, SHA512withECDSA, SHA256withRSA, SHA384withRSA, SHA1withRSA, SHA256withECDSA, SHA384withECDSA, SHA1withECDSA, SHA1withDSA
Cert Authorities:
<Empty>
*** ServerHelloDone
Warning: no suitable certificate found - continuing without client authentication
*** Certificate chain
<Empty>

ご覧のとおり、サーバーはCertificateRequestメッセージを送信しますが、何らかの理由Cert AuthoritiesEmpty. この場合、クライアント (Weblogic) は証明書を送信しません。ご覧のとおり、開発者による次のような警告メッセージがあります。

no suitable certificate found - continuing without client authentication

SoapUIWeblogic の代わりに使用してサーバーと通信すると、ハンドシェイクは成功します。SoapUI は、Identity.jksキーストアに含まれる証明書を送信します。

WeblogicSoapUIがサーバーからCert Authorities: <Empty>.

そのエイリアスでそのキーのみを使用するようにweblogicをセットアップしたので、それを送信することを期待しています...

Weblogic が一致するクライアント証明書を見つけるために使用する基準を知っている人はいますか?

ログの解釈は正しいですか?

どんなアイデア/ヘルプも大歓迎です。

4

2 に答える 2

0

Java HTTP クライアントで同様の問題が発生しました。IIS のバージョンによっては、サーバーが証明書リストを返送する場合と返送しない場合があります。新しいバージョンではありません。

キーストアに完全な証明書チェーンとクライアント証明書があることを確認してください。

于 2018-10-04T13:38:48.850 に答える