2016-11-25 96 views
0

背景

我的應用程序部署在jboss 5中,與需要MASSL的Web服務服務器進行通信。 (2路SSL)爲什麼在SSL連接期間不發送客戶端證書? CXF 2.7.9

問題

通過查看日誌SSL連接,客戶端證書不發送,即使它在一開始被加載。

日誌詳細信息如下,客戶端證書應該在服務器問候完成後發送

[編輯]添加更多細節基於應答

  1. 在日誌添加CertificateRequest

  2. Cient證書實際上上述請求匹配 - (a)中的算法是RSA,(b)中由一個在請求中指定的CA簽名

l OGS:

2016-11-25 09:32:38,434 INFO [STDOUT] (http-0.0.0.0-8080-4) keyStore is : /XX/XX/my.jks 
2016-11-25 09:32:38,434 INFO [STDOUT] (http-0.0.0.0-8080-4) keyStore type is : jks 
2016-11-25 09:32:38,434 INFO [STDOUT] (http-0.0.0.0-8080-4) keyStore provider is : 
2016-11-25 09:32:38,434 INFO [STDOUT] (http-0.0.0.0-8080-4) init keystore 
2016-11-25 09:32:38,440 INFO [STDOUT] (http-0.0.0.0-8080-4) init keymanager of type SunX509 
2016-11-25 12:00:04,420 INFO [STDOUT] (http-0.0.0.0-8080-4) *** 
2016-11-25 12:00:04,421 INFO [STDOUT] (http-0.0.0.0-8080-4) found key for : mykey 
2016-11-25 12:00:04,432 INFO [STDOUT] (http-0.0.0.0-8080-4) chain [0] = [ 
[ 
    Version: V3 
    Subject: CN=xx.xxx.xxx.com, OU=xxxxxxxx, O=xxxx, L=xxxx, ST=xxx, C=xx 
    Signature Algorithm: SHA1withRSA, OID = 1.2.840.113549.1.1.5 

Issuer: CN=abc AD Object CA1, DC=core, DC=dir, DC=def, DC=com 

... 

2016-11-25 12:00:05,520 INFO [STDOUT] (http-0.0.0.0-8080-4) *** CertificateRequest 
2016-11-25 12:00:05,521 INFO [STDOUT] (http-0.0.0.0-8080-4) Cert Types: 
2016-11-25 12:00:05,521 INFO [STDOUT] (http-0.0.0.0-8080-4) RSA 
2016-11-25 12:00:05,521 INFO [STDOUT] (http-0.0.0.0-8080-4) Cert Authorities: 
2016-11-25 12:00:05,521 INFO [STDOUT] (http-0.0.0.0-8080-4) <CN=abc AD Object CA1, DC=core, DC=dir, DC=def, DC=com> 
2016-11-25 12:00:05,521 INFO [STDOUT] (http-0.0.0.0-8080-4) <CN=abc Policy CA1, O=gh Corporation Limited> 
2016-11-25 12:00:05,522 INFO [STDOUT] (http-0.0.0.0-8080-4) <CN=abc Root CA> 

2016-11-25 09:32:39,475 INFO [STDOUT] (http-0.0.0.0-8080-4) *** ServerHelloDone 
2016-11-25 09:32:39,475 INFO [STDOUT] (http-0.0.0.0-8080-4) *** Certificate chain 
2016-11-25 09:32:39,475 INFO [STDOUT] (http-0.0.0.0-8080-4) *** 
2016-11-25 09:32:39,482 INFO [STDOUT] (http-0.0.0.0-8080-4) *** ClientKeyExchange, RSA PreMasterSecret, TLSv1 
2016-11-25 09:32:39,482 INFO [STDOUT] (http-0.0.0.0-8080-4) http-0.0.0.0-8080-4, WRITE: TLSv1 Handshake, length = 269 
2016-11-25 09:32:39,482 INFO [STDOUT] (http-0.0.0.0-8080-4) SESSION KEYGEN: 
2016-11-25 09:32:39,483 INFO [STDOUT] (http-0.0.0.0-8080-4) PreMaster Secret: 

問題

難道我失去了一些東西?

+0

我想這一個匹配的CertificateRequest表示的約束證書無法被發現。請注意,客戶端正在發送一個空的'CertificateChain'。 – slawekpl

+0

是的,我注意到了。這是客戶端發送證書的地方,現在它是空的。 – David

回答

1

客戶端證書應該是服務器問候完成後發送。

不,它不是。它只應該被髮送,如果:

  • 服務器已要求其連同CertificateRequest消息
  • 客戶端具有通過服務器
  • 客戶端指定的CA之一簽署的證書具有與服務器指定的證書類型相匹配的證書。

有一個在你的問題沒有證據證明這些condtions適用這一點。

+0

感謝您的信息,我已經用答案更新了我的問題。 – David

相關問題