Puncte:0

Ce versiune de TLS este o aplicație .NET Core 3.1 + .NET Standard 2.0 care utilizează HttpClient pe Windows Server 2016?

drapel sn

eu am

  1. o aplicație care constă dintr-o aplicație de consolă .NET Core 3.1
  2. și o bibliotecă .NET Standard 2.0.
  3. Aplicația consolă apelează biblioteca care utilizează System.Net.Http.HttpClient pentru a apela un https://... API.
  4. Întreaga aplicație rulează pe Windows Server 2016 Datacenter (Versiunea 1607 Build 14393.4704)

Când folosesc HttpClient, fac asta

Client HttpClient = HttpClient nou();
client.DefaultRequestHeaders.Add("WWW-Authenticate", $"BASIC ...");
răspuns var = await client.PostAsync(apiUrl, contentString);

Ce versiune de TLS este utilizată implicit?

Ar fi grozav să-mi dea cineva un link către documentația Microsoft.

bjoster avatar
drapel cn
Deci scrii software?
Puncte:-1
drapel sn

Nu sunt 100% sigur dar...

După câteva căutare pe google, găsesc această documentație Microsoft. Se pare că dacă se lasă setările implicite SSL pe HttpClient, atunci HttpClient utilizează setările implicite TLS ale sistemului de operare. Și pe Windows Server 2016, acesta pare să fie TLS 1.2

Centru de date Windows Server 2016 (versiunea 1607 Build 14393.4704)

  1. TLS activat implicit pe Windows Server 2016: https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls#support-for-tls-12 https://docs.microsoft.com/en-us/mem/configmgr/core/plan-design/security/enable-tls-1-2-client#bkmk_winhttp

Pentru a activa TLS 1.2 pe Windows Server 2016

  1. Cum să activați TLS 1.2 pe serverele site-ului și sistemele site-ului la distanță https://docs.microsoft.com/en-us/mem/configmgr/core/plan-design/security/enable-tls-1-2-server
  2. Verificați setările de registry (vezi primul link de mai sus, pot posta doar 8 link-uri pentru că am prea puțină reputație)

.NET Core 3.1

  1. Pe .NET Core 3.1 HttpClient folosește System.Net.Http.SocketsHttpHandler HttpClient

    1. documentație https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=net-6.0#remarks
  2. SocketsHttpHandler

    1. documentație https://docs.microsoft.com/en-us/dotnet/api/system.net.http.socketshttphandler?view=net-6.0
  3. SocketsHttpHandler are o proprietate SslOptions https://docs.microsoft.com/en-us/dotnet/api/system.net.http.socketshttphandler.ssloptions?view=net-6.0#system-net-http-socketshttphandler-ssloptions

  4. SslOptions are o proprietate EnabledSslProtocols https://docs.microsoft.com/en-us/dotnet/api/system.net.security.sslclientauthenticationoptions.enabledsslprotocols?view=net-6.0#system-net-security-sslclientauthenticationoptions-enabledsslprotocols

  5. EnabledSslProtocols are o valoare implicită none

  6. Valoarea implicită none pentru EnabledSslProtocols înseamnă: Permite sistemului de operare să aleagă cel mai bun protocol de utilizat și să blocheze protocoalele care nu sunt sigure. Dacă aplicația dvs. nu are un motiv specific, ar trebui să utilizați acest câmp.

    1. https://docs.microsoft.com/en-us/dotnet/api/system.security.authentication.sslprotocols?view=net-6.0

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.