在JSSE文檔中,它只是說sslsocket可以通過調用createSocket由SSLSocketFactory創建。但它沒有描述如何調用ssl握手,如何傳遞密鑰材料以及如何選擇以及如何選擇憑證以認證服務器或客戶端。SSLSocket是如何創建的?
有人知道創建sslsocket的詳細過程嗎?
感謝
在JSSE文檔中,它只是說sslsocket可以通過調用createSocket由SSLSocketFactory創建。但它沒有描述如何調用ssl握手,如何傳遞密鑰材料以及如何選擇以及如何選擇憑證以認證服務器或客戶端。SSLSocket是如何創建的?
有人知道創建sslsocket的詳細過程嗎?
感謝
所有JSSE做了非常詳盡的概述是實現了它在RFC 2246無需在Javadoc說了一遍所有說。
喜歡的Diffie-Hellman算法可用於跨不安全的網絡中建立雙方之間的安全通信。
http://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange
是的,這是一個很好的文檔。但是你知道如何選擇證書來驗證你的自我嗎?就像在相互身份驗證的情況下一樣,服務器將需要客戶端的證書,但是在客戶端的KeyStore中,可能有多個密鑰證書,哪一個被選中? – Alfred 2010-07-23 07:33:07
在多重認證中,如果你的客戶有多個證書,哪一個被選中? – Alfred 2010-07-23 07:34:10
與服務器發送的可信CA匹配的證書。這也在RFC中。 – EJP 2010-07-23 10:22:20
證書請求有兩個certificate_types和certificate_authorities的列表,哪一個更高的優先級? 例如,如果證書請求是這樣的: { certificate_types =(rsa_sign,dss_sign) certificate_authorities =( 「VeriSign公司」, 「CyberTrust嚴格」) } 但是,客戶端具有兩個證書等: 證書1 =(rsa_sign,「CyberTrust」); certificate2 =(dss_sign,「verisign」) 客戶需要哪一個? 謝謝! – Alfred 2010-07-23 22:54:52