Установил на свою «Винду 10» прогу OpenSSL. Но не получается её заюзать.
Ставил инсталлятором (дистрибутив скачал). Т. е. не сам собирал. При установке никаких вопросов/настроек не было.
Пытаюсь сделать TLS-сертификат командой:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout key.pem -out cert.pem
В ответ пишет: «openssl» не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
В чём дело может быть?
- Вопрос задан более трёх лет назад
- 4462 просмотра
Комментировать
Решения вопроса 1
Developer, ex-admin
Указать полный путь до установленной openssl или прописать этот путь в переменной окружения PATH.
Ответ написан более трёх лет назад
Нравится 2 9 комментариев
. Я думал это при инсталляции сделалось.
Эту же команду запускал в терминале, открытом самой OpenSSL (активировал файл opensslbinopenssl.exe).
В ответ:
Invalid command ‘openssl’; type «help» for a list.
How to Install OpenSSL on Windows
error in openssl
Так тоже не выйдет? По той же причине?
Vadim Rublev, так здесь он прямым текстом просит вас уточнить параметры запуска. openssl не знает, что ему делать, вы не указали никаких команд. Например, генерация ключа выполняется так:
openssl.exe req -new -newkey rsa:2048 -nodes -out www.mywebsite.com.csr -keyout www.mywebsite.com.key -subj «/C=FR/ST=Calvados/L=CAEN/O=My organization/CN=www.mywebsite.com»
> Указать полный путь до установленной openssl
Это просто до директории? Или как?
Пытаюсь запустить команду в директории проги — C:Program FilesOpenSSL. Та же ошибка.
Я думал это при инсталляции сделалось
Думать тут не чего. В винде (да и не только) исполняемые файлы ищутся по путям указанным в переменной PATH + текущий каталог.
Проверить очень просто: в консоли введите команду:
set PATH
Она выведет на экран содержимое переменной окружения PATH, просто визуально посмотрите есть ли в выводе каталог с openssl.
Но этого можно и не делать, по вашему вопросу и так понятно, что его там нет.
Vadim Rublev, Наверное как-то так:
«C:Program FilesOpenSSLbinopenssl.exe»
Но точного пути я не знаю. Посмотрите у себя, где лежит openssl.exe
Понял. Спасибо!
Команду неверную я из статьи взял.
Буду пробовать.
Может быть заодно подскажете как заюзать sslip.io / xip.io, чтобы без домена сертификат работал? 🙂
Впервые с этим сталкиваюсь.
Vadim Rublev, По этим сервисам ничего не скажу.
Но в сертификат вполне и IPшник можно вписать.
Если вы хотите создавать свою PKI и генерировать собственные сертификаты, то вам придется в каждом клиенте добавлять сертификат вашего ЦА в список доверенных корневых центров. Т.е. работать то оно будет, но кое-какие движения руками на клиентах произвести придется. Обычно в организациях, где развернута AD для внутреннего использования это не является проблемой. Но для внешнего использования неопределенным кругом лиц — уже сложнее и стоит подумать о другом решении.
[FIXED] Conda SSL Error: OpenSSL appears to be unavailable on this machine.
> Но для внешнего использования неопределенным кругом лиц — уже сложнее
Та это понятно.
> Обычно в организациях, где развернута AD для внутреннего использования
Не, у меня случай проще: делаю проект, локально всё, сам для себя — чтобы «по-настоящему» работало, а домена пока нет. Dev-режим, короче.
Спасибо! Почитаю (надеюсь разберусь).
Источник: qna.habr.com
Форум
Может кому-нибудь пригодится.
В конфиги apache (Apache-2.2_vhost.conf и Apache-2.4_vhost.conf) добавлено следующее:
SSLCertificateFile «%sprogdir%/certs/%host%.crt» SSLCertificateKeyFile «%sprogdir%/certs/%host%.key»
Вложение необходимо распаковать в корень OpenServer. Запустив certs/gen_certs.cmd, в каталоге certs сгенерируются сертификаты на все домены, созданные в каталоге domains и будут подписаны «родным» сертификатом OpenServer.
Вложения certs_gen.rar (6.37 КБ) 994 скачивания
Re: Генератор сертификатов для каждого домена
rem Для создания сертификата, подписанного доверенным сертификатом openssl x509 -sha256 -req -in %%G.csr -CA root/trusted.crt -CAkey root/trusted.key -out %%G.crt -days %days%
Re: Генератор сертификатов для каждого домена
rem Для создания сертификата, подписанного доверенным сертификатом
openssl x509 -sha256 -req -in %%G.csr -CA root/trusted.crt -CAkey root/trusted.key -out %%G.crt -days %days%
А это куда, и как?
Если только nginx, работать будет?
Re: Генератор сертификатов для каждого домена
nikita08
Нужно заменить в файле certs/gen_certs.cmd:
с
openssl x509 -req -in %%G.csr -CA root/trusted.crt -CAkey root/trusted.key -out %%G.crt -days %days%
openssl x509 -sha256 -req -in %%G.csr -CA root/trusted.crt -CAkey root/trusted.key -out %%G.crt -days %days%
Во вложении добавлены конфиги для nginx.
Вложения certs_gen2.rar (8.19 КБ) 703 скачивания
Re: Генератор сертификатов для каждого домена
Re: Генератор сертификатов для каждого домена
Почему так?
Re: Генератор сертификатов для каждого домена
Ink0gnit0, Почему https:// перечеркнуто?
Re: Генератор сертификатов для каждого домена
Непрочитанное сообщение Oops » 09 фев 2016, 13:40
nikita08 писал(а): Ink0gnit0, Почему https:// перечеркнуто?
Я не понимаю вас, вы работаете на локальном веб сервере, зачем вам доверенные сертификаты?
Re: Генератор сертификатов для каждого домена
Извиняюсь конечно, локально. Но доступ из вне есть. Т.е получается мне это не нужно.
А как же защищенные страницы, с https — ? Они нужны на странице оплаты в престе
Re: Генератор сертификатов для каждого домена
Сделал все по ману, больше сервер не запускается ) красненьким горит, что не так сделал? И как вернуть рабочий сервак
Вот лог main.log
2016-02-09 22:40:37 ——————————————— 2016-02-09 22:40:37 Начало процедуры запуска сервера 2016-02-09 22:40:37 Обновление Hosts файла 2016-02-09 22:40:37 Обновление конфигурации MySQL-5.5 2016-02-09 22:40:37 Обновление конфигурации Sendmail 2016-02-09 22:40:37 Обновление конфигурации PHP-5.6 2016-02-09 22:40:37 Обновление конфигурации PHPMyAdmin 2016-02-09 22:40:37 Обновление конфигурации MemcacheAdmin 2016-02-09 22:40:37 Обновление конфигурации Apache-2.4 2016-02-09 22:40:37 Запуск Memcached-1.4 2016-02-09 22:40:37 Запуск MySQL-5.5 2016-02-09 22:40:37 Запуск Apache-2.4 2016-02-09 22:40:37 Проверка состояния сервера 2016-02-09 22:41:10 Не удалось запустить Apache-2.4 2016-02-09 22:41:10 Сбой запуска! 2016-02-09 22:41:10 ——————————————— 2016-02-09 22:41:10 Начало процедуры остановки сервера 2016-02-09 22:41:10 Остановка системных модулей 2016-02-09 22:41:11 Отключение виртуального диска 2016-02-09 22:41:11 Сервер успешно остановлен за 0,64 секунд!
и MySQL-5.5_error.log
160209 22:40:37 [Note] Plugin ‘FEDERATED’ is disabled. 160209 22:40:37 InnoDB: The InnoDB memory heap is disabled 160209 22:40:37 InnoDB: Mutexes and rw_locks use Windows interlocked functions 160209 22:40:37 InnoDB: Compressed tables use zlib 1.2.3 160209 22:40:37 InnoDB: Initializing buffer pool, size = 20.0M 160209 22:40:37 InnoDB: Completed initialization of buffer pool 160209 22:40:37 InnoDB: highest supported file format is Barracuda.
160209 22:40:37 InnoDB: Waiting for the background threads to start 160209 22:40:38 InnoDB: 5.5.41 started; log sequence number 14257933 160209 22:40:38 [Note] Server hostname (bind-address): ‘127.0.0.1’; port: 3306 160209 22:40:38 [Note] — ‘127.0.0.1’ resolves to ‘127.0.0.1’; 160209 22:40:38 [Note] Server socket created on IP: ‘127.0.0.1’. 160209 22:40:38 [Note] Event Scheduler: Loaded 0 events 160209 22:40:38 [Note] d:servermodulesdatabaseMySQL-5.5binmysqld.exe: ready for connections. Version: ‘5.5.41-log’ socket: » port: 3306 MySQL Community Server (GPL) 160209 22:41:10 [Note] d:servermodulesdatabaseMySQL-5.5binmysqld.exe: Normal shutdown 160209 22:41:10 [Note] Event Scheduler: Purging the queue. 0 events 160209 22:41:10 InnoDB: Starting shutdown. 160209 22:41:11 InnoDB: Shutdown completed; log sequence number 14257933 160209 22:41:11 [Note] d:servermodulesdatabaseMySQL-5.5binmysqld.exe: Shutdown complete
Источник: ospanel.io
Openssl не является внутренней или внешней командой исполняемой программой или пакетным файлом
В этой статье я рассмотрю процесс настройки OpenVPN клиента (client) и сервера (server) на примере версии 2.4.7. используемая операционная система — Windows 10, но таким же образом можно настроить OpenVPN на Windows 7.
OpenVPN – механизм реализации виртуальных частных сетей (Virtual Private Network, VPN) с открытым исходным кодом. Используется для создания защищенных (шифрованных) каналов связи между сервером и клиентом, а так же между двумя точками.
OpenVPN позволяет создавать безопасные соединения между компьютерами, которые находятся за пределами фаервола, при этом не требуется изменять настройки фаервола.
Создателем системы является Джеймсом Йонаном (James Yonan).
Как работает OpenVPN
Что бы создать защищенный канал используется библиотека OpenSSL. Весь набор шифров доступный в библиотеке используется в системе.
Система предлагает пользователю несколько способов аутентификации:
- Аутентификация с помощью предустановленного ключа – наиболее простой метод.
- Серверная аутентификация – более сложный, но при этом более гибкий в настройках метод.
- При помощи ввода логина и пароля. Может использоваться без создания сертификата клиента, при этом сертификат сервера все равно необходим.
Давайте разберемся на примере. Я настрою OpenVPN на двух компьютерах под управлением Windows 10. Они будут находиться в одной локальной сети. Так как для настроек через интернет необходим хотя бы один статический IP-адрес.
На этом примере мы разберемся, как создавать ключи и сертификаты безопасности, а так же научимся настраивать конфигурационный файл VPN-сервера и VPN-клиента.
Установка и настройка OpenVPN
Один компьютер будет играть роль сервера. Второй – клиента. На сервере при установке OpenVPN нужно установить флажок EasyRSA – для генерации сертификатов и ключей.
Переходим на официальный сайт OpenVPN http://openvpn.net/community-downloads/ и скачиваем программу. В моем случае OpenVPN 2.4.7 для Windows 10 (openvpn-install-2.4.7-I607-Win10).
В теории можно скачать и более поздний релиз, но лучше скачивать проверенную версию. Так как я не настраивал последние версии. Если дойдут руки, то дополню статью.
После запуска программы установки включаем EasyRSA (на сервере) и устанавливаем. Программа устанавливается просто и не требует каких-либо специфических настроек при установке.
Затем устанавливаем программу втором компьютере который будет играть роль клиента.
Далее нужно настроить компьютеры, что бы они видели друг друга в сети. Этот процесс зависит от установленной у вас операционной системы. Фактически вам нужно включить сетевое обнаружение.
Создание сертификатов и генерация ключей
Ключи и сертификаты создаются на сервере OpenVPN. Для их создания необходимо выполнить следующие действия:
Запустите командную строку от имени администратора.
С помощью команды cd перейдите в папку C:Program FilesOpenVPNeasy-rsa и выполните команду init-config.bat, после чего в папке easy-rsa появиться файл vars.bat.
Откройте vars.bat с помощью блокнота или иного текстового редактора. Я открыл в Notepad++. Укажите свои данные.
Данные можно указывать в процессе работы с OpenVPN.
Вернитесь в командную строку и по очереди выполните команды vars и clean-all поочередно.
Выполните команду build-dh. Если у вас появиться ошибка «openssl» не является внутренней или внешней командой, исполняемой программой или пакетный файлом, то нужно добавить в переменные среды путь OpenVPNbin.
Для этого нужно в переменную среды Path создать путь C:Program FilesOpenVPNbin.
Затем заново откройте командную строку и выполните пункты 4-5 заново.
Подождите до завершения процесса. В результате в паке OpenVPNeasy-rsakeys появиться файл dh2048.pem.
Создайте новый сертификат Certificate Authority (CA) и ключ, для чего введите команду build-ca. После завершения процесса в папке keys появятся два файла ca.crt и ca.key.
Создайте сертификат и ключ сервера. Для этого введите команду build-key-server к которой нужно добавить [CommonName] (в моем случае abuzov-name), то есть моя команда будет build-key-server abuzov-name. В конце дайте положительный ответ (y) на два вопроса.
Создайте сертификат и ключ для клиента. Введите команду build-key [CommonNameClient], например build-key ClientVPN1.
Создайте ключ для аутентификации пакетов, для этого выполните команду openvpn —genkey —secret keys/ta.key. В результате в папке easy-rsakeys появится файл ta.key
ca.crt | Сервер + все клиенты | Корневой сертификат (Root CA certificate) | Нет |
ta.key | Сервер + все клиенты | Файл аутентификации пакетов | Да |
ca.key | Сервер | Корневой ключ (Root CA key) | Да |
dh2048.pem | Сервер | Файл параметров | Нет |
abuzov-name.csr | Сервер | Сертификат сервера | Нет |
abuzov-name.key | Сервер | Ключ сервера | Да |
ClientVPN1.csr | Только на ClientVPN1 | Сертификат клиента | Нет |
ClientVPN1.key | Только на ClientVPN1 | Ключ клиента | Да |
Теперь нужно скопировать соответствующие ключи на сервер и клиент в папку config (в моем случае это C:Program FilesOpenVPNconfig).
Создание и настройка файлов конфигурации OpenVPN
Конфигурация основывается на файлах типовой конфигурации, которые находятся в C:Program FilesOpenVPNsample-config.
Настройка конфигурации сервера
Копируете файл server.ovpn из папки sample-config в папку config. Открываете и редактируете его. Обратите внимание на двойные слеши.
- Найдите строку, которая начинается на ca и укажите путь к своему ca файлу. В моем случае это ca «C:\Program Files\OpenVPN\config\ca.crt».
- Найдите cert и отредактируйте соответственно, в моем случае это cert «C:\Program Files\OpenVPN\config\abuzov-name.crt».
- По аналогии с key — key «C:\Program Files\OpenVPN\config\abuzov-name.key».
- Аналогично с dh — dh «C:\Program Files\OpenVPN\config\dh2048.pem»
- Аналогично tls-auth — «C:\Program Files\OpenVPN\config\ta.key».
Я приведу полный код конфигурации сервера, на всякий случай, что бы его можно было просто скопировать. Так как знаю что такое первая настройка OpenVPN.
mode server port 1194 dev tap proto tcp-server tls-server tls-auth «C:\Program Files\OpenVPN\config\ta.key» 0 duplicate-cn auth MD5 tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 ca «C:\Program Files\OpenVPN\config\ca.crt» cert «C:\Program Files\OpenVPN\config\abuzov-name.crt» key «C:\Program Files\OpenVPN\config\abuzov-name.key» # This file should be kept secret dh «C:\Program Files\OpenVPN\config\dh2048.pem» server 10.10.10.0 255.255.255.0 client-to-client keepalive 10 120 comp-lzo persist-key persist-tun verb 3 route-delay 10 route-method exe route 10.10.10.0 255.255.255.0 route 192.168.0.0 255.255.0.0 route-gateway 10.10.10.1
Сохраните файл конфигурации сервера.
Запустите OpenVPN от имени администратора (и сразу сделайте так, что бы он всегда запускался от имени администратора).
После этого подключитесь к северу как показано на рисунке.
Настройка конфигурации клиента
Копируете файл client.ovpn из папки sample-config в папку config. Открываете и редактируете его аналогии. В моем случае это:
- ca «C:\Program Files\OpenVPN\config\ca.crt»
- cert «C:\Program Files\OpenVPN\config\ClientVPN1.crt»
- key «C:\Program Files\OpenVPN\config\ClientVPN1.key»
- remote IP_адрес_сервера
Опять, лучше приведу полный код.
remote IP-адрес-вашего-сервера client port 1194 dev tap proto tcp-client tls-client tls-auth «C:\Program Files\OpenVPN\config\ta.key» 1 remote-cert-tls server route-delay 2 auth MD5 tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 ca ca.crt cert ClientVPN.crt key ClientVPN.key pull cipher AES-128-CBC comp-lzo persist-key persist-tun verb 3 route-method exe route-delay 3
Единственное что нужно сделать — указать IP-адрес сервера.
Далее подключаем клиент OpenVPN.
Если клиент не подключается к серверу, тогда нужно на сервере необходимо запустить regedit.exe, затем перейти по адресу: «КомпьютерHKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters» и изменить IPEnableRouter на 1. После чего перезагрузить сервер и подключиться к OpenVPN заново.
После этого можно подключаться по защищенному соединению.
Анатолий Бузов / об авторе
Обучаю HTML, CSS, PHP. Создаю и продвигаю сайты, скрипты и программы. Занимаюсь информационной безопасностью. Рассмотрю различные виды сотрудничества.
Источник: abuzov.com