Назад | Перейти на главную страницу

Проблема с установкой SSL-сертификата на сервере ubuntu

Мне дали задание обновить сертификат для одного из наших клиентов на его сервере. Проблема в том, что я не только никогда не делал этого раньше, но и процесс, задействованный на всех сайтах, которые я читал, кажется, не работает для меня.

Во-первых, я никогда не поставлял своему клиенту ключевой файл до того, как он получил новый сертификат, у меня сложилось впечатление, что он нужен им для его генерации.

Во-вторых, единственный другой файл сертификата на сервере - это общий файл от Verisign, а не для домена, как новый, который я отправил.

Наконец, тот, который мне прислали, - это файл .cer, который, по-видимому, ничем не хуже файла .crt, но вызывает у меня большее подозрение, что это неправильный сертификат.

Мой ssl.conf, который ссылается на сертификаты, выглядит так;

SSLCertificateFile /etc/httpd/ssl/ssl.cert.pem
SSLCertificateKeyFile /etc/httpd/ssl/ssl.key
SSLCACertificateFile /etc/httpd/ssl/ca.crt <<< This is the verisign one

Итак, в основном, у меня есть файл .cer, conf и сервер, и мне все это не кажется правильным. Мне очень нужна помощь.

Спасибо,

Христианин

Вам предстоит многому научиться. SSL - хитрый вредитель. Первый вопрос: является ли установленный в настоящий момент сертификатом действительным (выданным «настоящим» центром сертификации и т. Д.) Для домена, который они размещают (по модулю дат истечения срока действия)? Если да, то все немного проще.

О, кстати, тот, кто это установил ранее, явно был немного помешан на RHEL, потому что /etc/httpd не там, где Ubuntu хранит свои вещи. Это может вас укусить.

Для начала сертификат «Verisign» в /etc/httpd/ssl/ca.crt не сертификат конечного пользователя, это сертификат центра сертификации, выдавшего предыдущий сертификат. Это может потребоваться изменить, если вы получаете новый сертификат от другого ЦС.

Похоже, что если это обновление (а предыдущий сертификат действителен), новый сертификат мог быть сгенерирован из существующего ключа. Это нормально - в конце концов, ключ является частным, и его не нужно менять каждый год. Чтобы проверить, совпадают ли они, запустите:

openssl rsa -noout -in /etc/httpd/ssl/ssl.key -text
openssl x509 -noout -in /new_cert_file.cer -text

И проверьте вывод данных модуля каждой из этих команд. Если они одинаковы, то новый сертификат был сгенерирован из старого ключа, и, вероятно, все будет в порядке. Если они разные, вам нужно получить ключ, из которого был сгенерирован сертификат, и использовать его. Если openssl жалуется на то, что файл сертификата находится в недопустимом формате, значит, вы правильно поняли, что файл не годится, и его необходимо преобразовать или переиздать. (В этом случае вставьте файл сертификата, и кто-нибудь может распознать формат и рассказать вам, как его преобразовать).

Чтобы установить новый сертификат (и, возможно, ключ), переименуйте существующие файлы, а затем скопируйте новые файлы на место. Перезапустите Apache (безопаснее всего будет полный перезапуск, но если вы изменили только сертификат, перезагрузите должен Покажи фокус). Убедитесь, что Apache восстановился, и доступ к сайту с HTTPS должен сообщать о новой дате истечения срока действия сертификата. Если есть проблемы, лучше всего переместить старые файлы на место (именно поэтому мы переместили их в первую очередь), а затем изучить ошибки в журналах, чтобы увидеть, что пошло не так и как это исправить.