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

Сертификат с начала SSL не доверяет

На небольшом некоммерческом веб-сайте я использую бесплатный сертификат класса 1 от Запустить SSL. По сети не передаются конфиденциальные данные, но я чувствую, что хотел бы обеспечить хотя бы минимум конфиденциальности для всех, кто просматривает сайт. При посещении сайта в Firefox выдается предупреждение «Недоверенный сертификат». Вот пример использования wget:

$ wget https://example.com/images/dog.jpg
--2013-08-09 15:21:10--  https://example.com/images/dog.jpg
Resolving example.com (example.com)... 54.43.17.16
Connecting to example.com (example.com)|54.43.17.16|:443... connected.
ERROR: The certificate of `example.com' is not trusted.
ERROR: The certificate of `example.com' hasn't got a known issuer.

В Запись FAQ от StartSSL заявляет, что во избежание предупреждения необходимо установить промежуточный сертификат CA в браузер. Немного неразумно ожидать, что все посетители сайта сделают это!

Я не против установки сертификата от более крупной компании, но, исследуя ситуацию, обнаружил, что у крупных компаний такая же проблема. Еще один прекрасный вопрос ServerFault упоминает, что администратор сервера должен установить промежуточный сертификат, но я не уверен, что промежуточный сертификат существует для Start SSL. Прежде чем перейти в другую компанию, как мне узнать, есть ли у них все необходимые промежуточные сертификаты, которые нам понадобятся? Как показывают два предыдущих связанных вопроса, даже переход с Verisign или GoDaddy может не решить проблему.

Это обычный стек LAMP (Ubuntu Server 12.04, Apache 2.2), работающий на Amazon Web Services.

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

   SSLCertificateChainFile /usr/local/apache/conf/sub.class1.server.ca.pem

Ранее у меня были сертификаты от StartSSL, и вам нужно будет настроить Apache для обслуживания промежуточного сертификата для завершения цепочки.

Вам потребуется:

  • Загрузите сертификат из StartSSL и загрузите в свой экземпляр EC2.
  • Добавить SSLCertificateChainFile директива вашей конфигурации Apache VirtualHost
  • Перезагрузите Apache

Редактировать - ага, ниндзя. Хорошие ответы :)

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

Это может быть не так, и это не поможет людям, у которых еще нет корневого сертификата StartSSL, которому доверяют локально. Вы не можете помочь этим людям, хотя им придется установить его, чтобы избежать предупреждения.