2015-06-16 12 views
8

C'è un'app di Windows Store 8.1 collegata a un servizio Web tramite WCF. Recentemente TLS 1.2 è stato impostato sul server e di conseguenza l'app ha smesso di funzionare. Qui è l'eccezione si è verificataCome far funzionare l'app di Windows Store con TLS 1.2?

un errore durante effettua la richiesta HTTP per https://services.companyname.com Questo potrebbe essere dovuto al fatto che il certificato del server non è configurato correttamente con HTTP.SYS nel caso HTTPS. Ciò potrebbe anche essere causato da una mancata corrispondenza dello legame di sicurezza tra il client e il server.

Anche una semplice richiesta Web

WebRequest request = WebRequest.Create(SERVER_URL_PROD); 
WebResponse response = await request.GetResponseAsync(); 

restituisce il seguente

Un'eccezione di tipo 'System.Net.WebException' si è verificato nel mscorlib.dll, ma non è stata gestita in user codice

Ulteriori informazioni: La connessione sottostante è stata chiusa: Un errore imprevisto si è verificato su un invio.

Così come far funzionare l'app di Windows Store con TLS 1.2?

Aggiornamento

Il codice precedente funziona in una console app (.NET 4.5) se

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; 

Ma ServicePointManager non è disponibile per le applicazioni Windows Store

Update 2

Inoltre il codice funziona in Windows Ph uno 8.1 dove ServicePointManager è non disponibile.

+0

Buona domanda. Anch'io vorrei aggiungere tls 1.2 alle applicazioni Windows Phone/Tablet. – Watson

+0

È possibile verificare il proprio server con https://www.ssllabs.com/ssltest/analyze.html per verificare che siano supportate le CipherSuit supportate. –

risposta

0

Mi sono occupato del problema TLS 1.2 per le applicazioni Web e, come menziona l'OP, la soluzione semplice per System.Net.ServicePointManager non funziona nelle app di Windows Store.

Per ovviare a questo problema, utilizzare Windows.Web.Http anziché System.Net.Http come descritto in questa pubblicazione MSDN forum.