Що таке файли .crt та .key та як їх генерувати?


60

У мене така конфігурація:

SSLEngine on
SSLCertificateFile /etc/httpd/conf/login.domain.com.crt
SSLCertificateKeyFile /etc/httpd/conf/login.domain.com.key
SSLCipherSuite ALL:-ADH:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP

але я не знаю, як генерувати .crtта .keyфайли.

Відповіді:


65

Файли crt і key представляють обидві частини сертифіката, ключ - приватний ключ сертифіката, а crt - підписаний сертифікат.

Це лише один із способів генерування certs, інший спосіб - це наявність обох файлів pem чи іншого в контейнері p12.

У вас є кілька способів генерування цих файлів, якщо ви хочете самостійно підписати сертифікат, ви можете просто видати ці команди

openssl genrsa 2048 > host.key
chmod 400 host.key
openssl req -new -x509 -nodes -sha256 -days 365 -key host.key -out host.cert

Зауважте, що при самостійному підписанні сертифікатів ваш веб-переглядач попередить вас, що сертифікат не "довіряється", оскільки його не підписав орган з сертифікації, який знаходиться у списку довіри вашого браузера.

З цього моменту ви можете або створити власну ланцюжок довіри, зробивши свій КА, або придбати сертифікат у такої компанії, як Verisign або Thawte.


після запуску "openssl genrsa 1024> host.key" я отримав це в терміналі: "e 65537 (0x10001)" це помилка?
Мохаммед Алі Акбарі

1
Так, це означає, що openssl не може записати випадкове насіння до файлу за замовчуванням, який він використовує, який визначено openssl.cnf, за замовчуванням у CentOS / RHEL цей файл знаходиться в /etc/pki/tls/openssl.cnf. Спробуйте виконати ті самі команди, що і root у цьому випадку, і подивіться, як це відбувається.
рись

Я пробую це як root, але я знову "e is 65537 (0x10001)"
Mohammad Ali Akbari

1
У вас активований SELinux на вашій машині? Перевірте / var / log / messages, щоб побачити, чому openssl не може написати файл
lynxman

4
letsencrypt.org - безкоштовний постачальник ssl. Погляньте на це замість того, щоб платити багато компаній цим компаніям.
Каан

6

Це публічна (.crt) та приватна (.key) частини сертифіката SSL. Дивіться це питання, щоб отримати безліч відповідної інформації, наприклад, якщо ви хочете створити сертифікат самостійно, або придбати його.


Основне питання, але - я припускаю, що мені потрібно скопіювати .key файл у свою ~/.sshпапку, коли я завантажую файл CSR до свого постачальника ssl?
Касим

1
@Qasim SSL-файли не мають нічого спільного з SSH (до якої належить .ssh-папка).
mad_vs
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.