Technical Anshu होम › ट्यूटोरियल › SQL सर्वर एन्क्रिप्शन त्रुटि
🔐 SQL सर्वर फिक्स

SQL सर्वर एन्क्रिप्शन त्रुटि ठीक करें - एक क्लिक समाधान

SQL सर्वर कनेक्ट होता है, फिर लॉगिन से इंकार कर देता है क्योंकि यह सर्वर के प्रमाणपत्र पर भरोसा नहीं कर सकता है। यह कोई नेटवर्क समस्या नहीं है और आपका डेटा ख़त्म नहीं हुआ है - यह एक विश्वास समस्या है। वीडियो में दिखाए गए क्रम में सुधारों पर काम करें: त्वरित क्लाइंट-साइड विकल्प, ऐप कनेक्शन स्ट्रिंग के अंदर समान स्विच, और सर्वर पर उचित फिक्स।

✍️ Technical Anshu🔐 SQL Server🎧 Multi-Language Audio
SQL सर्वर एन्क्रिप्शन त्रुटि ठीक करें - एक क्लिक समाधान
🎧 मल्टी-ऑडियो उपलब्ध: वीडियो प्लेयर में [Settings] (⚙️) ➔ [Audio track] पर क्लिक करके अपनी भाषा चुनें।

📑अध्याय

  1. लॉगिन त्रुटि - "प्रमाणपत्र श्रृंखला एक ऐसे प्राधिकारी द्वारा जारी की गई थी जो विश्वसनीय नहीं है"
  2. त्रुटि का वास्तव में क्या मतलब है - एन्क्रिप्शन की मांग की गई है, सर्वर का प्रमाणपत्र इसकी पहचान साबित नहीं कर सकता
  3. त्वरित क्लाइंट समाधान - SSMS कनेक्ट विंडो में ट्रस्ट सर्वर प्रमाणपत्र
  4. एप्लिकेशन कनेक्शन स्ट्रिंग के अंदर भी वही फिक्स
  5. उचित समाधान - सर्वर को एक वास्तविक प्रमाणपत्र दें जिस पर ग्राहक स्वयं भरोसा करते हैं
  6. समाधान का सत्यापन - सख्त तरीके से पुनः कनेक्ट करें और साबित करें कि एन्क्रिप्शन वास्तव में चालू है

📋 अवलोकन और चरण-दर-चरण मार्गदर्शिका

1

त्रुटि पढ़ें - यह एक विश्वास समस्या है, नेटवर्क समस्या नहीं

आपका नेटवर्क ठीक है और सर्वर चल रहा है. कनेक्शन SQL सर्वर तक पहुंच गया, सर्वर ने लॉगिन के लिए एक एन्क्रिप्टेड चैनल की पेशकश की, और आपके पीसी ने इसे अस्वीकार कर दिया क्योंकि सर्वर की पहचान साबित करने वाले प्रमाणपत्र पर आपके पीसी पर भरोसा करने वाले किसी भी व्यक्ति द्वारा हस्ताक्षर नहीं किया गया है। SSMS द्वारा प्रदर्शित पूर्ण त्रुटि यह है:

📌 त्रुटि, ठीक वैसे ही जैसे एसएसएमएस इसे दिखाता है: "सर्वर के साथ एक कनेक्शन सफलतापूर्वक स्थापित किया गया था, लेकिन फिर लॉगिन प्रक्रिया के दौरान एक त्रुटि हुई। (प्रदाता: एसएसएल प्रदाता, त्रुटि: 0 - प्रमाणपत्र श्रृंखला एक ऐसे प्राधिकारी द्वारा जारी की गई थी जो विश्वसनीय नहीं है।)"

डिफ़ॉल्ट रूप से, SQL सर्वर स्वयं द्वारा बनाए गए स्व-हस्ताक्षरित प्रमाणपत्र के साथ लॉगिन की सुरक्षा करता है। एक स्व-हस्ताक्षरित प्रमाणपत्र ट्रैफ़िक को एन्क्रिप्ट करता है, लेकिन यह साबित नहीं कर सकता कि सर्वर वास्तव में आपका सर्वर है, इसलिए सत्यापित एन्क्रिप्शन की मांग करने वाले ग्राहक इसे अस्वीकार कर देते हैं। प्रत्येक ईमानदार समाधान दो चीजों में से एक है: क्लाइंट को इस विशेष सर्वर को जानबूझकर स्वीकार करना (चरण 2 और 3), या सर्वर को एक प्रमाणपत्र देना जो ग्राहकों को स्वयं पर भरोसा हो (चरण 4)।

2

एसएसएमएस में त्वरित क्लाइंट फिक्स - ट्रस्ट सर्वर प्रमाणपत्र

यह वीडियो में दिखाया गया तेज़ मार्ग है। यह सर्वर पर कुछ भी नहीं बदलता है; यह इस एक कनेक्शन को सर्वर के प्रमाणपत्र को यह जांचे बिना स्वीकार करने के लिए कहता है कि इस पर किसने हस्ताक्षर किए हैं। SSMS सर्वर से कनेक्ट विंडो में, अतिरिक्त टैब खोलने के लिए विकल्प पर क्लिक करें, कनेक्शन प्रॉपर्टीज टैब पर जाएं, एन्क्रिप्शन को अनिवार्य पर सेट करें (या इसे प्रस्तावित के अनुसार छोड़ दें), ट्रस्ट सर्वर सर्टिफिकेट पर टिक करें, और कनेक्ट पर क्लिक करें। लॉगिन तुरंत हो जाता है।

⚠️ जानें कि चेकबॉक्स क्या बंद करता है: ट्रैफ़िक एन्क्रिप्टेड रहता है, लेकिन पहचान जांच छोड़ दी जाती है - क्लाइंट बीच में रखे गए नकली सर्वर को भी स्वीकार करेगा। आपके अपने कार्यालय LAN पर, जिस सर्वर को आप नियंत्रित करते हैं, उसके लिए यह स्वीकार्य दैनिक समाधान है, और विकास और परीक्षण मशीनों में यह एक उचित व्यापार है। इंटरनेट पर, या ग्राहक डेटा रखने वाले उत्पादन सर्वर पर, इसे केवल एक अस्थायी पुल के रूप में मानें और चरण 4 के साथ काम समाप्त करें। यह एक पुल है, गंतव्य नहीं।
3

ऐप कनेक्शन स्ट्रिंग के अंदर समान फिक्स

यदि कोई एप्लिकेशन SSMS के बजाय विफल हो जाता है, तो वही स्विच उसके कनेक्शन स्ट्रिंग में रहता है। दो सेटिंग्स स्पष्ट रूप से जोड़ें - Encrypt=True संरक्षित चैनल को चालू करता है, और TrustServerCertificate=True SSMS चेकबॉक्स की कनेक्शन-स्ट्रिंग वर्तनी है:

Connection String
Server=SQL01;Database=AppDB;User Id=appuser;Password=YourPassword;Encrypt=True;TrustServerCertificate=True;

उदाहरण मानों के स्थान पर अपने स्वयं के सर्वर नाम, डेटाबेस और लॉगिन का उपयोग करें। ट्रेड-ऑफ बिल्कुल चरण 2 में चेकबॉक्स के समान है, एक अतिरिक्त खतरे के साथ: शिप किए गए एप्लिकेशन के कॉन्फ़िगरेशन में बेक किया गया, छोड़ा गया चेक अदृश्य रूप से और स्थायी रूप से प्रत्येक उपयोगकर्ता पर लागू होता है। इसे विकास और स्टेजिंग कॉन्फ़िगरेशन में रखें, और उत्पादन में इसे उधार के समय के रूप में मानें जब तक कि चरण 4 में सर्वर प्रमाणपत्र लागू न हो जाए।

📌 पुनर्निर्मित किए बिना ऐप्स क्यों टूट गए: हाल के ड्राइवरों ने अपने डिफ़ॉल्ट बदल दिए - Microsoft.Data.SqlClient 5.1 और नया, और ODBC ड्राइवर 18, डिफ़ॉल्ट रूप से एन्क्रिप्ट चालू हो गया। जिन कनेक्शन स्ट्रिंग्स ने कभी भी एन्क्रिप्शन का उल्लेख नहीं किया था, उन्होंने उन सर्वरों के विरुद्ध इसकी मांग करना शुरू कर दिया, जिनके स्व-हस्ताक्षरित प्रमाणपत्र सत्यापन पास नहीं कर सकते। आपके डेटाबेस के बारे में कुछ भी नहीं बदला; स्ट्रिंग के अंदर अनुबंध किया गया। सेटिंग्स को स्पष्ट रूप से लिखने का मतलब है कि अगला ड्राइवर अपडेट आपकी पीठ पीछे आपके ऐप के व्यवहार को नहीं बदल सकता है।
4

उचित समाधान - सर्वर को एक वास्तविक प्रमाणपत्र दें

स्थायी मरम्मत सर्वर पर एक बार होती है, और उसके बाद प्रत्येक क्लाइंट बिना किसी चेकबॉक्स और बिना किसी चेतावनी के सख्ती से जुड़ जाता है। सबसे पहले अपने आंतरिक प्रमाणपत्र प्राधिकारी या सार्वजनिक सीए से सर्वर प्रमाणीकरण उपयोग के साथ सर्वर के पूर्ण DNS नाम (उदाहरण के लिए sql01.company.local) के लिए एक प्रमाणपत्र प्राप्त करें। इसे, इसकी निजी कुंजी के साथ, SQL सर्वर मशीन पर स्थानीय कंप्यूटर प्रमाणपत्र स्टोर में आयात करें। फिर प्रमाणपत्र पर राइट-क्लिक करें, सभी कार्य → निजी कुंजी प्रबंधित करें चुनें, और निजी कुंजी पर SQL सर्वर सेवा खाते को पढ़ें अनुमति प्रदान करें। SQL सर्वर कॉन्फ़िगरेशन प्रबंधक खोलें, SQL सर्वर नेटवर्क कॉन्फ़िगरेशन का विस्तार करें, MSSQLSERVER के लिए प्रोटोकॉल पर राइट-क्लिक करें, गुण चुनें, और प्रमाणपत्र टैब पर प्रमाणपत्र का चयन करें। फ़्लैग टैब पर आप ForceEncryption को हाँ पर भी सेट कर सकते हैं, इसलिए प्रत्येक क्लाइंट को एन्क्रिप्ट करना आवश्यक है। SQL सर्वर सेवा को पुनरारंभ करें - परिवर्तन तब तक कुछ नहीं करता जब तक आप ऐसा नहीं करते।

✅ दो जाल जो लगभग हर "यह काम नहीं करता" का कारण बनते हैं: एक प्रमाणपत्र जिसका नाम क्लाइंट द्वारा कनेक्ट किए गए नाम से मेल नहीं खाता है (सर्वर के DNS नाम से कनेक्ट करें, उसके आईपी पते से नहीं), और एक सेवा खाता जो निजी कुंजी नहीं पढ़ सकता है। पुनरारंभ करने के बाद, SQL सर्वर त्रुटि लॉग को रिकॉर्ड करना चाहिए कि प्रमाणपत्र एन्क्रिप्शन के लिए सफलतापूर्वक लोड किया गया था - यदि यह इसके बजाय शिकायत करता है, तो निजी-कुंजी अनुमति देखने के लिए पहली जगह है।
⚠️ ForceEncryption के बारे में: सर्वर पर इसे हां पर सेट करने से हर कनेक्शन के लिए एन्क्रिप्शन मजबूर हो जाता है - जो कि एक विश्वसनीय प्रमाणपत्र स्थापित होने के बाद ही सही अंतिम स्थिति है। जबकि सर्वर अभी भी अपना स्व-हस्ताक्षरित प्रमाणपत्र रखता है, इसे मजबूर करने से हर सख्त ग्राहक एक ही बार में इसी त्रुटि के साथ विफल हो जाता है।
5

सख्त तरीके से ठीक करें सत्यापित करें

एक लॉगिन जो चुपचाप सफल हो जाता है वह लोगों की सोच से कमतर साबित होता है, क्योंकि कुछ सेटिंग संयोजन वास्तविक सुरक्षा के बिना कनेक्ट होते हैं। दोनों हिस्सों को सिद्ध करें. सबसे पहले, किसी क्लाइंट से सख्त तरीके से पुनः कनेक्ट करें: सर्वर के DNS नाम का उपयोग करके कनेक्ट करें - प्रमाणपत्र के अंदर का नाम - एन्क्रिप्शन को अनिवार्य पर सेट करें और ट्रस्ट सर्वर प्रमाणपत्र को अनचेक छोड़ दें। लॉगिन बिना किसी चेतावनी के सफल होना चाहिए। फिर, उसी सत्र में, सर्वर से पूछें कि क्या एसएसएमएस में इस क्वेरी को चलाकर कनेक्शन वास्तव में एन्क्रिप्ट किया गया है:

SQL Query
SELECT session_id, encrypt_option, auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@SPID;

encrypt_option दिखा रहा है कि TRUE उत्तीर्ण ग्रेड है। कार्यशील लॉगिन के साथ FALSE का अर्थ है कि सुरक्षा हटाकर कनेक्शन सफल हो गया, और कार्य पूरा नहीं हुआ। वह उत्तीर्ण परीक्षण ही वास्तविक समापन रेखा है: भविष्य के एसएसएमएस संस्करणों सहित कोई भी सही ढंग से कॉन्फ़िगर किया गया क्लाइंट, अब पूर्ण सत्यापन और बिना किसी विशेष सेटिंग्स के साथ जुड़ता है।

🏷️विषय खोज चर और कीवर्ड

🔍 SQLServer 🔍 CertificateNotTrusted 🔍 TrustServerCertificate 🔍 SSMS 🔍 ForceEncryption 🔍 TechnicalAnshu 🔍 SQL Server Encryption Error 🔍 Certificate Chain Not Trusted 🔍 Encrypt Connection 🔍 Connection String Fix 🔍 SQL Server Configuration Manager 🔍 SSL Provider Error
🎙️ पूर्ण प्रतिलेख - विस्तार करने के लिए टैप करें

__TOK_24__

__TOK_25__

__TOK_26__

❓अक्सर पूछे जाने वाले प्रश्न

क्या यह ट्यूटोरियल अनुसरण करने के लिए 100% निःशुल्क है?

__TOK_27__

क्या शुरुआती लोग इस गाइड का पालन कर सकते हैं?

__TOK_28__

यदि मैं फंस जाऊं तो मैं प्रश्न कहां पूछ सकता हूं?

__TOK_29__

🚀 YouTube पर पूरा ट्यूटोरियल देखें

__TOK_30__

__TOK_31__

▶️ पूरा वीडियो देखें
यह ट्यूटोरियल तकनीकी अंशू के फिक्स SQL सर्वर एन्क्रिप्शन एरर वीडियो पर आधारित है • किसी भी चरण पर अटके हुए हैं? वीडियो टिप्पणियों में पूछें - आपको वहां मदद मिलेगी 🙏