أوين تويتر تسجيل الدخول-الشهادة عن بعد غير صالحة وفقا لإجراء التحقق من الصحة

StackOverflow https://stackoverflow.com//questions/25011890

سؤال

بدأت في الحصول على هذا الخطأ مؤخرا عند محاولة تسجيل الدخول باستخدام تويتر-أي فكرة لماذا?

Stack Trace: 


[AuthenticationException: The remote certificate 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
هل كانت مفيدة؟

المحلول

بفضل قوة المصدر المفتوح يمكننا أن نرى أن بصمات الأصابع لشهادات تويتر قد تم ترميزها في مشروع كاتانا.

Microsoft.Owin.Security.Twitter.TwitterAuthenticationOptions

في الآونة الأخيرة ، يجب أن تكون بعض الشهادات قد تغيرت والآن لم تعد بصمات الأصابع متطابقة.

الرجاء إضافة بصمة إبهام جديدة لشهادة" سلطة التصديق الأولية العامة من فئة فيريساين 3 - جي 5 " إلى خيارات مصادقة تويتر الخاصة بك في Startup.Auth.cs (لمستخدمي مفك).

التغيير من الافتراضي:

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

استخدم هذا:

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
    })
});

نصائح أخرى

لتلخيص وحفظ الناس يحفرون من خلال التعليقات، وهنا أحدث التكوين:

giveacodicetagpre.

جميع الاعتمادات إلى michaellake و kennethito.

إيقاف تشغيل fiddler.

Devugger Web Debrougger Monothow يفسد OAuth for Twitter.

لأغراض الاختبار فقط (!) من الممكن أيضا ضبط

giveacodicetagpre.

وأضف إلى تطبيق Global.asax الخاص بك:

giveacodicetagpre.

خادم Digicert SHA2 عالية الضمان C قيمة "5168FF90AF0207753CCCD9656462A212B859723B" لا يبدو أنها صالحة.القيمة الجديدة هي "01C3968ACDBD57AE7DFAFF9552311608CF23A9F9".انها صالحة من 6/28/2016 إلى 9/19/2019.لقد وجدت أنه من خلال الذهاب إلى https://api.twitter.com/ في Chrome، ثم النقر فوق القفلفي شريط العناوين لعرض الشهادة.

كان لدي هذه المشكلة بالضبط اتبعت المشاركة أعلاه وحصلت على الخطأ 401 (غير المصرح به) المذكورة في تعليق آخر.

ذهبت إلى حسابي Twitter Dev وإلغاء تحديد مربع بعنوان: "تمكين قفل رد الاتصال".النقر فوق حفظ، اضغط F5 وعملت.

لذلك عملت الرمز أعلاه بالنسبة لي.إذا حصلت على 401 تحقق من حساب Twitter الخاص بك إلى مربع الاختيار.

بالنسبة لي ، مجرد تحديث Microsoft.Owin.Security.Twitter إلى الإصدار 3.1.0 إصلاحه ، حتى من دون إضافة بصمات الإبهام!

كان لدي نفس المشكلة، وقد قمت بتحديث عنوان URL رد الاتصال في تطبيق Twitter الخاص بي.

إضافة عنوان URL الافتراضي rel="nofollow noreferrer"> https:// mywebsite / signin-twitter

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top