किसी कारण से, मैं अपने Windows 10 लैपटॉप पर कुछ HTTPS वेबसाइट्स (सभी नहीं!) नहीं खोल सका। ऐसी वेबसाइट को ब्राउज़र में खोलने का प्रयास करते समय, यह एक त्रुटि दिखाता है: "This site can't provide a secure connection"। साइट्स Google Chrome, Opera, और Chromium-आधारित ब्राउज़र्स में प्रदर्शित नहीं होती हैं। HTTPS के बिना, मैं उनमें से केवल कुछ को खोल सकता हूँ जिनके पेज HTTPS और HTTP दोनों प्रोटोकॉल पर उपलब्ध हैं। यदि मैं Google Chrome में समस्या वाली HTTPS वेबसाइट खोलने का प्रयास करता हूँ, तो त्रुटि इस तरह दिखती है:
This site can’t provide a secure connection. sitename.com sent an invalid response. ERR_SSL_PROTOCOL_ERROR

या इस तरह:
This site can’t provide a secure connection. sitename.com uses an unsupported protocol. ERR_SSL_VERSION_OR_CIPHER_MISMATCH. The client and server don’t support a common SSL protocol version or cipher suite. This is likely to be caused when the server needs RC4, which is no longer considered secure.

Mozilla Firefox में:
Secure Connection Failed
Opera और Chromium-आधारित ब्राउज़र्स में, त्रुटि लगभग समान दिखती है। मैं इन HTTPS वेबसाइट्स को कैसे खोल सकता हूँ?
उत्तर
जैसा कि आप समझ गए होंगे, समस्या आपके ब्राउज़र और HTTPS-सक्षम वेबसाइट के बीच SSL कनेक्शन समस्याओं से संबंधित है। कारण भिन्न हो सकते हैं। इस लेख में, मैंने लोकप्रिय ब्राउज़र्स में त्रुटि "This site can't provide a secure connection, ERR_SSL_PROTOCOL_ERROR" को ठीक करने के सभी तरीकों को इकट्ठा करने का प्रयास किया है।
मैं ध्यान देना चाहूँगा कि Google Chrome, Opera, और Chromium-आधारित ब्राउज़र्स अलग-अलग कंपनियों द्वारा जारी किए जाने के बावजूद, वे उसी WebKit (Chromium) इंजन का उपयोग करते हैं, और HTTPS साइट्स खोलने की समस्या उन सभी के लिए समान तरीके से हल होती है।
सबसे पहले, सुनिश्चित करें कि यह HTTPS वेबसाइट की स्वयं की समस्या नहीं है। अन्य डिवाइस (स्मार्टफोन, टैबलेट, होम/वर्क PC, आदि) से खोलने का प्रयास करें। साथ ही जाँचें कि क्या आप IE/Edge या Mozilla Firefox जैसे अन्य ब्राउज़र्स में समस्या वाली वेबसाइट खोल सकते हैं।
ब्राउज़र कैश, कुकीज़ क्लियर करें, और SSL कैश रीसेट करें
ब्राउज़र कैश और कुकीज़ अक्सर SSL सर्टिफिकेट समस्याओं का कारण बनते हैं। हम आपके ब्राउज़र में पहले कैश और कुकीज़ क्लियर करने की सलाह देते हैं। Chrome में, Ctrl + Shift + Delete दबाएँ (या एड्रेस chrome://settings/clearBrowserData) पर जाएँ, टाइम रेंज चुनें (All time) और Clear data पर क्लिक करें।

Windows 10 या 11 में SSL कैश क्लियर करने के लिए:
- Control Panel -> Internet Options पर जाएँ;
- Content टैब पर क्लिक करें;
- Clear SSL State बटन पर क्लिक करें;
- संदेश "
The SSL cache was successfully cleared" दिखाई देगा; - अपना ब्राउज़र पुनरारंभ करें और जाँचें कि क्या ERR_SSL_PROTOCOL_ERROR त्रुटि बनी रहती है।

थर्ड-पार्टी ब्राउज़र एक्सटेंशन अक्षम करें
हम थर्ड-पार्टी ब्राउज़र एक्सटेंशन, विशेष रूप से एनोनिमाइज़र, प्रॉक्सी, VPN, एंटीवायरस एक्सटेंशन, और अन्य समान ऐड-ऑन जो टार्गेट वेबसाइट पर ट्रैफ़िक में हस्तक्षेप कर सकते हैं, को अक्षम (डिलीट) करने की सलाह देते हैं। आप Chrome में सक्षम एक्सटेंशन की सूची Settings -> More Tools -> Extensions में देख सकते हैं या chrome://extensions/ पर जा सकते हैं। सभी संदिग्ध एक्सटेंशन अक्षम करें।

एंटीवायरस और फ़ायरवॉल सेटिंग्स जाँचें
यदि आपके कंप्यूटर पर एंटीवायरस या फ़ायरवॉल (यह अक्सर एंटीवायरस में एक मॉड्यूल के रूप में बिल्ट-इन होता है) इंस्टॉल है, तो वे वेबसाइट्स तक पहुँच को ब्लॉक कर सकते हैं। यह समझने के लिए कि क्या आपका एंटीवायरस या फ़ायरवॉल किसी साइट तक पहुँच को ब्लॉक करता है, उन्हें कुछ समय के लिए रोकने का प्रयास करें।
बहुत सारे एंटी-वायरस में एक बिल्ट-इन मॉड्यूल होता है जो वेबसाइट्स के SSL/TLS सर्टिफिकेट की जाँच करता है। यदि एंटीवायरस पता लगाता है कि वेबसाइट असुरक्षित (या सेल्फ-साइन्ड) सर्टिफिकेट या लीगेसी SSL प्रोटोकॉल संस्करण (SSL 3.0 या TLS 1.0) का उपयोग कर रही है, तो एंटीवायरस ऐसी साइट तक उपयोगकर्ता की पहुँच को ब्लॉक कर सकता है। HTTP/HTTPS ट्रैफ़िक और SSL सर्टिफिकेट की स्कैनिंग अक्षम करने का प्रयास करें। विभिन्न एंटीवायरस में, इस विकल्प को अलग-अलग नाम से बुलाया जा सकता है। उदाहरण के लिए:
- ESET NOD32 एंटीवायरस में "
Enable SSL/TLS protocol filtering" विकल्प अक्षम करें;
- Avast में विकल्प "
Enable HTTPS scanning" कहलाता है (यह Settings -> Active Protection -> Web Shield -> Customize -> Main Settings के तहत स्थित है);
- Dr.Web एंटीवायरस में इंटीग्रेटेड फ़ायरवॉल (
Spider Gate) वेबसाइट्स को ब्लॉक कर सकता है; - Kaspersky Internet Security एंटीवायरस में, Settings -> Advanced -> Network -> पर जाएँ, वेबसाइट को एक्सक्लूजन में जोड़ें या Do not scan encrypted connections विकल्प चुनें।

दिनांक और समय सेटिंग्स जाँचें
आपके कंप्यूटर पर गलत दिनांक, समय (या समय क्षेत्र) भी HTTPS वेबसाइट्स के लिए सुरक्षित कनेक्शन त्रुटियों का कारण बन सकता है। प्रमाणीकरण के दौरान, आपका ऑपरेटिंग सिस्टम जाँचता है कि वेबसाइट सर्टिफिकेट कब बनाया गया था, कब समाप्त होता है, और सर्टिफिकेशन अथॉरिटी का सर्टिफिकेट कब समाप्त होगा।
सुनिश्चित करें कि आपके पास सही समय और समय क्षेत्र सेट है। यदि समय लगातार रीसेट होता है, तो लेख "Windows displays wrong time after reboot" देखें।
Windows रूट सर्टिफिकेट्स अपडेट करें
यदि आपका कंप्यूटर आइसोलेटेड नेटवर्क सेगमेंट में है, लंबे समय से अपडेट नहीं किया गया है, या स्वचालित अपडेट अक्षम है, तो इसमें नए विश्वसनीय रूट सर्टिफिकेट (TrustedRootCA) नहीं हो सकते हैं। हम अनुशंसा करते हैं कि आप Windows में हमेशा नवीनतम सुरक्षा अपडेट इंस्टॉल करें।
आप "Updating List of Trusted Root Certificates in Windows" लेख का पालन करके विश्वसनीय रूट सर्टिफिकेट्स को मैन्युअली अपडेट कर सकते हैं। साथ ही, SigCheck का उपयोग करके अपने कंप्यूटर की संदिग्ध या अविश्वसनीय सर्टिफिकेट्स के लिए जाँच करने की सलाह दी जाती है। यह आपके HTTPS ट्रैफ़िक को कैप्चर होने और कई अन्य समस्याओं को रोकने में मदद कर सकता है।
QUIC प्रोटोकॉल सपोर्ट अक्षम करें
सुनिश्चित करें कि Chrome में QUIC (Quick UDP Internet Connections) प्रोटोकॉल का सपोर्ट सक्षम है। QUIC कनेक्शन को तेजी से स्थापित करने और वेबसाइट से कनेक्ट करते समय सभी TLS (HTTPS) पैरामीटर्स पर बातचीत करने की अनुमति देता है। हालांकि, कुछ मामलों में, यह SSL कनेक्शन के साथ समस्याएँ पैदा कर सकता है। QUIC अक्षम करने का प्रयास करें:
chrome://flags/#enable-quicपर जाएँ;- Experimental QUIC protocol विकल्प ढूंढें;
- इसका मान Default से Disabled में बदलें;
- Chrome पुनरारंभ करें।

अपने ब्राउज़र और वेब सर्वर द्वारा समर्थित TLS/SSL प्रोटोकॉल जाँचें
जाँचें कि आपके ब्राउज़र द्वारा कौन से TLS/SSL प्रोटोकॉल संस्करण और एन्क्रिप्शन मेथड (सिफर सूट) समर्थित हैं। ऐसा करने के लिए, बस वेब पेज https://clienttest.ssllabs.com:8443/ssltest/viewMyClient.html पर जाएँ।
SSL Labs ऑनलाइन सर्विस आपके ब्राउज़र द्वारा समर्थित प्रोटोकॉल और सिफर सूट की सूची लौटाएगी। मेरे उदाहरण में, Chrome केवल TLS 1.3 और TLS 1.2 का समर्थन करता है। अन्य सभी प्रोटोकॉल (TLS 1.1, TLS 1.0, SSL3, और SSL 2) अक्षम हैं। नीचे समर्थित एन्क्रिप्शन मेथड की सूची है।
Cipher Suites (in order of preference)
- TLS_AES_128_GCM_SHA256
- TLS_CHACHA20_POLY1305_SHA256
- TLS_AES_256_GCM_SHA384
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
- TLS_RSA_WITH_AES_128_GCM_SHA256
- TLS_RSA_WITH_AES_256_GCM_SHA384
- TLS_RSA_WITH_AES_128_CBC_SHA
- TLS_RSA_WITH_AES_256_CBC_SHA

Windows में सक्षम सिफर सूट की पूरी सूची PowerShell का उपयोग करके देखी जा सकती है:
Get-TlsCipherSuite | Format-Table -Property CipherSuite, Name
फिर साइट द्वारा समर्थित TLS/SSL प्रोटोकॉल की सूची जाँचें। ऐसा करने के लिए, ऑनलाइन SSL चेकर सर्विस https://www.ssllabs.com/ssltest/analyze.html?d=domain.com का उपयोग करें ( domain.com को उस साइट के एड्रेस से बदलें जिसे आप जाँचना चाहते हैं)।
जाँचें कि क्या वेबसाइट द्वारा समर्थित सभी TLS/SSL संस्करण आपके ब्राउज़र में उपलब्ध हैं।
इस उदाहरण में, आप देख सकते हैं कि साइट TLS 3.1, SSL 3.0, और SSL 2.0 का समर्थन नहीं करती है। साथ ही, सिफर सूट सूची की तुलना करें।

यदि एन्क्रिप्शन मेथड आपके ब्राउज़र द्वारा समर्थित नहीं है, तो आपको इसे Windows में सक्षम करने की आवश्यकता हो सकती है।
यदि वेबसाइट उन SSL प्रोटोकॉल का समर्थन नहीं करती जिनकी क्लाइंट को आवश्यकता है, तो आप HTTPS-सक्षम वेबसाइट से कनेक्ट करते समय अपने ब्राउज़र में त्रुटि "This site cannot provide a secure connection" देखेंगे।
लीगेसी TLS/SSL प्रोटोकॉल के लिए सपोर्ट सक्षम करें
और आखिरी बात — ऐसा हो सकता है कि लीगेसी TLS और SSL प्रोटोकॉल सपोर्ट को सक्षम करना समस्या हल करने के लिए पर्याप्त हो। ज्यादातर मामलों में, यह सबसे प्रभावी है, लेकिन मैंने इस आइटम को लेख के अंत में जानबूझकर रखा है। मैं बताऊँगा क्यों।
पुराने TLS और SSL प्रोटोकॉल संस्करण केवल इसलिए अक्षम नहीं हैं क्योंकि डेवलपर्स ऐसा चाहते हैं। यह बड़ी संख्या में कमजोरियों के कारण है जो हैकर्स को आपके HTTPS ट्रैफ़िक में डेटा कैप्चर करने या यहां तक कि उन्हें संशोधित करने की अनुमति देते हैं। बिना सोचे-समझे इन लीगेसी प्रोटोकॉल को सक्षम करना इंटरनेट पर आपकी सुरक्षा को प्रभावित करता है, इसलिए आपको इस विधि का उपयोग तब तक नहीं करना चाहिए जब तक कि कोई अन्य मदद न कर सके।
आधुनिक ब्राउज़र्स और ऑपरेटिंग सिस्टम पर, लीगेसी और कमजोर SSL/TLS प्रोटोकॉल डिफ़ॉल्ट रूप से अक्षम हैं (SSL 2.0, SSL 3.0, और TLS 1.1)। वर्तमान में, SSL कनेक्शन के लिए केवल TLS 1.2 या TLS 1.3 उपयोग करने की सिफारिश की जाती है।
यदि वेबसर्वर (साइट) आपके क्लाइंट (ब्राउज़र) द्वारा समर्थित SSL/TLS प्रोटोकॉल से पुराने संस्करण का उपयोग करता है, तो उपयोगकर्ता सुरक्षित कनेक्शन स्थापित करते समय त्रुटि देखेगा ERR_SSL_VERSION_OR_CIPHER_MISMATCH। यह त्रुटि तब प्रकट होती है जब क्लाइंट TLS हैंडशेक चरण के दौरान पता लगाता है कि साइट एन्क्रिप्शन प्रोटोकॉल या कुंजी लंबाई का उपयोग करती है जो आपके ब्राउज़र द्वारा समर्थित नहीं है। ऊपर हमने दिखाया कि सर्वर द्वारा समर्थित प्रोटोकॉल और सिफर का सेट कैसे निर्धारित करें।
Windows पर लीगेसी SSL/TLS प्रोटोकॉल संस्करणों के उपयोग की अनुमति देने के लिए (कृपया, फिर से ध्यान दें कि यह असुरक्षित है!):
- Control Panel -> Internet Options खोलें;
- Advanced टैब पर जाएँ;
- TLS 1.0, TLS 1.1 और TLS 1.2 सक्षम करें (यदि इससे मदद नहीं मिलती, तो SSL 3.0, 2.0 भी सक्षम करें);

- अपना ब्राउज़र पुनरारंभ करें।
यदि इनमें से कोई भी विधि त्रुटि "This site can't provide a secure connection" से छुटकारा पाने में मदद नहीं करती, तो निम्न प्रयास करें:
- सुनिश्चित करें कि फ़ाइल
C:\Windows\System32\drivers\etc\hostमें कोई स्टेटिक रिकॉर्ड नहीं हैं। होस्ट्स फ़ाइल का उपयोग Windows में, अन्य चीजों के अलावा, डोमेन और वेबसाइट्स तक पहुँच ब्लॉक करने के लिए किया जा सकता है:Get-Content $env:SystemRoot\System32\Drivers\etc\hosts; - पब्लिक DNS सर्वर का उपयोग करने का प्रयास करें, जैसे Google के DNS सर्वर। नेटवर्क कनेक्शन सेटिंग्स में, पसंदीदा DNS सर्वर एड्रेस के रूप में IP एड्रेस 8.8.8.8 निर्दिष्ट करें;
- Control Panel -> Internet Options में, सुनिश्चित करें कि इंटरनेट ज़ोन के लिए सुरक्षा स्तर Medium-high या Medium है। यदि High चुना गया है, तो कुछ SSL कनेक्शन आपके ब्राउज़र द्वारा ब्लॉक किए जा सकते हैं;

- शायद समस्या साइट सर्टिफिकेट से संबंधित है। ऑनलाइन SSL चेकर का उपयोग करके इसे जाँचें;
- यदि आपका कंप्यूटर VPN का उपयोग कर रहा है या Windows सेटिंग्स में प्रॉक्सी सर्वर कॉन्फ़िगर किया गया है, तो उन्हें अक्षम करने का प्रयास करें;
- सुनिश्चित करें कि Chrome में TLS 1.3 सक्षम है। एड्रेस बार में सेटिंग्स सेक्शन (
chrome://flags) पर जाएँ। TLS 1.3 विकल्प खोजें। सुनिश्चित करें कि यह Enabled या Default पर सेट है। यदि यह अक्षम है, तो इसे सक्षम करें;
- यदि आप लीगेसी OS संस्करणों (Windows XP या Windows 7) में से एक का उपयोग कर रहे हैं, तो Chrome के बजाय Mozilla Firefox ब्राउज़र इंस्टॉल करें। Chromium-आधारित इंजन के विपरीत, Firefox SSL/TLS एन्क्रिप्शन प्रोटोकॉल के लिए Windows में बिल्ट-इन के बजाय अपने स्वयं के कार्यान्वयन मॉड्यूल का उपयोग करता है।