Вопрос: Возможно ли генерировать ключ RSA без фразы?


Я работаю с Apache2 и Passenger для проекта Rails. Я хотел бы создать самозаверяющий Сертификат SSL для целей тестирования.

sudo openssl rsa -des3 -in server.key -out server.key.new

Когда я вхожу в указанную выше команду, она говорит:

writing RSA key
Enter PEM pass phrase:

Если я не вхожу в pass phrse, im получаю следующую ошибку

unable to write key
3079317228:error:28069065:lib(40):UI_set_result:result too small:ui_lib.c:869:Yo
u must type in 4 to 1024 characters
3079317228:error:0906406D:PEM routines:PEM_def_callback:problems getting passwor
d:pem_lib.c:111:
3079317228:error:0906906F:PEM routines:PEM_ASN1_write_bio:read key:pem_lib.c:382

Возможно ли генерировать ключ RSA без pass phrase, так как я не уверен, как /etc/init.d/httpd скрипт запустит HTTP-сервер без вмешательства человека (т. е. если я дам фразу с 4 символами, он ожидает, что я предоставил это при запуске HTTP-сервера Apache).


63
2018-03-05 06:28


Источник


В командной строке openssl для шифрования существующего ключа. Это звучит как нечто иное, чем то, что вы хотите. - David Schwartz
Apache httpd Можно быть сконфигурирован для получения секретной фразы (-ов) секретного ключа невзаимодействующей; см. документ для mod_ssl или во многих случаях комментарии в предоставленном / упакованном файле конфигурации. Тем не менее, это обычно не более безопасно, чем просто оставить секретный ключ незашифрованным, что проще. - dave_thompson_085


Ответы:


Если вы создаете самоподписанный сертификат, вы можете сделать как ключ, так и сертификат в одной команде следующим образом:

openssl req  -nodes -new -x509  -keyout server.key -out server.cert

О, и что @MadHatter сказал в его ответ об исключении -des3 флаг.


71
2018-03-05 06:55



Директива узлов - вот почему я здесь. (Нет шифрования секретного ключа DES) - jorfus


Оставьте -des3 флаг, который является инструкцией openssl для шифрования server.key.new (что, кстати, не является новым ключом вообще - это точно так же, как server.key, только с измененной / отключенной парольной фразой).


32
2018-03-05 06:49





openssl req команды из ответ от @Tom H правильно создать самозаверяющий сертификат в server.cert включительно секретный ключ RSA без пароля server.key:

openssl req -nodes -new -x509 -keyout server.key -out server.cert

Вот как это работает. Опуская -des3 как в ответ от @MadHatter в этом случае недостаточно для создания закрытого ключа без кодовой фразы. Это является достаточно для этой цели в openssl rsa («преобразовать закрытый ключ»), на которую ссылается @MadHatter, и openssl genrsa («создать закрытый ключ»). Просто не для openssl req команда здесь. Нам также необходимо -nodes («Нет шифрования DES server.key пожалуйста!").


18
2018-02-09 00:25





Просто запустите его снова через openssl

сначала сгенерировать ключ с помощью парольной фразы

тогда openssl rsa -in server.key -out server.key


7
2018-01-26 15:37



Это не работает на ubuntu 16.04 - sweetfa
Я проигнорировал, потому что этот ответ не был спрошен, также команда требует ввода и не генерирует ключ. - Don
Пользователь уже продемонстрировал, что знает, как сгенерировать ключ. Этот ответ основывается на этом знании, и я предлагаю взять вновь сгенерированный ключ и передать его снова через openssl   Следовательно, достижение цели в том, что было задано: генерировать ключ без пропущенной фразы. - darethas
Работает на меня, openssl на Windows 10 от GitBash. Спасибо за информацию. - Green


Использовать -nodes параметр, если указан этот параметр, закрытый ключ не будет зашифрован, например:

openssl \
    req \
    -nodes \
    -newkey rsa:2048 \
    -keyout www.example.com.key \
    -out www.example.com.csr \
    -subj "/C=DE/ST=NRW/L=Berlin/O=My Inc/OU=DevOps/CN=www.example.com/emailAddress=dev@www.example.com"

6
2018-05-12 14:42





Используйте следующую команду для создания файла закрытого ключа без пароля с помощью НЕТ шифрования, Последний параметр - это размер закрытого ключа.

openssl genrsa -out my-passless-private.key 4096

0
2018-04-25 11:17



Это НЕ без пароля. Это полностью и полностью пароли. - dave_thompson_085
Я экспериментировал с положением параметров. Теперь все в порядке. Я изменил места последних двух параметров и протестировал команду. - nix
Теперь он создает незашифрованном файл. Параметры после (только) позиционного аргумента игнорируются. Посмотрите на файл; он не зашифрован. замещать 4096 -des3 с 4096 -sillywombat и он по-прежнему работает и создает тот же формат, все еще незашифрованный (но, разумеется, другое ключевое значение). Нет никакого способа получить зашифрованный файл секретных ключей без пароля, и исправленные решения для незашифрованного файла без пароля были предоставлены шесть лет назад. - dave_thompson_085
Ты прав. @ Dave_thompson_085. Последний параметр не влияет на команду. Я обновил свой ответ. Он не генерирует незашифрованный файл с секретным ключом, закодированным в base64, а не с паролем. - nix