Как создать самоподписанный сертификат SSL?

57

Я установил SSL на свой веб-сервер, теперь мне нужны два файла:

  • сертификат
  • ключ сертификата

Как создать самозаверяющий сертификат для тестирования?

    
задан Stefano Palazzo 17.06.2011 в 08:35
источник

2 ответа

83

Ubuntu, даже «минимальный» вкус, поставляется с предварительно установленным пакетом ssl-cert , что означает, что вам не нужно ничего делать.

Файлы, которые вы ищете, уже находятся в вашей системе:

/etc/ssl/certs/ssl-cert-snakeoil.pem
/etc/ssl/private/ssl-cert-snakeoil.key


Дополнительно:

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

sudo make-ssl-cert generate-default-snakeoil --force-overwrite 

Если вы хотите изменить дату истечения срока действия вашего сертификата, вы можете манипулировать скриптом make-ssl-cert в /usr/sbin/make-ssl-cert . Примерно такой же, как 124, есть строка, подобная этой:

openssl req -config $TMPFILE -new -x509 -nodes \ 

Если вы можете изменить дату истечения срока действия, добавив аргумент -days :

openssl req -config $TMPFILE -new -days 365 -x509 -nodes \ 

Дополнительные параметры можно найти в странице руководства req .     

ответ дан Stefano Palazzo 17.06.2011 в 08:36
источник
22

Как уже упоминалось, сервер Ubuntu поставляется с необходимыми инструментами. В зависимости от вашей серверной версии вам придется искать конкретную документацию . Я попытаюсь обобщить процесс создания самозаверяющего сертификата текущий LTS (12.04) .

Сначала вы создаете ключи для запроса подписи сертификата (CSR):

openssl genrsa -des3 -out server.key 2048

Вам решать ввести кодовую фразу или нет. Если вы это сделаете, каждый раз, когда вы (повторно) запускаете службу, используйте этот сертификат, вам придется предоставить кодовую фразу. Otoh вы можете создать «небезопасный» ключ без парольной фразы из безопасного:

openssl rsa -in server.key -out server.key.insecure
# shuffle the key names to continue without passphrases
mv server.key server.key.secure
mv server.key.insecure server.key

И теперь вы создадите CSR из ключа. С помощью CSR и ключа может быть сгенерирован самозаверяющий сертификат:

openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Последний шаг состоит в установке сертификата и ключа в Debian / Ubuntu, обычно в /etc/ssl :

sudo cp server.crt /etc/ssl/certs
sudo cp server.key /etc/ssl/private

И, наконец, приложения, использующие сертификат / ключ, должны быть соответствующим образом настроены.

    
ответ дан nietonfir 27.05.2013 в 16:01