Найти в Дзене

Установка OpenSSL в Windows 10

Оглавление

Описание моего опыта по установке под Windows 10 криптографической библиотеки OpenSSL ( https://www.openssl.org/ ).
OpenSSL мне был необходим, чтобы сгенерировать самоподписанный SSL сертификат.

Как пишет Википедия, OpenSSL — полноценная криптографическая библиотека с открытым исходным кодом, широко известна из-за расширения SSL/TLS, используемого в веб-протоколе HTTPS.

Понять, где скачать инсталлятор для Windows, было довольно непросто.
Алгоритм был такой: на
https://github.com/openssl/openssl в секции Download есть следующее упоминание: "We also maintain a list of third parties ... on the Binaries page on our wiki.".
Эти самые
Binaries - ссылка на страницу https://wiki.openssl.org/index.php/Binaries.
На этой странице есть таблица со ссылками на различные web-ресурсы, с которых можно скачать сборки под Windows.
Я остановился на сайте
https://slproweb.com/products/Win32OpenSSL.html и выбрал для установки Win64 OpenSSL v3.3.0 Light, скачав файл Win64OpenSSL_Light-3_3_0.exe.

Процесс установки OpenSSL

Запускаем с правами Администратора скачанный файл Win64OpenSSL_Light-3_3_0.exe.
Выбираем "I accept the agreement" и нажимаем Next.

Оставляем предложенный путь установки C:\Program Files\OpenSSl-Win64.
Нажимаем Next.

-2

Оставляем предложенное название ярлыка OpenSSL.
Нажимаем Next.

-3

Оставляем Copy OpenSSL DLLs to The Windows system directory.
Нажимаем Next.

-4

В открывшемся окне Ready to install нажимаем Install.

-5

Дожидаемся, пока закончится установка...

-6

В открывшемся окне "Completing the OpenSSL Light (64-bit) Setup Wizard" убираем все галочки...

-7

... и нажимаем Finish.

-8

Настройка OpenSSL в Windows

Как я говорил выше, OpenSSL мне был нужен всего лишь для того, чтобы создать самоподписанный SSL сертификат... Один-единственный сертификат...

Запускаю командную строку, ввожу команды - хрен там, выпадают ошибки:
error:02001003 и error:2006В080 с какими-то сообщениями, из которых понятно, что OpenSSL не видит свой собственный конфигурационный файл openssl.cnf...

-9

Выяснилось, что этот конфиг openssl.cnf находится в директории C:\Program Files\Common Files\SSL
Я пробовал добавлять эту директорию в переменную PATH (с перезагрузкой компьютера) - то же самое:
error:02001003 и error:2006В080

-10

Также я пробовал запустить OpenSSL сопцией указания пути к конфигурационному файлу -config "C:\Program Files\Common Files\SSL" - всё равно ошибки, только уже другие (Error configuring OpenSSL modules):
error:25078067, error:25070067, error:0E07506E и error:0E076071

-11

OpenSSL - ленивое решение

Можно, конечно, было заморочиться и разобраться, как прописать все эти пути (где-то что-то упоминалось, что надо бы ещё и системную переменную OPENSSL_CONF создать и туда что-то прописать), но мне стало лень и я пошёл другим путём.

Ниже расписано, что я в результате придумал (всё делается с правами Администратора).

Предварительная подготовка

Открываем директорию C:\Program Files\Common Files\SSL, правой кнопкой мыши кликаем на файл openssl.cnf и выбираем "Копировать".

-12

Открываем директорию C:\Program Files\OpenSSL-Win64\bin, правой кнопкой мыши кликаем на пустое место и выбираем "Вставить".

-13

Подтверждаем копирование файла openssl.cnf в директорию C:\Program Files\OpenSSL-Win64\bin - нажимаем "Продолжить".

-14

Убеждаемся, что файл openssl.cnf скопировался в директорию C:\Program Files\OpenSSL-Win64\bin.

-15

Как использовать

Теперь для корректной работы OpenSSL есть два варианта:
1) Можно запускать OpenSSL по абсолютному пути, каждый раз набирая в командной строке C:\Program Files\OpenSSL-Win64\bin\openssl.exe".
2) Можно в командной строке поменять путь по умолчанию, набрав команду cd "C:\Program Files\OpenSSL-Win64\bin" (не забываем наживать Enter):

-16

После выполнения этой команды видно, что путь поменялся с C:\Window\System32 на C:\Program Files\OpenSSL-Win64\bin:

-17

Теперь в этой открытой консоли можно выполнять команды OpenSSL просто набирая openssl.exe" и всё будет корректно работать.

-18

Скачать готовое рабочее решение OpenSSL для генерации самоподписанного SSL сертификата

Пройдя весь этот заковыристый путь (и зафиксировав его в этой статье), я просто скопировал в отдельную директорию содержимое C:\Program Files\OpenSSL-Win64\bin вместе со скопированным туда файлом openssl.cnf (без вложенных директорий) и оно из этой директории также работает.

Соответственно, если Вам всего лишь нужно сгенерировать самоподписанный SSL сертификат, то Вы можете просто СКАЧАТЬ рабочий архив с OpenSSl, распаковать его куда Вам удобно, в командной строке поменять путь по-умолчанию (как показано выше) и спокойно использовать OpenSSL для своих целей.