2013-02-25 56 views
8

मुझे एसएसएल हैंडशेक त्रुटि के कारण एक एसवीएन भंडार तक पहुंचने में परेशानी हो रही है। आउटपुट मुझेएसवीएन, ओएसएक्स 10.7: एसएसएल हैंडशेक असफल: एसएसएल त्रुटि कोड -1/1/336032856

$ svn ls https://example.edu:40657/folder 
svn: OPTIONS of 'https://example.edu:40657/folder': SSL handshake failed: SSL error code -1/1/336032856 (https://example.edu:40657) 

रिपोजिटरी को किसी अन्य सर्वर पर ले जाने के बाद यह हो रहा है। एक नया सुरक्षा प्रमाण पत्र भी जारी किया गया था।

मैंने यहां उठाई गई समस्या को देखा है (Handshake failure with "SSL error code -1/1/336032856" on OS X 10.7) और faq पढ़ें, लेकिन मेरा एसएसएल संस्करण 1.0.1c है। मुझे लगता है कि यह एक क्लाइंट साइड इश्यू है, क्योंकि कोई अन्य (लिनक्स) मशीन समस्या का प्रदर्शन नहीं करती है। मैंने अपना ~/.subversion फ़ोल्डर हटा दिया है और मेरे keychain में svn या ssl चिह्नित कुछ भी हटा दिया है, लेकिन अभी भी कोई भाग्य नहीं है। मेरा अनुमान है कि अभी भी कहीं भी सुरक्षा कुंजी सुरक्षित हैं जिन्हें मैं नहीं जानता। कोई विचार?

+0

'svn' का कौन सा संस्करण आप उपयोग कर रहे हैं? 'कौन सा svn' और' svn --version' आज़माएं। यदि यह एक्सकोड से ऐप्पल द्वारा आपूर्ति की गई है, तो यह ओपन एक्स 1.0.1c का उपयोग नहीं कर रहा है क्योंकि उस संस्करण को ओएस एक्स –

+0

के साथ भेज दिया गया है जो svn usr/bin/svn देता है, और svn --version 1.6.17 – dmagree

+0

देता है निस्संदेह यह है ऐप्पल द्वारा प्रदान किए गए संस्करण और openssl के एक नए संस्करण को स्थापित करने पर इसका कोई प्रभाव नहीं पड़ता है। तो यह आपके द्वारा उद्धृत किए गए मुद्दे के समान समस्या प्रतीत होता है। –

उत्तर

1

नेड डीली के लिए बहुत धन्यवाद, उनकी टिप्पणियां सही थीं। डाउनलोड और निर्माण के बाद समस्या गायब हो गई 1.7.8 (http://subversion.apache.org/download/#recommended-release)। मुझे एसईएन को http और https पता पहचानने की अनुमति देने के लिए, नियॉन (http://www.webdav.org/neon/) को भी डाउनलोड और निर्माण करना पड़ा। अंत में, मुझे नया संस्करण प्राप्त करने के लिए सेब-आपूर्ति वाले एसवीएन बाइनरी को दूसरे फ़ोल्डर में स्थानांतरित करना पड़ा (नया संस्करण/usr/local/bin में स्थापित किया गया था, जबकि सेब-आपूर्ति संस्करण/usr/bin में स्थापित किया गया था)।

+2

मैं इस गाइड का पालन करता हूं: http://jason.pureconcepts.net/2012/10/updating-svn-mac-os-x/ पहाड़ शेर के लिए और महान काम करता है! – Edenshaw

+0

मैंने अपने 'usr/local/bin' में नवीनतम स्थापित करने के लिए होमब्री और' ब्रू इंस्टॉल सबवर्सन 'का उपयोग किया है –

3

एक स्वयं हस्ताक्षरित प्रमाणपत्र का उपयोग कर सर्वर पर एक रिपॉजिटरी जांचने का प्रयास करते समय मुझे यह त्रुटि भी थी।

आप 2 आवश्यकताओं को पूरा करने के लिए है:

  • सीएन (सामान्य नाम) प्रमाण पत्र होस्टनाम आप रेपो यूआरएल
  • सर्वर नाम वर्चुअल होस्ट से निपटने में विन्यस्त में उपयोग कर रहे हैं से मेल खाना चाहिए में अनुरोध यूआरएल से भी मिलना चाहिए।

उत्तरार्द्ध पर्याप्त हो सकता है।

मैं डेबियन से डिफ़ॉल्ट-एसएसएल अपाचे कॉन्फ़िगरेशन का उपयोग कर रहा था जो किसी विशिष्ट सर्वरनाम को सेट नहीं करता है (इसलिए वैश्विक अपाचे कॉन्फ़िगरेशन से मुख्य सर्वर नाम का उपयोग किया जाता है)। सर्वर के वास्तविक होस्टनाम के माध्यम से भंडार तक पहुंच काम कर रही थी (आपको बस "विश्वसनीय प्राधिकारी द्वारा प्रमाण पत्र जारी नहीं किया गया है" पहली बार चेतावनी देने का प्रयास करें) लेकिन किसी भी अन्य उपनाम के माध्यम से इसे एक्सेस करने का प्रयास कर रहा है (यहां तक ​​कि इसके द्वारा आईपी) इस त्रुटि के साथ विफल रहा।

तो यहां वर्कअराउंड सर्वर व्यवस्थापक से पूछना है कि असली सर्वर नाम क्या है (इसे 404 त्रुटि पृष्ठ के पाद लेख में सूचीबद्ध किया जा सकता है) या उसे तदनुसार सेट करने के लिए कहें।

उदाहरण:

$ svn co https://alias.or.ip.of.the.server.real.hostname/svn/test 
svn: OPTIONS of 'https://alias.or.ip.of.the.server.real.hostname/svn/test': SSL negotiation failed: SSL error code -1/1/336032856 (https://alias.or.ip.of.the.server.real.hostname) 

$ svn co https://real.hostname.of.the.server/svn/test 
Error validating server certificate for 'https://real.hostname.of.the.server:443': 
- The certificate is not issued by a trusted authority. Use the 
    fingerprint to validate the certificate manually! 
Certificate information: 
- Hostname: real.hostname.of.the.server 
- Valid: from Mon, 23 Sep 2013 10:55:49 GMT until Thu, 21 Sep 2023 10:55:49 GMT 
- Issuer: real.hostname.of.the.server 
- Fingerprint: 61:81:26:51:53:26:9a:ea:c1:28:b8:6d:22:13:05:8f:81:1a:ed:67 
(R)eject, accept (t)emporarily or accept (p)ermanently? 

स्टोर यह स्थायी रूप से और आप के लिए तैयार हैं!

1

http://subversion.apache.org/faq.html#ssl-error-336032856

यह तब हो सकता है जब होस्ट नाम सर्वर द्वारा रिपोर्ट SSL प्रमाणपत्र में दिए गए मैच होस्ट नाम नहीं है। सुनिश्चित करें कि आपका सर्वर कॉन्फ़िगरेशन सर्वरनाम और नाम वर्चुअलहोस्ट के लिए सही मानों का उपयोग करता है।

1

यह एसएनआई (https://en.wikipedia.org/wiki/Server_Name_Indication) का उपयोग कर टीएलएस के कारण भी हो सकता है।

आप इस config

ServerName my-server 
ServerAlias another-name 

की तरह कुछ के साथ अपाचे का उपयोग कर रहे और ग्राहक ग्राहक SNI का उपयोग करता है जब यह के दौरान सर्वर बता देंगे इस URL

svn ls https://svn-server 

का उपयोग कर अपने सर्वर से कनेक्ट को देखते हुए हैंडशेक

Btw. I think you are called "svn-server" 

सर्वर केवल "my-server" नाम से जानता है

Warning: I am not called "svn-server". That name is unknown to me. 

यह चेतावनी एक हाथ मिलाना विफलता की ओर जाता है, के रूप में ग्राहक कुछ बुरा हुआ सोचता है: "और" एक और नाम ", इसलिए यह एक टीएलएस चेतावनी बढ़ा देंगे।

एक समाधान सर्वर उपनाम

ServerAlias another-name svn-server 

के नाम ग्राहक का उपयोग करता है जोड़ने के लिए किया जाएगा और भूल नहीं है कि SSL प्रमाणपत्र के "सामान्य नाम" या उपनाम भी नाम ग्राहक से मेल खाता है की जाँच करने के का उपयोग करता है।

0

मुझे एक ही त्रुटि मिली और ऐसा प्रतीत हुआ कि कारण यह था कि सिस्टम घड़ी बंद थी (डेलाइट बचत अभी पारित हो गई थी, और सिस्टम घड़ी 1 घंटे तक बंद थी)।