Как сказал RandomBen, самозаверяющие сертификаты, как правило, осуждаются по причинам, которые он объяснил. Но есть одна ситуация, в которой они хороши: если набор людей, которым необходимо представить конфиденциальные данные на ваш сайт, невелик и ограничен, они все в некоторой степени технически компетентны, и вы можете общаться со всеми из них. В этом случае вы можете предоставить каждому человеку данные сертификата, а затем они могут вручную проверить сертификат при переходе на ваш сайт и при необходимости добавить исключение безопасности.
В качестве крайнего примера, на моем личном VPS у меня есть административный поддомен, который должен быть доступен только мне. Не будет проблем с защитой этого домена с помощью самоподписанного сертификата, потому что я могу вручную проверить, что сертификат сервера, используемый для защиты соединения, является тем же сертификатом, который я установил на сервере.
В тех случаях, когда самоподписанный сертификат не работает или вы предпочитаете «настоящий», я рекомендую Let's Encrypt , проект, начатый исследовательской группой по безопасности в Интернете и поддерживаемый крупными интернет-компаниями, который предлагает SSL-сертификаты на бесплатно. Они могут сделать это, потому что процесс проверки, который они используют, полностью автоматизирован, и на самом деле веб-сервер, который поддерживает их протокол ACME (например, Caddy , который я сейчас использую), может получить сертификаты полностью самостоятельно. Let's Encrypt не проверяет, что выкак личность - это то, кем вы говорите; он только подтверждает, что ваш веб-сервер способен обслуживать контент в домене, на который он претендует. Let's Encrypt поддерживается всеми основными браузерами, но общеизвестно, что проверка минимальна, поэтому, если вы используете что-то вроде сайта электронной коммерции или чего-то, где люди будут предоставлять конфиденциальную информацию, вам, вероятно, стоит потратить деньги, чтобы получить сертификат с более высоким уровнем проверки.
Раньше я рекомендовал бесплатные сертификаты StartSSL от StartCom для людей, которые не хотят платить за проверку, но больше не хотят. StartCom был тайно приобретен WoSign в 2016 году и впоследствии выдал незаконные сертификаты для нескольких доменов. В результате основные браузеры прекратили поддержку сертификатов StartCom. (Насколько я знаю, IE все равно их никогда не поддерживал.) В любом случае, Let's Encrypt гораздо удобнее.
Это не плохая практика использования самоподписанными сертификатов. Самозаверяющие сертификаты имеют много практических целей, для которых просто не имеет смысла использовать подписанный СА сертификат.
Например, на многих моих серверах у меня настроен вход без пароля. Это те серверы, к которым я подключаюсь так часто, и иногда держу открытыми несколько SSH-соединений, так что каждый раз вводить мое имя пользователя и пароль не составляет труда.
Вместо этого я использую самозаверяющий сертификат SSL, который я генерирую на каждом из моих клиентских компьютеров (рабочая станция в офисе, ноутбук и домашняя рабочая станция). Такая настройка позволяет мне использовать довольно длинные, безопасные и совершенно уникальные парольные фразы для каждого из моих серверов без ущерба для производительности. И поскольку у меня есть прямой доступ к серверам, на которых я могу установить открытый ключ для каждого сертификата, мне нет смысла использовать сертификат, подписанный СА.
Я мог бы создать свой собственный корневой CA, с помощью которого я мог бы подписать все сертификаты внутреннего использования для нашей компании, и таким образом мне нужно было бы установить только один открытый ключ на каждом сервере. Однако наша организация не выросла до размера, который действительно требует этого, и для целей безопасного HTTP это все равно, что иметь самозаверяющий сертификат.
Аналогично, самозаверяющие сертификаты часто используются для соединений электронной почты, подписи PGP и межсерверных соединений, когда предварительный обмен открытыми ключами является тривиальным. Во многих из этих случаев это на самом деле более безопасно, чем полагаться на цепочку сертификатов, которая может быть скомпрометирована в любой точке цепочки.
источник
Если вы защищаете несколько поддоменов, вы можете использовать подстановочные сертификаты , которые (в зависимости от того, сколько поддоменов вы защищаете) могут работать значительно дешевле, чем покупка одного на домен; например, RapidSSL имеет подстановочный знак, который становится дешевле, чем отдельные сертификаты, если у вас есть четыре используемых домена.
источник