Certificate chain received from 客戶端- 192.168.10.10 was not trusted causing SSL handshake failure
SSL握手會(huì)有很多意想不到的Exception, 其中很多都是因?yàn)闆](méi)有配置好cacerts導(dǎo)致的。以Tomcat為例,你需要在conf/server.xml中指定你的keystore并且配置好KeyAlias,
同時(shí),Tomcat會(huì)到JAVA_HOME/jre/lib/security目錄下讀取cacerts文件。
在Weblogic中,你也需要配置Trust.jks和Identity.jks(可以參考WebLoigc Security In Action)。
問(wèn)題是,IE究竟根據(jù)什么來(lái)提交證書(shū)(包含私鑰的證書(shū))?
很簡(jiǎn)單,服務(wù)器提交他的證書(shū)到客戶端,客戶端會(huì)根據(jù)服務(wù)器的證書(shū)的DN,檢索本地私鑰,
選擇那些由此DN簽發(fā)證書(shū)X,然后確定使用X對(duì)應(yīng)的本地私鑰,用于SSL握手。
cacerts是JDK容器信任的證書(shū)列表,如果cacerts中沒(méi)有包含客戶端私鑰對(duì)應(yīng)的證書(shū)鏈中的
信任證書(shū),則服務(wù)器會(huì)拒絕任何從客戶端的SSL請(qǐng)求。
典型的Weblogic日志就是:
<Certificate chain received from 客戶端- 192.168.10.10 was not trusted causing SSL handshake failure.>
posted on 2006-07-13 17:48 david.turing 閱讀(9667) 評(píng)論(3) 編輯 收藏 所屬分類: Security異常問(wèn)題