Nella mia app utilizzo RestSharp per interrogare un'API REST e System.Net.Mail per inviare e-mail. All'avvio del programma ho impostato la proprietà ServicePointManager.SecurityProtocol.ServicePointManager SecurityProtocol conflitto
Se ho impostato la proprietà per:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11;
eccezione viene generata quando l'esecuzione di query API con RestSharp:
The request was aborted: Could not create SSL/TLS secure channel
Se ho impostato la proprietà per:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls11;
eccezione è generata durante l'invio di e-mail con System.Net.Mail:
System.Security.Authentication.AuthenticationException: A call to SSPI failed, see inner exception. ---> System.ComponentModel.Win32Exception: The client and server cannot communicate, because they do not possess a common algorithm
Come devo risolvere questo problema?
Quale versione di .NET? Se non sei l'ultimo, è possibile effettuare l'aggiornamento? Dopo di ciò inizierei cercando di restringerlo un po '. Utilizza il postino di add-on chrome per provare a comunicare con la tua API. Imposta Fiddler (o wireshark) per intercettare il traffico e guarda i pacchetti per vedere cosa sta cercando di negoziare. Inoltre stai solo usando la classe standard SmtpClient? com'è il tuo codice per usarlo? – Wjdavis5
È possibile impostare il valore corretto per il gestore dei punti di servizio subito prima di effettuare una chiamata. –