SSL проверяет действительность хоста, проверяя сертификат хоста.
Каждый сертификат является либо:
- Самоподписной
- Подписано другим сертификатом.
Если он подписан другим сертификатом, он проверяет сертификат, который его подписал.
Теперь, в какой-то момент, чтобы проверить, является ли сертификат действительным или нет, он должен сопоставить этот сертификат с хранилищем «действительных» сертификатов, которые он имеет в системе (например, Firefox поддерживает свое собственное хранилище, Windows имеет его собственный магазин и т. д.). Если он сопоставляет некоторый сертификат в иерархии с хранилищем, то он обрабатывает этот сертификат как действительный, и, следовательно, все сертификаты, подписанные им, являются действительными.
Однако , если сертификат самоподписан и отсутствует в хранилище, он отклонит его или предупредит, что не может проверить сертификат.
Если сертификат предназначен для тестирования приложения или для очень ограниченного развертывания, где вы можете попросить людей добавить ваш сертификат в свой магазин, это нормально. Однако если вы планируете переместить свое приложение на рабочий сайт по адресу somedomain.com, вам, вероятно, потребуется купить сертификат для этого домена.
Примечание: в любом случае самозаверяющий сертификат, который у вас есть для localhost, действителен только для 'localhost', даже если он доступен в интрасети по IP