/ / Защо .Net WebClient може да използва HTTPS без конфигурация, докато Java HttpClient не може да - java, .net, https, webclient, apache-httpclient-4.x

Защо .Net WebClient може да използва HTTPS без конфигурация, докато Java HttpClient не може да - java, .net, https, webclient, apache-httpclient-4.x

Не се изненадвайте, но въпросът ми не е за нещо, което не работи: защо .Net WebClient може да използва HTTPS извън конфигурацията без конфигурация?

Не бих попитал дали нямах сериозни причини да мисля, че не трябва да е така: наистина използвах Apache HttpClient, за да извърша точно същата операция - POST през HTTPS, но се оплака.

Това, което притесняваше HttpClient, е фактътсървър TLS сертификат не е известен. Това е легитимна жалба, така че добавих сертификата към магазина за JRE сертификати, който използвах и след това всички работиха според очакванията.

Първо можете да премахнете ужасно съмнение: WebClient правилно използва HTTPS и ако се опитам да се свържа с "https://downloadspywaresandmalwares.com"тя трябва да ме отхвърли с нещо като" ти луд пич, това не е доверено място! "?

Така че предполагам, че това е свързано с разликатаполитики за сигурност на .Net и Java: може би Java е снабдена със собствен набор от сертификати и органи, докато .Net е по-интегрирана в операционната система, която може да има по-голям набор от доверени сертификати.

Как мога да проверя всички тези предположения?

Ако може да има някакво значение: "Използвах уеб сайта от Chrome, но никога не от IE, така че WebClient не използва IE конфигурация.

Благодаря за всеки вход. :)

Отговори:

1 за отговор № 1

Добре, мисля, че най-накрая го получих:

  • както предполагах .Net няма собствен магазин за сертификати, но използва магазина за операционни системи
  • Успях да намеря и да изтрия сертификата, но това не е лесно, защото Windows се бори да поддържа някои сертификати в магазина си
  • веднъж изтрита, както се очаква, уеб клиентът е счупен и се оплаква, защото "Не може да се установи връзка за доверие за SSL / TLS защитения канал"
  • така че да WebClient използва правилно SSL, това е облекчение :)

Надяваме се тази информация да е полезна за някой друг ...