Не удивляйтесь, но мой вопрос не о чем-то, что не работает: почему .Net WebClient может использовать HTTPS из- ящик без какой-либо конфигурации?Почему. Web WebClient может использовать HTTPS без какой-либо конфигурации, тогда как Java HttpClient не может
Я бы не спросил, не было ли у меня каких-то серьезных причин думать, что это не должно быть так: действительно, я использовал Apache HttpClient для выполнения той же операции, POST через HTTPS, но он жаловался.
Что беспокоило HttpClient, так это то, что сертификат TLS сервера не был известен. Это законная жалоба, поэтому я добавил сертификат в хранилище сертификатов JRE, которое я использовал, и после этого все работало так, как ожидалось.
Сначала вы могли бы удалить палящий сомнение: WebClient правильно с помощью HTTPS и при попытке подключиться к «https://downloadspywaresandmalwares.com» он должен отказаться от меня что-то вроде «ты сумасшедший чувак, это не доверяли место!»?
Поэтому я полагаю, что это связано с расходящимися политиками безопасности .Net и Java: возможно, Java поставляется с собственным набором сертификатов и полномочий, тогда как .Net более интегрирована с ОС, которая может иметь больший набор доверенные сертификаты.
Итак, как я могу проверить все эти предположения?
Если это может иметь значение: я использовал веб-сайт из Chrome, но не из IE, поэтому WebClient не использует конфигурацию IE.
Спасибо за любой ввод. :)