Я встановив SSL на своєму веб-сервері, тепер мені потрібні два файли:
- сертифікат
- ключ сертифіката
Як створити сертифікат з власним підписом для тестування?
Я встановив SSL на своєму веб-сервері, тепер мені потрібні два файли:
Як створити сертифікат з власним підписом для тестування?
Відповіді:
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
.
/usr/share/ssl-cert/ssleay.cnf
.
www.test.mydomain.com
) за допомогою hostname
команди в VM CLI. Потім регенеруйте ключ, як ви пропонуєте, за --force-overwrite
допомогою загального імені ключа (CN), а потім співпадає з тестовою URL-адресою. Нарешті, на хост-машині встановлення ключа як довіреного кореневого сертифікаційного органу (у налаштуваннях Chrome / Advanced) дало мені бажаний зелений адресний рядок.
make-ssl-cert
команда врятувала мені день!
Як вже було сказано, Ubuntu Server поставляється з необхідними інструментами. Залежно від версії вашого сервера, вам доведеться шукати конкретну документацію . Я спробую підсумувати процес самостійного підписання сертифіката для поточного LTS (12.04) .
Спочатку ви генеруєте ключі для запиту на підпис сертифіката (CSR):
openssl genrsa -des3 -out server.key 2048
Вам належить ввести парольну фразу чи ні. Якщо ви це робите, щоразу, коли ви (повторно) запускаєте службу, призначивши цей сертифікат, вам доведеться надати парольну фразу. Отож, ви можете створити "незахищений" ключ без парольної фрази із захищеного:
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
А тепер ви створите КСВ з ключа. За допомогою КСВ та ключа можна створити самопідписаний сертифікат:
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
І нарешті, програми, що використовують сертифікат / ключ, повинні бути налаштовані відповідно.