不要驚訝,但我的問題並不在於某些工作不工作:爲什麼.Net WebClient能夠使用HTTPS out-of-沒有任何配置的盒子?爲什麼.Net WebClient能夠在沒有任何配置的情況下使用HTTPS,而Java HttpClient不能使用
我不會問我是否有一些嚴重的理由認爲它不應該如此:實際上我已經使用Apache HttpClient執行完全相同的操作,通過HTTPS發佈POST,但它有抱怨。
什麼困擾HttpClient是事實服務器TLS證書不知道。 這是一個合理的投訴,所以我已經將證書添加到我正在使用的JRE證書存儲中,之後所有工作都按預期工作。
首先你可以刪除一個可怕的疑問:WebClient是正確使用HTTPS,如果我嘗試連接到「https://downloadspywaresandmalwares.com」它應該拒絕我像「你瘋了嗎?這不是一個值得信賴的位置!」?
所以我想這與.NET和Java的分歧安全策略有關:也許Java捆綁了自己的一套證書和權限,而.Net與操作系統更加集成,可能有更大的一套可信證書。
那麼我怎麼能檢查所有這些假設?
如果它可以有任何的重要性:我已經使用了Chrome的網站,但從來沒有從IE瀏覽器,所以WebClient沒有使用IE配置。
感謝您的任何意見。 :)