Asp.Net Core 3.1 में TLS 1.2 को कैसे सक्षम करें

Aug 17 2020

मैं Asp.Net Core 3.1 परियोजना पर काम कर रहा हूं। मैं स्थानीय स्तर पर परीक्षण कर रहा हूं। मुझे जैसे-जैसे त्रुटियां होने लगीं

आपका कनेक्शन पूरी तरह से सुरक्षित नहीं है। यह साइट एक पुराने सुरक्षा कॉन्फ़िगरेशन का उपयोग करती है, जो इस साइट पर भेजे जाने पर आपकी जानकारी (उदाहरण के लिए, पासवर्ड, संदेश या क्रेडिट कार्ड) को उजागर कर सकती है। NET :: ERR_SSL_OBSOLETE_VERSION

इस साइट को लोड करने के लिए इस्तेमाल किया जाने वाला कनेक्शन टीएलएस 1.0 या टीएलएस 1.1 का उपयोग किया जाता है, जिसे अपदस्थ किया जाता है और भविष्य में अक्षम किया जाएगा। एक बार अक्षम होने के बाद, उपयोगकर्ताओं को इस साइट को लोड करने से रोका जाएगा। सर्वर को टीएलएस 1.2 या बाद में सक्षम करना चाहिए।

मैंने भी TLS 1.2 को Program.cs से नीचे के रूप में सक्षम किया है -

public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.ConfigureKestrel(serverOptions =>
                {
                    serverOptions.ConfigureHttpsDefaults(co =>
                    {
                        co.SslProtocols = SslProtocols.Tls12;
                    });
                }).UseStartup<Startup>();
            });

लेकिन फिर भी वही त्रुटि।

क्या आप इस मुद्दे को हल करने के लिए मार्गदर्शन कर सकते हैं?

जवाब

4 Vikram Sep 02 2020 at 19:19

त्रुटि को ठीक करने के लिए, मैंने समाधान के साथ प्रयास किया । यह मदद नहीं की। मेरे द्वारा सुझाई गई विधि यहाँ बताई गई है, जो कि लेखक के अनुसार ASP.NET Core 2.0 के लिए ही काम करती है।

मैं विन्यास विकल्पों को देखता हूं और पाया कि डिफ़ॉल्ट रूप से ASP.NET Core 3.1 अनुरोधों के लिए TLS 1.1 और TLS 1.2 का उपयोग करता है । इसलिए, हमें कोड एंड से कुछ नहीं करना है।

आखिरकार, मैंने एक लेख पर साझा किया, जो साझा करता है-

विंडोज 7 टीएलएस 1.1 और टीएलएस 1.2 का समर्थन करता है। लेकिन ये प्रोटोकॉल संस्करण डिफ़ॉल्ट रूप से इस पर सक्षम नहीं हैं। विंडोज 8 और उच्चतर पर ये प्रोटोकॉल डिफ़ॉल्ट रूप से सक्षम हैं।

तो, यह त्रुटि का वास्तविक कारण था। मैंने TLS 1.2 को रजिस्ट्री संपादक से सक्षम करके समस्या को ठीक किया। यहां तक ​​कि माइक्रोसॉफ्ट ने भी यही उपाय सुझाया ।

आशा है कि यह किसी और का समय बचाता है।

1 RoarS. Aug 18 2020 at 00:34

कृपया चलाएं

dotnet dev-certs https --trust

आपका प्रोग्राम # CreateHostBuilder इस तरह दिखना चाहिए (डिफ़ॉल्ट)

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            });