Недавно наша команда по инфраструктуре сказала нашей команде разработчиков, что вам не нужен сертификат для https. Они упомянули, что единственное преимущество покупки сертификата - дать потребителю уверенность в том, что он подключается к правильному веб-сайту.
Это противоречит всему, что я думал о https.
Я читаю википедия и в нем упоминается, что вам нужен либо доверенный сертификат, либо самоподписанный сертификат для настройки https.
Можно ли настроить IIS для ответа на https без любой сертификат?
Нет. У вас должен быть сертификат. Он может быть самоподписанным, но для обмена симметричным ключом сеанса между сервером и клиентом для шифрования данных должна быть пара открытого и закрытого ключей.
Короче говоря, нет, но могут быть тонкие случаи в зависимости от того, как вы хотите развернуть систему.
HTTPS - это HTTP через SSL / TLS, и вы можете использовать SSL / TLS. без сертификата или с сертификатами других типов, кроме X.509.
Строго говоря, Спецификация HTTP через TLS говорит следующее:
Обычно запросы HTTP / TLS генерируются путем разыменования URI. Как следствие, имя хоста для сервера известно клиенту. Если имя хоста доступно, клиент ДОЛЖЕН проверить его на соответствие идентификатору сервера, представленному в сообщении сертификата сервера, чтобы предотвратить атаки типа «злоумышленник в середине».
Если у клиента есть внешняя информация относительно ожидаемого идентификатора сервера, проверка имени хоста МОЖЕТ быть опущена. (Например, клиент может подключаться к машине, адрес и имя хоста которой являются динамическими, но клиент знает сертификат, который будет представлять сервер.) В таких случаях важно максимально сузить область допустимых сертификатов в чтобы предотвратить атаки человека посередине. В особых случаях для клиента может быть уместным просто игнорировать идентичность сервера, но следует понимать, что это оставляет соединение открытым для активной атаки.
Короче говоря, он явно предназначен для использования с сертификатом X.509 (он явно ссылается на RFC 2459, позже замененный RFC 3280 и 5280: PKI с сертификатами X.509).
При использовании наборов шифров Kerberos может возникнуть крайний случай. Может иметь смысл рассматривать служебный билет Kerberos сервера, который может иметь ту же цель, что и сертификат X.509 в обычном HTTPS, для проверки личности удаленной стороны. Это не совсем соответствует правилам RFC 2818 (хотя может подпадать под "Если у клиента есть внешняя информация относительно ожидаемого идентификатора сервера, проверка имени хоста МОЖЕТ быть опущена."), но это не было бы полным абсурдом. При этом я не думаю, что обычные браузеры поддерживают наборы шифров TLS Kerberos в целом (некоторые из них могут поддерживать Kerberos через аутентификацию SPNEGO, но это не связано). Кроме того, это будет также работать только в среде, где подходит использование Kerberos.
"[Дает] потребителю уверенность в том, что он подключается к правильному веб-сайту."на самом деле является одним из ключевых требований для защиты связи между ними и вашим сервером. Используйте сертификат, который они могут проверить, с соответствующими соглашениями об именах (RFC 2818 или недавно RFC 6125).
Вы НЕ МОЖЕТЕ использовать https без сертификата. Вам нужно либо купить доверенный сертификат, либо создать самозаверяющий для тестирования. Часть настройки вашего веб-сервера для использования https заключается в том, чтобы указать ему на правильные ключевые файлы. Конечно, это относится ко всем веб-серверам, а не только к iis.