2

運用前環境の 1 つで使用するサービスの所有者が最近、証明書の設定を (通知せずに) 変更しました。

この証明書の変更により、(weblogic ボックス上に存在する) サービスを呼び出そうとすると、次のようになります。

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
   <env:Header/>
   <env:Body>
      <env:Fault xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/">
         <faultcode>ns0:Server</faultcode>
         <faultstring xml:lang="en">javax.xml.ws.WebServiceException: javax.net.ssl.SSLKeyException: [Security:090569]The certificate chain received from xxxxxxx - xx.xxx.xx.xxx contained a V3 CA certificate which key usage constraints indicate its key cannot be used to sign certificates.</faultstring>
      </env:Fault>
   </env:Body>
</env:Envelope>

私は以前にこのエラーに遭遇したことはありません (そして、Google に関する限り、他の誰も遭遇したことはありません) が、チェーン内の証明書の 1 つが CA であり、キー署名の制約がないことを推論しています (明らかに)。ただし、証明書チェーンに問題は見られず、ブラウザーで URL にアクセスしても何もフラグが立てられません。

チェーンは次のようになります。

DigiCert
->DigiCert High Assurance CA-3
-->*.co.uk

DigiCert
Version - V3
Key Usage - Digital Signature, Certificate Signing, Off-line CRL Signing, CRL Signing (86)
Basic Constraints - Subject Type=CA, Path Length Constraint=None

DigiCert High Assurance CA-3
Version - V3
Key Usage - Digital Signature, Certificate Signing, Off-line CRL Signing, CRL Signing (86)
Basic Constraints - Subject Type=CA, Path Length Constraint=0

*.co.uk 
Version - V3
Key Usage - Digital Signature, Key Encipherment (a0)
Basic Constraints - Subject Type=End Entity, Path Length Constraint=None

すべての証明書は、当社のトラスト ストアにあります。また、weblogic を demo trust に設定しようとしましたが、奇妙なことに、それは何の効果もありません。

何か案は?

アップデート

でデバッグを有効にした後

-Dssl.debug=true 
-Dweblogic.StdoutDebugEnabled=true 
-Dweblogic.security.SSL.verbose=true

私が得た:

<Jul 25, 2013 7:22:42 PM IST> <Debug> <SecuritySSL> <BEA-000000> <Validating certificate 0 in the chain: Serial number: 4797710814556239092785509911582462711
Issuer:C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance CA-3
Subject:C=GB, L=Belfast, O=xxxxx xxxxx xxxxx xxxxx, CN=*.co.uk
Not Valid Before:Mon Jan 14 00:00:00 GMT 2013
Not Valid After:Tue Jan 21 12:00:00 GMT 2014
Signature Algorithm:SHA1withRSA
>
<Jul 25, 2013 7:22:42 PM IST> <Debug> <SecuritySSL> <BEA-000000> <Certificate chain is invalid because the issuer DN does not match the next certificate subject: C=GB, L=Belfast, O=xxxxx xxxxx xxxxx xxxxx, CN=*.co.uk>
<Jul 25, 2013 7:22:42 PM IST> <Debug> <SecuritySSL> <BEA-000000> <Signature verification failed>
<Jul 25, 2013 7:22:42 PM IST> <Debug> <SecuritySSL> <BEA-000000> <Validating certificate 1 in the chain: Serial number: 7868785665241589417982590706715607915
Issuer:C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance CA-3
Subject:C=GB, L=Belfast, O=xxxxx xxxxx xxxxx xxxxx, CN=*.co.uk
Not Valid Before:Mon Jan 14 00:00:00 GMT 2013
Not Valid After:Tue Jan 21 12:00:00 GMT 2014
Signature Algorithm:SHA1withRSA

私には、これは weblogic が証明書チェーンを間違って読み取っているように見えます。チェーンの一番下にある証明書が自分自身に署名していると思われますか?

4

1 に答える 1

0

エラーが言ったように、問題は証明書自体であることが判明しました! 私の間違いは、問題が私たちのシステムにあると思い込んでいたことです。

証明書はブラウザで正しいと示されましたが、weblogic の認証ライブラリはより厳密に見えます。

その後、サービス所有者は正しく署名された証明書を発行しました。

于 2013-09-20T12:22:20.693 に答える