Как установить OpenSSL в Ubuntu 20.04 LTS
В этом руководстве мы покажем вам, как установить OpenSSL в Ubuntu 20.04 LTS. Для тех из вас, кто не знал, OpenSSL — это набор инструментов с открытым исходным кодом для протоколов Transport Layer Security (TLS) и Secure Sockets Layer (SSL), а также библиотека криптографии. OpenSSL используется многими программами, такими как веб-сервер Apache, PHP и многими другими, обеспечивая поддержку различных криптографических алгоритмов.
В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo
‘ к командам для получения привилегий root. Я покажу вам пошаговую установку OpenSSL на Ubuntu 20.04 (Focal Fossa). Вы можете следовать тем же инструкциям для Ubuntu 18. 04, 16.04 и любого другого дистрибутива на основе Debian, например Linux Mint.
Установите OpenSSL на Ubuntu 20.04 LTS Focal Fossa
Шаг 1. Во-первых, убедитесь, что все ваши системные пакеты обновлены, выполнив следующие
apt
команды в терминале.sudo apt update sudo apt upgrade sudo apt install build-essential checkinstall zlib1g-dev
Шаг 2. Установка OpenSSL на Ubuntu 20.04.
Теперь скачиваем исходный код OpenSSL с официальной страницы:
cd /usr/local/src/ wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz sudo tar -xf openssl-1.1.1k.tar.gz cd openssl-1.1.1k
Затем мы настраиваем и компилируем OpenSSL:
sudo ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib sudo make sudo make test sudo make install
После установки OpenSSL целесообразно связать разделяемые библиотеки для него, чтобы они загружались во время выполнения:
cd /etc/ld.so. conf.d/ sudo nano openssl-1.1.1k.conf
Вставьте каталог пути к библиотеке OpenSSL:
/usr/local/ssl/lib
Затем перезагрузите динамическую ссылку, введя следующую команду:
sudo ldconfig -v
Шаг 3. Настройка двоичного файла OpenSSL.
Теперь отредактируйте файл с помощью редактора nano:/etc/environment
sudo nano /etc/environment
Добавьте следующую строку:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/ssl/bin"
Сохрани и закрой. Затем перезагрузите файл среды, чтобы ввести новую переменную PATH:
Чтобы проверить установку и версию OpenSSL, вы можете выполнить следующую команду:
source /etc/environment echo $PATH
openssl version -a
Ваш результат должен быть следующим:
OpenSSL 1.1.1k 25 Mar 2021
Поздравляю! Вы успешно установили OpenSSL . Благодарим за использование этого руководства по установке OpenSSL в системе Ubuntu 20.
Установка OpenSSL для проекта на С++ / Хабр
Введение
Решая в целом тривиальные задачи, приходится сталкиваться с нетривиальными проблемами, и эта история, собственно, об этом.
В кои-то веки, решив написать код для себя любимого, проработал проект, установил окружение, прописал в проекте boost и пошёл писать модули.
Ничто не предвещало беды, но в процессе написания кода было обнаружено, что модуль, который запрашивал у интернета погоду, получал вместо описанного в API json’а следующее: «400 The plain HTTP request was sent to HTTPS port«. Уж чем руководствовался разработчик сайта, не перенаправивший запрос без персональных данных, не знаю, но видимо хакеры хотят украсть сведения о погоде в деревне так сильно, что спать и есть не могут.
И тут я сделал манёвр, который стоил мне 50 лет. Точнее, пары бессонных ночей, так как работать тоже надо. Ничтоже сумнящийся, подключил boost::asio::ssl, написал тестовый код, который должен был проверить что теперь есть контакт, но тут моя бровь поднялась вверх в первый раз: проект перестал собираться, потому что в системе не было OpenSSL.
Примерно такой код способен показать вам всю боль и страдания при работе с тестовым проектом.Совсем открытием это конечно не было. В рабочих проектах мы писали код с использованием этого чуда, но сборкой занимался сервак, так как за каждым чихом перекомпилировать и пересобрать кодовую базу на рабочих станциях никто не желал, а на сервере всё заботливо было установлено. Все это позволяло пользоваться хедерами и лениться в плане ручной компиляции… Штош, дома нет сисадмина Лёхи, пришлось решать проблему ручками.
Что вас ждёт
Поиски.
Установка неожиданных вещей.
Настройка зоопарка.
Планирование установки.
Компиляция (много компиляции).
Причёсывание установки.
Интеграция в проект.
Поиски
Описываю, чтобы не пришлось этим заниматься вам. При поиске обнаружите два стула. На одном — сайты, испещерённые рекламой конкурентов оранжевого ютуба и обещаниями того, что в бинарниках вирусов нет (в установщиках кнопка доната есть, а цифровых подписей, чтоб антивирь не ругался, нет). На другом — официальный репозиторий, размещённый на официальном сайте проекта, вызывающий вьетнамские флешбэки о красноглазой студенческой молодости, но внушающий какое-то доверие.
Я предлагаю тебе взять красную таблетку и пройти за мной в кроличью нору.
Найди удобное место, открой консоль, склонируй репозиторий и погнали.
git clone https://github.com/openssl/openssl.gitУстановка неожиданных вещей
Изучив крайне информативную инструкцию, вы с толкнётесь с парочкой мыслей:
в 2022 году кто-то использует perl в успешном и развивающемся до сих пор проекте;
для проекта написанного на языке Си необходим ассемблер, ибо без него собирается не так споро;
о makefile создатели знают, но вместо них сборкой занимается perl, и тестированием, может быть ещё тапки приносит но это не точно.
В этот момент я отошёл за кофе и, когда пришёл в себя эмоционально, вернулся к процессу. Довольно приличным для себя нашёл Strwberry Pearl, предлагаемый в инструкции, да и NASM упомянутый в инструкции установился легко.
Веселье ждало позже.
Настройка зоопарка
Установив программки я выяснил ряд подводных камней:
Система не видит NASM.
Система знает про пути perl’а но тот perl который пытается выполнить ваши скрипты — это не тот perl который вы установили.
У меня были эти проблемы, и если вам что есть по этому поводу сказать, то приглашаю в комментарии.
Нам нужно поправить заблуждения системы о системных переменных.
Сотрудники Microsoft даровали нам поиск так почему бы не воспользоватьсяПервая беда будет ждать в path системы:
То как должно быть и как гарантированно не было изначальноNASM в процессе установки не умеет прописывать себя в путях так что третья строка снизу была добавлена вручную;
Perl умеет себя прописывать в путях системы но по какой то причине полностью рабочий исполняемы файл perl’а валяется в пользовательских бинарниках у git’а и вызывается вперёд нужного;
многие скрипты, необходимые perl’у, имеют в своём же расположении тёзку с расширением . bat и не вызываются нормально.
Последнее решается размещением расширения .pl в переменной pathext и перемещением его перед расширением .bat.
Далее понадобится перезапустить ПК, так как до сих пор это единственный путь, который гарантирует что переменные системы обновились.
На этом можем проверить факт того, что наши штуки установлены и настроены.
Ассемблер на местеК сожалению, такой же прикол с перлом не пройдёт, так как помним, что в гите живёт его злобный брат-близнец, и надо убедится, что запускается нужный.
Шаг 1шаг 2шаг 3Если результат дальнейших действий как на картинках выше — успех
По шагам:
Запускаем перл в консоли.
В диспетчере задач находим процесс перла и заказываем подсмотреть где он живёт (мне удобнее через вкладку «подробности»).
Если открывается путь, куда мы устанавливали его — радуемся.
А теперь можно прийти к последнему шагу настройки странных вещей — дополнительные пакеты perl:
Text::Template необходим для того, чтобы компилятор справился со своей работой;
Test::More нужен для того, чтобы можно было проверить: проходят ли полученные бинарники тесты.
Не стоит обманываться сообщением о том, что модуль уже есть. Скорее всего, он будет скачиваться и устанавливаться.
cpan install Test::MoreСтавить ли модуль тестов, это, конечно, дело индивидуальное, но если тесты есть, то зачем ими пренебрегать?
Планирование установки
Этап не обязательный, но лучше о нём подумать сразу, а не когда будет каша на диске.
Так как мы думаем про серьёзный проект, то понадобятся варианты, как на статической, так и на динамической сборке. Варианты для отладки и для разных систем — всё это надо как то складывать.
Вид снаружи в проводникеОбщая структура папок для наглядностиДля других платформ, например ARM, нужно будет создать дополнительные каталоги и выполнить команды по аналогии.
Сам же каталог скорее временный, так как библиотеки удобнее хранить в одном месте, и лично в моём случае, openssl переедет поближе к boost и другим используемым библиотеками, но позже.
Компиляция (много компиляции)
Дальше пойдут инструкции по сборке под конкретные варианты компиляции. При необходимости вы можете пролистать до нужных вам.
x64 Release dll
Здесь и в дальнейшем буду пользоваться приложением терминала Microsoft, но все терминалы, которые нужны для компиляции, доступны из меню Пуск в разделе установленной Visual Studio.
Для начала нужно открыть Терминал разработчика для x64 платформы и перейти в каталог репозитория, скачанного в самом начале.
cd /d E:\soft\libs\openssl\opensslА теперь понадобится perl. С помощью него настроим переменные сборки и подставим подготовленные каталоги для складирования данных компилятором.
perl Configure VC-WIN64A —prefix=E:\soft\libs\movebox\dll\x64\release —openssldir=E:\soft\libs\movebox\SSLНе нужно забывать, что пути нужно подставлять свои, и будет счастье. На следующем шаге возможно познать дзен, так как компилироваться это будет достаточно долго.
nmake До этого кадра пришлось ждать 35 минутПосле команды nmake пройдёт ориентировочно 40 минут компиляции. Между первым и вторым кадром прошло 35 минут.
Дальше запуск тестов.
nmake testЧудные 20-30 минут тестов стоит провести за чем-нибудь более приятным, чем рябь от консоли.
Теперь нужно решить проблему девственно чистых папок, заготовленных под готовые библиотеки и дать команду компилятору.
nmake installЖдать на этом процессе меньше, но это не финал мытарств со сборкой данной версии. Надо прибрать за собой.
nmake cleanВот теперь мы как пионеры — поработали и прибрали за собой.
x64 Release lib
Для статической библиотеки, находясь в каталоге репозитория, ввести настройки конфигурации для новой сборки. Как и в прошлый раз пользуемся перлом.
perl Configure VC-WIN64A —prefix=E:\soft\libs\movebox\lib\x64\release —openssldir=E:\soft \libs\movebox\SSL no-sharedНеобходимо указать каталог выходных файлов и добавить в конце ключ no-shared, это позволит собрать библиотеку для статической линковки.
Дальше шаги повторяют сборку динамической версии.
nmakeПосле команды nmake чем-нибудь займите себя, так как время сборки кардинально меньшим не станет.
Хотя в этом случае звёзды благоволили и сборка прошла за 20 минут, но никто не отменял тесты.
nmake testТесты пройдены, пора устанавливать.
nmake install_swКоманда установки обзавелась дополнительным суффиксом и хоть сработает и без него, но полученный результат не сработает в проекте так как надо.
Можно по выполнении команды убедиться что всё переместилось в нужный нам каталог.
Прибираемся, так как нефиг захламляться, да и последующим сборкам мешать будет.
nmake cleanx64 Debug dll
Процесс в целом довольно длительный и требует терпения, так что в этот раз, весь набор команд, необходимых для работы с конкретным вариантом сборки, я отправил в один пайплайн, который получился довольно увесистым.
perl Configure VC-WIN64A —debug —prefix=E:\soft\libs\movebox\dll\x64\debug —openssldir=E:\soft\libs\movebox\SSL && nmake && nmake test && nmake install_sw && nmake clean
Введён пайплайнВсё что выше — одна строка, и одной строкой же отправляется в консоль разработчика. При этом обратите внимание, что появился ключ debug в первой команде, и мы поменяли выходной каталог для библиотеки. Ключ для статической библиотеки здесь убран.
Начало работыВообще пайплайны устроены так, что если указан && между командами, то программы по данным между собой не связаны, но следующие запускаются только если предыдущие выполнились без ошибок, что позволяет узнать когда процесс пошёл не туда. С учётом того, что почти все команды, объединенные в пайп, длительные, и ловить каждые пару минут, закончилось оно или нет бывает проблематично, то запустить и забыть на часик другой про окно — довольно удобно.
Немного ожидания и всё готовоЧто приятно, так это то, что последующие шаги мы так же упростим а текущая команда подготовила место для работы после себя.
x64 Debug lib
Надеюсь, к этому моменту вы прониклись ленивостью, так как четвёртая компиляция пройдёт в такой же ускоренной манере.
perl Configure VC-WIN64A —debug —prefix=E:\soft\libs\movebox\lib\x64\debug —openssldir=E:\soft\libs\movebox\SSL no-shared && nmake && nmake test && nmake install_sw && nmake clean
ПогналиВ командах поменялись пути и добавлен ключ статической библиотеки, остаётся ждать.
дожидаемся окончания очисткипроверяем что всё собралосьТеперь мы закончили с билдом x64 платформы полностью и можно переходить к x86.
X86 all in one
Всё что нужно проделать для x86 платформы объединим в один скрипт.
perl Configure VC-WIN32 —debug —prefix=E:\soft\libs\movebox\lib\x86\debug —openssldir=E:\soft\libs\movebox\SSL no-shared && nmake && nmake test && nmake install_sw && nmake clean && perl Configure VC-WIN32 —prefix=E:\soft\libs\movebox\lib\x86\release —openssldir=E:\soft\libs\movebox\SSL no-shared && nmake && nmake test && nmake install_sw && nmake clean && perl Configure VC-WIN32 —debug —prefix=E:\soft\libs\movebox\dll\x86\debug —openssldir=E:\soft\libs\movebox\SSL && nmake && nmake test && nmake install_sw && nmake clean && perl Configure VC-WIN32 —prefix=E:\soft\libs\movebox\dll\x86\release —openssldir=E:\soft\libs\movebox\SSL && nmake && nmake test && nmake install_sw && nmake clean
Мешанина выше — это однострочный скрипт, который сделает всю необходимую работу по компиляции к размещению готового варианта библиотек. Но убедитесь, что запускаете вы его из под нужной консоли разработчика и в директории репозитория open ssl
cd /d E:\soft\libs\openssl\opensslИ только после того, как убедитесь, что все условия соблюдены, запускаете нашу лошадку вывозить компиляцию.
Ждать долгоTips: Для большинства проектов достаточно собрать пару debug-release для конкретно вашей платформы и только в одном формате dll или lib.
Теперь пустых директорий в заготовленной папке у нас нет. Можно приступить к следующему шагу.
Причёсывание установки
После полностью прошедшего процесса установки и компиляции стоит почистить временные файлы
Пропустить сложно, но всё такиПапка ssl более не понадобится. Следующим шагом следует переместить библиотеку на постоянное место жительства. В случае с текущим компом, подобные библиотеки находятся в стандартном каталоге visual studio
%homedrive%%homepath%\sourceНу и библиотеки будут жить в папке libs
Заходим не стесняемсясоздаём папку под библиотекуВот этих ребят переименовал в dynamic и static соответственноПереносим из временной папки библиотеки в заботливо созданную под это дело папку с названием библиотеки и версии. Так же переименуем папки с версиями для статической и динамической линковки — будет труднее запутаться так как lib и dll файлы будут фигурировать довольно часто, независимо от версии.
Интеграция в проект
Страх от которого надо избавитьсяКак видим, факт наших мучений с компиляцией не сильно впечатлил VIsual Studio, и нужно показать расположения вожделенных документов.
Так как в одном проекте нельзя одновременно подключать и статическую и динамическую версии одной и той же библиотеки, продемонстрирую пример подключения динамической версии, так как для отладки это может быть удобнее.
Нужно залезть в свойства проекта и перейти в настройки с/с++ и изменить настройки дополнительных включаемых каталогов.
В окне изменения с помощью магии макросов Visual Studio создадим универсальный путь включения.
C:\Users\Varkmort-mainPC\source\libs\OpenSSL-master10.07.22\dynamic\$(PlatformTarget)\$(Configuration)\includeМакросы помогут не один раз. Самое время проверить что теперь думает Visual Studio.
Что-то на линковщицкомРугаться стали по-другому. Теперь ошибки возникают не на уровне компиляции, а при линковке. Приблизились нас на шаг к победе.
Теперь нужно научит проект видеть исполняемые файлы dll и подключать в наш исполняемый файл вызовы нужной библиотеки.
C:\Users\Varkmort-mainPC\source\libs\OpenSSL-master10.07.22\dynamic\$(PlatformTarget)\$(Configuration)\libПерво-наперво поясним компоновщику где лежат файлы вызовов функций. Добавим запись в дополнительные каталоги библиотек. Затем перейдя из вкладки общее в ввод дополним дополнительные зависимости.
лезем в свойства вносим измененияlibcrypto.lib;libssl.lib; — разделены ; которые нельзя забывать так что лучше через меню изменения
Теперь решение собирается и мы можем проверить что работает.
Обманчивый успехОтладка или релиз — не важно программа выдаёт:
Так как не научили проект знать о местоположении исполняемых файлов. Надо открыть свойства проекта и перейти в каталоги vс++
Выделенный пункт надо настроитьНужный раздел — каталоги исполняемых файлов. Именно туда вписывают пути до библиотек dll.
C:\Users\Varkmort-mainPC\source\libs\OpenSSL-master10.07.22\dynamic\$(PlatformTarget)\$(Configuration)\bin\И вуаля — работает.
Успешный успех на 146%Теперь можно успокоится и со спокойным разумом продолжить работу над проектом, а не над войной со строптивой библиотекой.
Заключение
В процессе работы несколько раз были очень подлые моменты, например, что брандмауэр системы, на пару с антивирусом, просыпались из отключки и ломали компиляцию. x86 до рабочего состояния вовсе собралась раза с 4, и в конечном счёте была доустановлена только ради гайда. В данной статье постарался осветить возможные проблемы при работе и проведении процесса. Сколько я не искал на просторах рунета нормальных инструкций по развёртыванию open ssl, не нашёл таковых, и надеюсь на отклик со стороны читателей, а также на то, что статья будет полезна хотя бы ещё паре человек на этой планете. Успехов.
c++ — Как установить библиотеки OpenSSL в Ubuntu?
спросил
Изменено 2 месяца назад
Просмотрено 667 тысяч раз
Я пытаюсь создать код на Ubuntu 10.04 LTS, который использует OpenSSL 1.0.0. Когда я запускаю make, он вызывает g++ с параметром «-lssl». Источник включает в себя:
#include#include #include #include #include #include
Я запустил:
$ sudo apt-get install openssl Чтение списков пакетов... Готово Построение дерева зависимостей Чтение информации о состоянии... Готово openssl уже самая новая версия. 0 обновлено, 0 установлено заново, 0 удалено и 3 не обновлено.
Но я думаю, что пакет openssl не включает библиотеку. Я получаю эти ошибки при make:
foo.cpp:21:25: ошибка: openssl/bio.h: нет такого файла или каталога foo.cpp:22:28: ошибка: openssl/buffer.h: нет такого файла или каталога foo.cpp:23:25: ошибка: openssl/des.h: нет такого файла или каталога foo.cpp:24:25: ошибка: openssl/evp.h: нет такого файла или каталога foo.cpp:25:25: ошибка: openssl/pem.h: нет такого файла или каталога foo.cpp:26:25: ошибка: openssl/rsa.h: нет такого файла или каталога
Как установить библиотеку OpenSSL C++ в Ubuntu 10.04 LTS?
Я сделал man g++
и (в разделе «Параметры связывания») для параметра -l указано: «Компоновщик ищет стандартный список каталогов для библиотеки …» и «Искомые каталоги включают несколько стандартных системных каталогов …» Что такое эти стандартные системные каталоги?
- С++
- Ubuntu
- установка
- openssl
5
Вы хотите установить пакет разработки, то есть libssl-dev:
sudo apt-get установить libssl-dev
8
Выполнить:
apt-get установить libssl-dev
Как я мог догадаться об этом сам (кроме вопроса об этом вопрос здесь)? Могу ли я как-то сказать apt-get для вывода списка всех пакетов и grep для SSL? Или мне нужно знать Соглашение об именах «lib * -dev»?
Если вы связываетесь с -lfoo
, то библиотека, скорее всего, libfoo. so
. Сама библиотека, вероятно, является частью пакета
, а заголовки находятся в пакете libfoo-dev
, как вы обнаружили.
Некоторые люди используют «синаптическое» приложение с графическим интерфейсом ( sudo synaptic
) для (нахождения и) установки пакетов, но я предпочитаю использовать командную строку. Одна вещь, которая упрощает поиск нужного пакета из командной строки, — это тот факт, что apt-get
поддерживает завершение bash.
Попробуйте ввести sudo apt-get install libssl
, а затем перейдите на вкладку , чтобы увидеть список совпадающих имен пакетов (это может помочь, когда вам нужно выбрать правильную версию пакета, который имеет несколько версий или другие доступные варианты).
Завершение Bash на самом деле очень полезно… например, вы также можете получить список команд, которые поддерживает apt-get
, набрав sudo apt-get
, а затем нажав вкладку .
1
Все эти ответы очень устарели и относятся к тому времени, когда пакет еще разрабатывался. Теперь вы можете просто использовать «обычную» команду, указанную ниже:
sudo apt install openssl
Редактировать: вопрос OP плохо сформулирован … в конце концов, OpenSSL — это сама библиотека, поэтому я слишком быстро прочитал его вопрос, прежде чем ответить. Приведенная выше команда устанавливает «обычный» OpenSSL.
В конце своего вопроса он упоминает, что make
терпит неудачу, предполагая, что он компилирует пакет вручную. И да, даже если вы загрузите шар TAR, он будет включать в себя все openssl
и файлы libssl
, из которых вы затем можете сделать
.
OP действительно запрашивает OpenSSL Development Library , и в этом случае вы можете сначала установить OpenSSL с помощью приведенной выше команды, а затем запустить это:
sudo apt install libssl-dev
Дополнительная информация: https://linuxtect. com/how-to-install-openssl-libraries-on-ubuntu-debian-mint/
3
Я нашел подробное решение здесь: Установить OpenSSL вручную в Linux
Из сообщения в блоге…:
Шаги для загрузки, компиляции и установки следующие (ниже я устанавливаю версию 1.0.1g; замените «1.0.1g» номером вашей версии):
Шаг – 1: Загрузка OpenSSL:
Запустите команду, как показано ниже:
$ wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz
Кроме того, загрузите хэш MD5, чтобы проверить целостность загруженного файла только с целью разнообразия. В той же папке, куда вы скачали файл OpenSSL с сайта:
$ wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz.md5
$ md5sum openssl-1.0.1g.tar.gz
$ cat openssl-1.0. 1g.tar.gz.md5
Шаг – 2: Извлеките файлы из загруженного пакета:
$ tar -xvzf openssl-1. 0.1g.tar.gz
Теперь введите каталог, в который извлечен пакет, например, openssl-1.0.1g
$ cd openssl-1.0.1g
Шаг 3: Конфигурация OpenSSL
Запустите приведенную ниже команду с необязательным условием, чтобы установить префикс и каталог, в который вы хотите скопировать файлы и папку.
$ ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
Вы можете заменить «/usr/local/openssl» на путь к каталогу, в который вы хотите скопировать файлы и папки. Но убедитесь, что при выполнении этих шагов проверьте наличие сообщений об ошибках на терминале.
Шаг – 4: Компиляция OpenSSL
Чтобы скомпилировать openssl, вам нужно выполнить 2 команды: make, make install, как показано ниже:
$ сделать
Примечание: для проверки проверьте наличие сообщений об ошибках.
Шаг 5: Установка OpenSSL:
$ sudo сделать установить
или без судо,
$ сделать установить
Вот и все. OpenSSL успешно установлен. Вы можете запустить команду версии, чтобы увидеть, сработала она или нет, как показано ниже:
$ /usr/local/openssl/bin/версия openssl
OpenSSL 1.0.1g 7 апреля 2014 г.
1
Другой способ установить библиотеку openssl из исходного кода в Ubuntu, выполните следующие шаги, здесь WORKDIR
— ваш рабочий каталог:
sudo apt-get install pkg-config компакт-диск WORKDIR git-клон https://github.com/openssl/openssl.git cd openssl ./конфиг делать судо сделать установить # Откройте файл /etc/ld.so.conf, добавьте новую строку: "/usr/local/lib" в EOF судо ldconfig
0
Вам нужен пакет openssl-devel
.
По крайней мере, я думаю, что это -devel
в Ubuntu. Может быть -dev
. Это один из двух.
5
Зайдите на официальный сайт и скачайте исходный код нужной вам версии
Затем разархивируйте пакет обновления и выполните следующую команду
. /config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl -Wl,-rpath,/usr/local/ssl/lib общий доступ
Поскольку по умолчанию создаются только статические библиотеки, если вам нужны динамические библиотеки, добавьте параметр «общий»
-
make && make install
1
Как правило, если в Debian или Ubuntu отсутствует файл разработки (или любой другой файл в этом отношении), используйте apt-file
, чтобы выяснить, какой пакет предоставляет этот файл:
~ apt-file search openssl/bio.h android-libboringssl-dev: /usr/include/android/openssl/bio.h libssl-dev: /usr/include/openssl/bio.h libwolfssl-dev: /usr/include/cyassl/openssl/bio.h libwolfssl-dev: /usr/include/wolfssl/openssl/bio.h
Беглый взгляд на каждый из пакетов, возвращаемых командой, используя apt show
, скажет вам, какой из пакетов является тем, который вы ищете:
~ подходящее шоу libssl-dev Пакет: libssl-dev Версия: 1. 1.1d-2 Приоритет: необязательно Раздел: libdev Источник: openssl Сопровождающий: команда Debian OpenSSLУстановленный размер: 8 095 КБ Зависит: libssl1.1 (= 1.1.1d-2) Предлагает: libssl-doc Конфликты: libssl1.0-dev Домашняя страница: https://www.openssl.org/ Тег: devel::lang:c, devel::library, реализовано-в::TODO, реализовано-в::c, протокол::ssl, роль::devel-lib, безопасность::криптография Размер загрузки: 1797 КБ APT-источники: http://ftp.fr.debian.org/debian нестабильно/main Пакеты amd64 Описание: Инструментарий Secure Sockets Layer — файлы разработки Этот пакет является частью реализации проекта OpenSSL протокола SSL. и криптографические протоколы TLS для безопасной связи по Интернет. . Он содержит библиотеки для разработки, заголовочные файлы и справочные страницы для libssl. и либкрипто. N: Имеется 1 дополнительная запись. Пожалуйста, используйте переключатель '-a', чтобы увидеть его
sudo apt-get установить libcurl4-openssl-dev
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
ssl — Как установить OpenSSL в Windows 10?
спросил
Изменено Cегодня
Просмотрено 721 тысяч раз
У меня есть вопрос о том, как и какая версия OpenSSl должна быть установлена в Windows для последующего создания сертификатов. Установите одну версию (openssl-1.0.2d-fips-2.0.10), найденную в SourceForge, но она не генерирует файлы правильно. Так же есть официальный сайт https://www.openssl.org, но я не знаю как его установить и как, чтобы при генерации ключей и .pem файла работало. Создайте некоторые переменные среды, которые указывают на папку, в которую я распаковал загруженное, я не знаю, правильно ли это.
- ssl
- openssl
- windows-10
- ssl-сертификат
4
Я также хотел создать OPEN SSL для Windows 10. Простой способ сделать это без риска установки неизвестного программного обеспечения со сторонних веб-сайтов и риска проникновения вирусов — использовать openssl.exe
, который входит внутрь ваша установка Git для Windows. В моем случае я нашел открытый SSL в следующем месте установки Git для Windows.
C:\Program Files\Git\usr\bin\openssl.exe
Если вам также нужны инструкции по использованию OPENSSL для создания и использования сертификатов, вот запись в моем блоге. В пошаговых инструкциях сначала объясняется, как использовать инструмент Microsoft Windows по умолчанию, а также OPEN SSL, а также объясняется разница между ними.
https://kaushikhosh22.blogspot.com/2016/08/self-signed-certificates-with-microsoft.html
12
Если у вас установлен шоколад, вы можете установить openssl с помощью одной команды, например
choco install openssl
1
Если у вас установлен Git ,
, вы можете открыть Git Bash (нажата клавиша + правый клик в папке -> Git Bash Here ) и использовать команду openssl
прямо в Bash
0
У вас установлен Git?
Вы можете получить доступ к команде openssl
из Git Bash без добавления какой-либо переменной среды.
Но если вы хотите получить доступ к команде openssl
из командной строки Windows, следуйте за мной:
- Найдите путь к каталогу bin Git. Обычно это
C:\Program Files\Git\usr\bin\
Затем добавьте путь к вашей переменной среды (Переменные пользователя -> Путь):
- Теперь откройте новую командную строку (не используйте уже открытую команду cmd, потому что уже открытая команда cmd не знает новую переменную среды).
Теперь напишите:
опенсл
Либо установите openssl, присутствующий в Git, в качестве openssl по умолчанию, и включите его в свой путь в переменных среды (быстрый способ)
ИЛИ
- Установите специфичный для системы openssl из этого ссылка на сайт.
- установить следующую переменную: set OPENSSL_CONF=LOCATION_OF_SSL_INSTALL\bin\openssl.cfg
- Обновите путь: set Path=…Other Values здесь…;LOCATION_OF_SSL_INSTALL\bin
Некропостинг, но может быть полезен для других:
Всегда есть официальная страница ([OpenSSL. Wiki]: Binaries), которая содержит полезные URL s (указывая на неофициальные ресурсы/сборки, обязательно прочтите Важная оговорка )
Существуют и другие репозитории, содержащие неофициальные сборки
Другое 3 rd Стороннее программное обеспечение может включать OpenSSL , поэтому оно «устанавливается» как побочный эффект. Такое программное обеспечение (упомянутое другими ответами): Cygwin , Git
И, конечно, вы можете собрать его самостоятельно из исходников, но это требует более глубоких знаний
Примечание : при наличии функциональный Экземпляр OpenSSL (используя любой метод, описанный выше), вот как вы можете использовать его (если он вам нужен в ваших собственных проектах) из VStudio : [SO]: Как включить OpenSSL в Visual Studio (@ответ КристиФати) )
2
Недавно мне нужно было задокументировать, как установить его версию, поэтому я скопировал свои шаги здесь, поскольку в других ответах использовались источники, отличные от того, что я рекомендую, а именно Cygwin. Мне нравится Cygwin, потому что он хорошо поддерживается и предоставляет множество других утилит для Windows. Cygwin также позволяет легко обновлять версии по мере необходимости, когда уязвимости исправлены. Пожалуйста, чаще обновляйте свою версию OpenSSL!
Откройте командную строку Windows и проверьте, установлен ли у вас OpenSSL, введя: openssl version
Если вы получили сообщение об ошибке, что команда НЕ распознана, установите OpenSSL, обратившись к Cygwin, следуя сводным шагам. ниже:
По сути, загрузите и запустите приложение Cygwin для установки Windows, чтобы установить и при необходимости обновить приложение OpenSSL:
- Выберите каталог установки, например C:\cygwin64. Выберите зеркало загрузки, например: http://mirror.cs.vt.edu
- Введите openssl в поиск и выберите его. Вы также можете выбрать/отменить выбор других элементов, представляющих интерес в это время. Нажмите Далее дважды, затем нажмите Готово .
- После установки необходимо отредактировать переменную PATH. В Windows вы можете получить доступ к Центру управления системой, нажав Клавиша Windows + Пауза . В окне «Система» нажмите Дополнительные параметры системы → Дополнительные параметры (вкладка) → Переменные среды . Для Windows 10 быстрый доступ заключается в том, чтобы ввести «Редактировать системные переменные среды» в меню «Начать поиск» Windows и нажать кнопку « Переменные среды ». Измените переменную PATH (дважды щелкните ее или выберите «» и «Редактировать ») и добавьте путь, по которому находится ваш Cywgwin, например. C:\cygwin\bin.
- Убедитесь, что он установлен с помощью нового окна командной строки : openssl version . Например:
C:\Program Files\mosquitto>версия opensslOpenSSL 1.1.1f 31 марта 2020 г.
- Если нет, обратитесь к документации Cygwin, а также к другим руководствам, таким как: https://www. eclipse.org/4diac/documentation/html/installation/cygwin.html
Я установил openssl 3.0.0 с https://slproweb.com/products/Win32OpenSSL.html. затем я захожу в Windows Start ->openssl->Win64 OpenSSL Command Prompt, он открывает окно, как обычное окно dos, все, что мне нужно, это перейти в папку установки openssl.
Вот решение, которое может порадовать тех, кто реализовал WSL (подсистема Windows для Linux). Вы можете просто использовать:
wsl openssl ...whatever_args...
Дело в том, что многие, кто внедрил WSL, могут не осознавать, что они могут вызывать ЛЮБУЮ команду linux (внутри своего базового WSL linux vm) прямо из команды DOS или powershell -линия таким образом. (Легко подумать, что смысл WSL заключается в том, чтобы использовать его для «оболочки в виртуальную машину», что действительно является вариантом, но возможность просто запускать команды Linux из Windows — это реальная ценность WSL.)
И, чтобы было ясно, при выполнении команды, как указано выше, любые имена файлов или папок, на которые вы можете указать (или создать), будут относиться к Папка Windows , из которой вы запускаете команду. Так, например, openssl req
для создания самоподписанного сертификата, где вы можете назвать -keyout selfsigned.key -out selfsigned.crt
, эти два файла будут созданы в папке Windows , где вы запустили команда.
Тем не менее, есть способы, которыми это может упасть для некоторых примеров команд openssl, которые можно найти, например, если они попытаются использовать различные аргументы, специфичные для bash, и в этом случае «обстрел в wsl» для запуска команды вполне может быть лучший выбор. Вы по-прежнему можете направлять вещи, которые нужно найти или разместить на хосте, но я не имею в виду, что этот ответ слишком сфокусирован на таких аспектах WSL. Я просто хотел предложить это как еще одну альтернативу установке openssl.
4
Проверьте инструмент openssl, который представляет собой набор Openssl из проекта LibreSSL и библиотек Cygwin (2,5 МБ). Обратите внимание! Мы упаковщик.