144 messaggi dal 05 maggio 2005
Buongiorno a tutti,

abbiamo un problema che riguarda il consumo di un servizio REST tramite chiamata POST, che funziona con Postman dal server stesso, da una server Windows Server 2012 R2 e .NET Framework 4.8 con TLS 1.2.

L'errore restituito è questo:

The request was aborted: Could not create SSL/TLS secure channel. 

   at System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult, TransportContext& context) 

   at System.Net.Http.HttpClientHandler.GetRequestStreamCallback(IAsyncResult ar)


Il codice utilizzato è invece questo:


ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; 

          using (HttpClient client = new HttpClient()) 

          { 

            client.BaseAddress = new Uri(this.Settings.Request.BaseAddress); 

            if (this.Settings.Authentication.Required) 

            { 

              byte[] bytes = Encoding.ASCII.GetBytes(this.Settings.Authentication.UserName + ":" + this.Settings.Authentication.Password); 

              client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(bytes)); 

            } 

            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 

            string jsonContent = File.ReadAllText(file.FullName, encoding); 

            this.Logs.Add("Invio del file: " + jsonContent, false); 

            StringContent content = new StringContent(jsonContent, encoding, "application/json"); 

            HttpResponseMessage response = await client.PostAsync(this.Settings.Request.Endpoint, content); 

            if (response.IsSuccessStatusCode) 

            { 

              ResponseResult responseResult = JsonSerializer.Deserialize<ResponseResult>(response.Content.ReadAsStringAsync().Result); 

              switch (responseResult.ResponseType) 

              { 

                case ResponseResult.eResponseType.OK: 

                  this.Logs.Add("File " + file.Name + " inviato correttamente: " + responseResult.detail, false); 

                  break; 

                case ResponseResult.eResponseType.KO: 

                  internalResult.SetError(responseResult.detail, (eTypeResult)8); 

                  this.Logs.Add("File " + file.Name + " non inviato: " + responseResult.detail, true); 

                  break; 

                case ResponseResult.eResponseType.WARNING: 

                  this.Logs.Add("File " + file.Name + " inviato (WARNING) : " + responseResult.detail, false); 

                  break; 

              } 

            } 

            else 

            { 

              string responseContent = await response.Content.ReadAsStringAsync(); 

              if (string.IsNullOrWhiteSpace(responseContent)) 

              { 

                responseContent = response.ToString(); 

              } 

              internalResult.SetError(responseContent, (eTypeResult)); 

            } 

          }


Lo stesso identico software funziona su Windows Server 2016.

Abbiamo provato a cambiare le varie chiavi di registro come indicato nei diversi documenti trovati online, ma nulla cambia e l'errore rimane.

Vorremmo capire se esiste qualche modo per gestire questa connessione su Server 2012 R2 oppure no.

Grazie

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.