Sunday, 15 April 2012

C# + MySql + SSL = "The handshake failed due to an unexpected packet format" -


मैं एक साधारण .net 4.0 C # कंसोल अनुप्रयोग से MySQL डेटाबेस से कनेक्ट करने का प्रयास कर रहा हूं:

  MySql.Data.MySqlClient का उपयोग कर; नेमस्पेस MySqlTest {class प्रोग्राम {static void Main (string [] args) {उपयोग (var कनेक्शन = नया MySqlConnection ("सर्वर = xxx.xxx.xxx.xxx; डेटाबेस = my_database; Uid = my_login; Pwd = my_password;" + " सर्टिफ़िकेटफ़ाइल = सी: \\ उपयोगकर्ता \\ myuser \\ दस्तावेज़ \\ विजुअल स्टूडियो 2013 \\ परियोजनाएं \\ सैंडबॉक्स \\ MySqlTest \\ certificate.pfx; "+" प्रमाणपत्र पासवर्ड = प्रमाणपत्र_पासवर्ड; एसएसएल मोड = आवश्यक; ")) {कनेक्शन ।खुला(); }}}}  

जब मैं ऐप चलाता हूं, मुझे एक सिस्टम मिलता है। आईओ। आईओई एक्सप्शनः "अप्रत्याशित पैकेट प्रारूप के कारण हाथ मिलाना विफल रहा।"

I मैंने अपनी फाइल को 3 अन्य फाइलों से बना दिया है, पहले यह कमांड चला कर:

 । \ Openssl.exe pkcs12 -exportoutout certificate.pfx-किंका user.key -in उपयोगकर्ता CRT -certfile ca.crt  

दूसरे प्रयास पर, मैं सभी तीन फाइलों को .pem में कनवर्ट कर दिया और फिर उसी आदेश को चलाता हूं (- "एक प्रमाण पत्र फ़ाइल बनाना। ग्राहक "अनुभाग):

 । Openssl.exe pkcs12 -exportoutout certificate.pfx-कीनी उपयोगकर्ता.pem -in user.pem -certfile ca.pem  

मैं उसी तीन फाइलों का उपयोग करके MySQL Workbench से डेटाबेस से कनेक्ट हुआ और यह काम किया। मुझे नहीं पता कि मेरे ऐप पर मुझे यह अपवाद क्यों मिलता है क्या किसी के पास कोई विचार है?

मैं न्यूजेट से डाउनलोड किए MySql.Data 6.9.6 ड्राइवर का उपयोग कर रहा हूं।

धन्यवाद!


No comments:

Post a Comment