2013-03-03 14 views
63

के साथ ओएस एक्स पर ओपनएसएसएल अपडेट करें मैं मैकोज़ एक्स 10.7.5 का उपयोग कर रहा हूं और मुझे handshake failures के कारण एक नया ओपनएसएसएल संस्करण चाहिए। वहाँ इंटरनेट पर कई ट्यूटोरियल हैं और मैं निम्नलिखित की कोशिश की:होमब्री

brew install openssl 
brew link openssl --force 

फिर भी, यह काम नहीं करता है:

openssl version 
OpenSSL 0.9.8r 8 Feb 2011 

brew unlink openssl && brew link openssl --force 
Unlinking /usr/local/Cellar/openssl/1.0.1e... 1139 links removed 
Linking /usr/local/Cellar/openssl/1.0.1e... 1139 symlinks created 

SVN मुद्दा या तो हल नहीं होती है। कोई विचार? मैं मैकपॉर्ट्स तरीके से कोशिश नहीं करता क्योंकि यह होमब्रू में हस्तक्षेप कर सकता है।

+1

खुश रहें कि यह काम नहीं करता है। संस्करण 0.9.8r हार्टबलेड बग से पीड़ित नहीं था। यदि आपने मार्च 2013 में सफलतापूर्वक अपग्रेड किया है, तो आपके द्वारा बनाए गए एसएसएल प्रमाण पत्र से समझौता किया गया है और आपको इसे फिर से लोड करना होगा। प्रभावित संस्करणों के लिए heartbleed.com देखें। – Houman

+2

यह प्रश्न ऑफ-विषय प्रतीत होता है क्योंकि यह प्रोग्रामिंग या विकास के बारे में नहीं है। सहायता केंद्र में [मैं यहां कौन से विषय पूछ सकता हूं] (http://stackoverflow.com/help/on-topic) देखें। शायद [सुपर उपयोगकर्ता] (http://superuser.com/) या [ऐप्पल स्टैक एक्सचेंज] (http://apple.stackexchange.com/) पूछने के लिए एक बेहतर जगह होगी। – jww

उत्तर

73

आप Homebrew /usr/स्थानीय/बिन उपयोग कर रहे हैं पहले से ही $PATH के सामने होना चाहिए या कम से कम पहले /usr/bin आते हैं। यदि अब आप अपनी टर्मिनल विंडो में brew link --force openssl चलाते हैं, तो एक नया खोलें और इसमें which openssl चलाएं। अब /usr/local/bin के तहत openssl दिखाएं।

+1

धन्यवाद, यह काम किया। मैं इस दस्तावेज़ को $ PATH में जोड़ने के तरीके का संदर्भ देता हूं: http://hathaway.cc/2008/06/how-to-edit-your-path-environment-variables-on-mac-os-x/ – Dean

+0

धन्यवाद! इस मुद्दे पर कुछ घंटे मारे गए। –

+1

मेरे मामले में मैंने इसे अपने ~/.profile PATH =/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/local/बिन:/opt/local/sbin:/opt/X11/bin:/usr/local/macGPG2/bin:/usr/bin:/bin:/usr/sbin –

5

openssl को अपडेट करने के बारे में आपके प्रश्न का उत्तर देने के लिए मैंने अपने मैक पर नवीनतम संस्करण को नवीनतम openssl संस्करण 1.0.1e में सफलतापूर्वक अपडेट करने के लिए इन चरणों का पालन किया। http://foodpicky.com/?p=99

टर्मिनल आदेशों बनाने के लिए और स्थापित उपयोग करने के लिए sudo बनाने और sudo बनाने स्थापित सुनिश्चित हो बनाने के लिए जब आप चरणों तक पहुँचने (मैं करना पड़ा:

मैं यहां दिए चरणों का पालन किया चरण-दर-चरण दो बार चले जाओ क्योंकि मैंने इसे सुडो के बिना किया था और यह अपडेट नहीं हुआ था)।

आशा इस

+3

आज के रूप में FYI, 1.0.1e (विशेष रूप से 1.0.1 ए-एफ) गंभीर सुरक्षा भेद्यता के लिए जाना जाता है। भविष्य के पाठकों, सुनिश्चित करें कि आप कम से कम 1.0.1g पर अपग्रेड करें http://heartbleed.com/ – SapphireSun

+0

पुराना संस्करण अभी भी मेरे लिए दिखा रहा है: http://stackoverflow.com/questions/22974590/brew-link-force-openssl -did-not-update-openssl-version – quantumpotato

+2

*** माइनस वन ***: * "... सुडो बनाने का उपयोग करना सुनिश्चित करें ..." * - आप विशेषाधिकारों के साथ नहीं बनाते हैं। यदि आप आवश्यक हो तो बस 'मेक' और फिर 'सुडो इंस्टॉल करें'। आपने एक भयानक संदर्भ भी उद्धृत किया। यह अद्यतन 1.0.x के साथ '/ usr' में ऐप्पल के ओपनएसएसएल 0.9.8 को प्रतिस्थापित करता है। यह करना वास्तव में एक बुरी चीज है क्योंकि कोई द्विआधारी संगतता नहीं है। – jww

5

मैं इस मुद्दे था और पाया गया कि नए openssl की स्थापना वास्तव में काम किया था, लेकिन मेरी PATH इसके लिए गलत तरीके से सेटअप था मदद करता है - मेरी $PATH बंदरगाहों पथ तो मेरे काढ़ा पथ के समक्ष रखा था यह हमेशा openssl का पुराना संस्करण मिला।

मेरे लिए फिक्स brew (/ usr/local/bin) पर $PATH के सामने पथ डालना था।

यह पता लगाने के लिए कि आप कहां लोड कर रहे हैं openssl, which openssl चलाएं और आउटपुट नोट करें। जब आप openssl चलाते हैं तो यह आपके सिस्टम का उपयोग करने वाले संस्करण का स्थान होगा। यह "/ usr/local/bin" के brew पथ के अलावा कहीं और होगा। अपना $PATH बदलें, टर्मिनल टैब बंद करें और एक नया खोलें, और which openssl चलाएं। आपको अब एक अलग पथ देखना चाहिए, शायद/usr/local/bin के अंतर्गत। अब openssl version चलाएं और आपको अपना नया संस्करण "ओपनएसएसएल 1.0.1e 11 फरवरी 2013" इंस्टॉल करना चाहिए।

11

एक टर्मिनल में, चलाएँ: brew unlink openssl

यह सुनिश्चित करता है कि हम इस स्थिति के लिए सही openssl लिंक कर रहे हैं:

export PATH=/usr/local/bin:$PATH 
brew link --force openssl 

आप पहली बार openssl लिंक रद्द करना अगर आपको यह चेतावनी मिलती हो सकता है। (और प्रोफाइल के साथ गड़बड़ नहीं है)

हैट टिप @ ओलाफ के उत्तर और @ फ़ेलिप की टिप्पणी पर।कुछ लोग - जैसे कि मेरे - कुछ सुंदर गंदे पाथ वर्र्स हो सकते हैं।

+4

यह कहता है कि 'लिंक करने से इंकार कर रहा है: openssl' – rogerdpack

2

मुझे अपने स्थानीय सर्वर पर OSX10.11 पर php56 चलाने वाले कुछ वर्डप्रेस प्लगइन्स स्थापित करने में समस्याएं थीं। वे एसएसएल पर बाहरी एपीआई पर कनेक्शन विफल रहे।

ओपनएसएसएल स्थापित करने से मेरी समस्या हल नहीं हुई। लेकिन फिर मुझे पता चला कि कर्ल को भी पुनर्स्थापित करने की आवश्यकता है।

इसने होमब्रू का उपयोग करके मेरी समस्या हल की।

brew rm curl && brew install curl --with-openssl 

brew uninstall php56 && brew install php56 --with-homebrew-curl --with-openssl 
-8
  1. स्थापित पोर्ट: https://guide.macports.org/
  2. स्थापित करने या openssl पैकेज का उन्नयन: sudo port install openssl या sudo port upgrade openssl
  3. यह है कि, openssl version परिणाम देखने के लिए चलाते हैं।
+1

प्रश्न होमब्रू के बारे में था ... मैकपोर्ट्स है होमब्री नहीं ... ओपी राज्यों में वे मैक बंदरगाहों का उपयोग नहीं करना पसंद करते हैं। –

+0

@WadeWilliams मैक नए संस्करण खुराक में आपको 'होमब्रे' का उपयोग करके 'openssl' को अपडेट करने की अनुमति नहीं देता है, मेरा मतलब है कि आप इसे' होमब्रू 'का उपयोग करके इंस्टॉल या अपडेट कर सकते हैं लेकिन आप इसे प्राथमिकता नहीं दे सकते। इसलिए, 'होमब्रू' का उपयोग करके इसे अपडेट करने के बजाय आप इसे 'मैक्सपोर्ट' का उपयोग करके अपडेट कर सकते हैं और इसे प्राथमिकता दे सकते हैं। –

6

ब्रू के साथ मैक पर openssl स्थापित किया गया लेकिन /usr/local/bin पर कुछ भी नहीं मिला जहां अन्य ब्रू स्थापित डिब्बे स्थित हैं। मिले मेरी ताजा यहाँ openssl:

/usr/local/opt/openssl/bin/openssl

इस तरह भागो यह:

/usr/local/opt/openssl/bin/openssl version

मैं नहीं चाहता कि अद्यतन करने के लिए ओएस एक्स openssl, चाहते हैं, जबकि कुछ ओएस सामान या अन्य 3 पार्टी क्षुधा हो सकता है पुराने संस्करण पर निर्भरता है।

मैं भी सिर्फ openssl

सभी Google उपयोगकर्ताओं जो काढ़ा द्वारा स्थापित openssl के स्थान के लिए देख रहे हैं के लिए यहाँ इस लेखन से अधिक समय पथ कोई आपत्ति नहीं है।

संबंधित मुद्दे