Owin Twitter login – le certificate distant est invalide selon la procédure de validation

J’ai commencé à recevoir cette erreur récemment en essayant de me connecter en utilisant twitter– toute idée pourquoi?

Stack Trace: [AuthenticationException: The remote certificatee is invalid according to the validation procedure.] System.Net.TlsStream.EndWrite(IAsyncResult asyncResult) +230 System.Net.PooledStream.EndWrite(IAsyncResult asyncResult) +13 System.Net.ConnectStream.WriteHeadersCallback(IAsyncResult ar) +123 [WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.] System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) +6432446 System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar) +64 

    Grâce à la puissance de l’open source, nous pouvons constater que les empreintes de pouce des certificates twitter ont été codées dans le projet Katana.

     Microsoft.Owin.Security.Twitter.TwitterAuthenticationOptions 

    Récemment, certains certificates ont dû être modifiés et les empreintes ne correspondent plus.

    Veuillez append une nouvelle empreinte de pouce pour le certificate “Autorité de certificateion principale publique de VeriSign Classe 3 – G5” à vos options d’authentification Twitter dans votre Startup.Auth.cs (pour les utilisateurs de MVC).

    Changer par défaut:

     app.UseTwitterAuthentication( consumerKey: "XXXX", consumerSecret: "XXX" ); 

    Utilisez ceci:

     app.UseTwitterAuthentication(new TwitterAuthenticationOptions { ConsumerKey = "XXXX", ConsumerSecret = "XXXX", BackchannelCertificateValidator = new CertificateSubjectKeyIdentifierValidator(new[] { "A5EF0B11CEC04103A34A659048B21CE0572D7D47", // VeriSign Class 3 Secure Server CA - G2 "0D445C165344C1827E1D20AB25F40163D8BE79A5", // VeriSign Class 3 Secure Server CA - G3 "7FD365A7C2DDECBBF03009F34339FA02AF333133", // VeriSign Class 3 Public Primary Certification Authority - G5 "39A55D933676616E73A761DFA16A7E59CDE66FAD", // Symantec Class 3 Secure Server CA - G4 "5168FF90AF0207753CCCD9656462A212B859723B", //DigiCert SHA2 High Assurance Server C‎A "B13EC36903F8BF4701D498261A0802EF63642BC3" //DigiCert High Assurance EV Root CA }) }); 

    Pour résumer et sauver les gens en parcourant les commentaires, voici la dernière configuration:

     app.UseTwitterAuthentication(new TwitterAuthenticationOptions { ConsumerKey = "XXXX", ConsumerSecret = "XXXX", BackchannelCertificateValidator = new Microsoft.Owin.Security.CertificateSubjectKeyIdentifierValidator(new[] { "A5EF0B11CEC04103A34A659048B21CE0572D7D47", // VeriSign Class 3 Secure Server CA - G2 "0D445C165344C1827E1D20AB25F40163D8BE79A5", // VeriSign Class 3 Secure Server CA - G3 "7FD365A7C2DDECBBF03009F34339FA02AF333133", // VeriSign Class 3 Public Primary Certification Authority - G5 "39A55D933676616E73A761DFA16A7E59CDE66FAD", // Symantec Class 3 Secure Server CA - G4 "‎add53f6680fe66e383cbac3e60922e3b4c412bed", // Symantec Class 3 EV SSL CA - G3 "4eb6d578499b1ccf5f581ead56be3d9b6744a5e5", // VeriSign Class 3 Primary CA - G5 "5168FF90AF0207753CCCD9656462A212B859723B", // DigiCert SHA2 High Assurance Server C‎A "B13EC36903F8BF4701D498261A0802EF63642BC3" // DigiCert High Assurance EV Root CA }) }); 

    Tous les crédits à @MichaelLake et @KennethIto.

    Éteignez Fiddler.

    D’une certaine manière, le débogueur Web de Fiddler fait foirer l’Oauth pour Twitter.

    A des fins de test uniquement (!), Il est également possible de définir le

     options.BackchannelCertificateValidator = null; 

    et append à votre Global.asax Application_Start:

     ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; 

    Le serveur DigiCert SHA2 High Assurance C Une valeur de “5168FF90AF0207753CCCD9656462A212B859723B” ne semble pas être valide. La nouvelle valeur est “01C3968ACDBD57AE7DFAFF9552311608CF23A9F9”. Il est valable du 28/06/2016 au 19/09/2019. Je l’ai trouvé en allant sur https://api.twitter.com/ dans Chrome, puis en cliquant sur le cadenas dans la barre d’adresse pour afficher le certificate.

    J’ai eu ce problème exact, j’ai suivi le post ci-dessus et j’ai eu l’erreur 401 (non autorisée) mentionnée dans un autre commentaire.

    Je suis allé sur mon compte Twitter et j’ai décoché une case intitulée: “Activer le locking du rappel”. Cliquez sur sauvegarder, appuyez sur F5 et cela a fonctionné.

    Donc le code ci-dessus a fonctionné pour moi. Si vous obtenez un 401 double vérifiez votre compte Twitter pour la case à cocher.

    Pour moi, la simple mise à jour de Microsoft.Owin.Security.Twitter à la version 3.1.0 a résolu le problème, même sans append les empreintes de pouce!