2014-10-15 26 views
9

Ho avuto accesso social tramite Facebook implementato in produzione per qualche tempo. A partire da questa mattina, non funziona più per me. Ricevo lo stesso errore in dev (che non ha SSL) e in produzione, che è ospitato su siti Web di Azure e utilizza SSL.Impossibile creare il canale sicuro SSL/TLS per Facebook

Ecco l'errore che sto vedendo:

[WebException: The request was aborted: Could not create SSL/TLS secure channel.] System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request) +283 System.Net.WebClient.DownloadString(Uri address) +100 DotNetOpenAuth.AspNet.Clients.FacebookClient.QueryAccessToken(Uri returnUrl, String authorizationCode) +350 DotNetOpenAuth.AspNet.Clients.OAuth2Client.VerifyAuthentication(HttpContextBase context, Uri returnPageUrl) +202 DotNetOpenAuth.AspNet.OpenAuthSecurityManager.VerifyAuthentication(String returnUrl) +411 Microsoft.Web.WebPages.OAuth.OAuthWebSecurity.VerifyAuthenticationCore(HttpContextBase context, String returnUrl) +189 Microsoft.Web.WebPages.OAuth.OAuthWebSecurity.VerifyAuthentication(String returnUrl) +139

Chiunque altro visto questo? Il mio login Google continua a funzionare bene.

+0

Stai ancora utilizzando SSL3? SSL3 è stato disabilitato su tutti gli endpoint di Facebook a causa di http://security.stackexchange.com/questions/70719/ssl3-poodle-vulnerability – Igy

+0

Sembra che io fossi. Ho provato cosa suggeriva Mikejh99, ma sto ancora ricevendo la stessa eccezione. –

risposta

12

Come ha detto Igy, questo è dovuto al SSLv3 essere disabilitata da Facebook a causa del BARBONCINO exploit.

Ho fatto succedere la stessa cosa a un'app che si collega a Twitter. L'ho risolto aggiungendo questa riga di codice per utilizzare TLS. Non sono sicuro che questa sia la soluzione migliore, ma per ora funziona.

System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12 

EDIT: dimenticato di dire questo, ma ha aggiunto che la linea di Application_Start di global.asax

+0

Grazie per la modifica, che ha aiutato. Sfortunatamente, non ha funzionato. Ho impostato un punto di interruzione per assicurarmi che l'applicazione sia effettivamente in fase di riavvio e che venga colpita, sfortunatamente, sto ancora ricevendo la stessa eccezione. –

+0

Per buona misura, ho anche provato 'Tsl' e' Tsl11'. Stesso risultato –

+0

Questa riga di codice prima di ogni richiesta web che utilizza https, ha funzionato per me. Tutte le connessioni facebook, linkedin e twitter sono state interessate – Rifaj

0

Facebook ha cessato il supporto per SSL 3.0 attraverso l'API di Facebook Platform e l'API real-time aggiornamenti, dopo una vulnerabilità nel protocollo è stata rivelata pubblicamente il 14 ottobre 2014 (http://googleonlinesecurity.blogspot.com/2014/10/this-poodle-bites-exploiting-ssl-30.html).

vecchie versioni del SDK PHP (PHP Facebook SDK 3.1.1 e precedenti) che ha utilizzato SSL 3.0 sarà ora non funzionano più.

Tutti gli sviluppatori devono eseguire l'aggiornamento a Facebook SDK 3.2.3 o versioni successive. SDK 4.0.0 è raccomandato.

0

Abbiamo lo stesso problema in un ambiente vivo. Tutti gli account sono state cambiate allo stesso tempo:

  • Facebook
  • INPDAP
  • LinkedIn

a Twitter io soltanto bisogno sarebbe quello di aggiornare Twitterizer.dll o l'ultimo 3rd party biblioteca Twitter e controlla le modifiche al codice.

per LinkedIn sarebbe interessante utilizzare OAuthv2 (o l'ultimo, non ricordo la versione), ma ricordo che è molto molto difficile da risolvere.

Per lo stesso Facebook, modificare l'SDK per l'ultimo e imparare di nuovo le modifiche di libreria.

Il 15 ottobre 2014 è stato programmato ad agosto che questo sarebbe successo.

saluti,

Isy

0

perché sarebbe l'impostazione del SecurityProtocol per TLS essere una soluzione? .net dovrebbe comunque negoziare il protocollo più alto possibile con il server e se TLS è un'opzione preferibile quella su SSL, non dovrebbe ?!

+0

Sì, ma disponevo di una libreria di terze parti che ignorava l'impostazione predefinita e richiedeva solo SSL. –