【发布时间】:2013-05-31 03:20:43
【问题描述】:
请不要感到惊讶,但我的问题不是关于某些无法正常工作的问题:为什么 .Net WebClient 无需任何配置就能够开箱即用地使用 HTTPS?
我不会问我是否没有一些严肃的理由认为它不应该是这种情况:确实我已经使用 Apache HttpClient 执行完全相同的操作,通过 HTTPS 进行 POST,但它抱怨。
困扰 HttpClient 的是服务器 TLS 证书是未知的。 这是一个合法的投诉,所以我已将证书添加到我正在使用的 JRE 证书存储中,之后一切都按预期工作。
首先您能否消除一个可怕的疑问:WebClient 正确使用 HTTPS,如果我尝试连接到“https://downloadspywaresandmalwares.com”,它应该会以“你疯了伙计,这不是受信任的位置!”之类的方式拒绝我吗?
所以我想这与 .Net 和 Java 不同的安全策略有关:也许 Java 捆绑了自己的一组证书和权限,而 .Net 与操作系统更集成,可能有更大的受信任组证书。
那么我如何检查所有这些假设呢?
如果它有任何重要性:我使用的是 Chrome 中的网站,但从未使用过 IE,所以 WebClient 没有使用 IE 配置。
感谢您的任何意见。 :)
【问题讨论】:
标签: java .net https webclient apache-httpclient-4.x