Я использую следующий код для генерации ключей:
apt-get -qq -y install openssl;
mkdir -p /etc/apache2/ssl;
openssl genrsa -des3 -out server.key 1024;
openssl req -new -key server.key -out server.csr;
cp server.key server.key.org;
openssl rsa -in server.key.org -out server.key;
openssl x509 -req -days 12000 -in server.csr -signkey server.key -out server.crt;
mv server.crt /etc/apache2/ssl/cert.pem;
mv server.key /etc/apache2/ssl/cert.key;
rm -f server.key.orig;
rm -f server.csr
У меня есть два вопроса:
Как я могу пропустить запрос пароля? Будет ли это достаточно безопасно для меня? (поскольку в нем не должно быть совершенно глупо, как кто-либо должен иметь возможность взломать сертификат)
Как избежать запроса названия страны, организации и т. Д. Надеюсь, что смогу указать их в командной строке (на странице руководства показаны только параметры верхнего уровня для OpenSSL)
-x509
и,-days
чтобы сгенерировать CSR вместо сертификата, затем используйте свой обычный метод подписания CA.-passin
Вариант не делает трюк для вас?С
file:pathname
формой вы можете быть в полной безопасности с разрешениями 600 для этого файла.источник
-passin 'pass:YOUR_PASSWORD'
? - doc: openssl.org/docs/man1.0.2/apps/…Принятый ответ нуждается в нескольких небольших исправлениях. Линии ЕС:
должно быть:
На MacOS - OpenSSL 1.0.2f, установленной через brew, я проверил принятый ответ, как описано ниже
Чтобы получить список доступных эллиптических кривых:
Чтобы сгенерировать файл ключа:
Чтобы создать сертификат без запроса пароля:
Для просмотра сертификата:
источник
Попробуйте следующую команду:
Пропуская часть:
-passout pass:foo
.источник
У @bahamat отличный ответ. К сожалению, некоторые версии openssl выдают ошибку при попытке создать сертификат ECDSA с помощью одной команды. Ошибка выглядит примерно так:
Я использовал
openssl 1.0.1e-fips
наCentOS 7
.Создание вашего сертификата с помощью следующих 3 команд, кажется, работает:
источник
server.crt
?