Как обновить OpenSSL в OS X?

118 голосов | спросил dr jimbob 8 AMpTue, 08 Apr 2014 08:25:14 +040025Tuesday 2014, 08:25:14

4 ответа


142

Для чего это стоит, я просто использовал homebrew ( http://brew.sh/):

brew update  
brew install openssl  
brew link --force openssl 
openssl version -a  

Если появляется одна из плохих версий (1.0.1a-f), вы можете выяснить, какую версию openssl вы используете, таким образом:

which openssl

Часто это из /usr /bin. Чтобы убедиться, что вы получаете обновленную версию, поместите символическую ссылку в /usr /local /bin, чтобы указать на обновленный openssl, например:

ln -s /usr/local/Cellar/openssl/1.0.1g/bin/openssl /usr/local/bin/openssl

В качестве альтернативы этому заключительному этапу некоторые люди заменяют openssl в /usr/bin символической ссылкой на /usr/local/Cellar/openssl/1.0.1g/bin/openssl (или независимо от вашей версии):

mv /usr/bin/openssl /usr/bin/openssl_OLD  
ln -s /usr/local/Cellar/openssl/1.0.1g/bin/openssl /usr/bin/openssl

Но это, как известно, вызывает проблемы с некоторыми более поздними версиями OSX. Лучше просто вставить новую символическую ссылку в /usr /local /bin, которая должна иметь приоритет на вашем пути через /usr /bin.

ответил SapphireSun 8 AMpTue, 08 Apr 2014 08:46:47 +040046Tuesday 2014, 08:46:47
11

Или для тех, кто использует mac-порты, и не беспокоится о сохранении версии

sudo port upgrade openssl

Примеры: -)

ответил mammix2 8 PMpTue, 08 Apr 2014 20:39:19 +040039Tuesday 2014, 20:39:19
6

Для решения Расширение неограниченной памяти расширения запроса OCSP (CVE-2016-6304) на macOS Sierra, используя brew с «Защита целостности системы» :

  1. Временно отредактируйте разрешения для /usr/local, чтобы варить можно:

    sudo chgrp -R admin /usr/local
    sudo chmod -R g+w /usr/local
    
  2. Установите обновленную версию OpenSSL (вы, вероятно, хотите 1.0.2i):

    brew install openssl
    
  3. Вам может понадобиться /нужно удалить существующую символическую ссылку в openssl из /usr/local/bin:

    rm /usr/local/bin/openssl
    
  4. Подсоедините правильную версию пива:

    sudo ln -s /usr/local/Cellar/openssl/1.0.2i/bin/openssl /usr/local/bin/openssl
    
  5. Восстановить исходные разрешения для /usr/local/bin:

    sudo chown root:wheel /usr/local
    
ответил brandonscript 22 ndEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 22 Sep 2016 20:51:24 +0300 2016, 20:51:24
1

Тот, кто не хочет использовать пиво или порты и просто хочет заменить стандартную установку OpenSSL 0.9.8, всегда может отключить защиту целостности системы, перезагрузившись в режим восстановления (cmd + R) и выпуская

csrutil disable

и затем скомпилировать openssl с помощью

./config --prefix=/usr
make install

Он успешно заменил OpenSSL в ElCapitan для меня, и я смог скомпилировать curl и apache httpd 2.4 без каких-либо проблем непосредственно из источников. Примером такого метода может показаться, что ElCapitan больше не поддерживается Apple, и никаких обновлений не ожидается, поэтому он, вероятно, не сломается. Во-вторых, это избавляет вас от указания на папку openssl в /usr /local для каждой программы, которую вы компилируете, делая компиляцию более надежной.

ответил Захар Joe 16 Mayam18 2018, 01:07:34

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132