Обязательно ли иметь сертификат при настройке веб-сайта https в IIS. а также, если я размещаю сайт, для которого я уже получил сертификаты, при включении сертификата я должен знать источник, выдавший сертификат? а также, если я настрою его как http-сайт, будут ли функции работать как раньше? пожалуйста, помогите, так как я новичок в IIS
Сертификат сервера, которому доверяет клиент, является обязательным для настройки сеанса SSL. Клиент может генерировать сертификат на лету, но сервер должен иметь сертификат с цепь доверия который заканчивается корневой сертификат которому доверяет клиент.
Простое рукопожатие TLS (источник)
Далее следует простой пример соединения, иллюстрирующий рукопожатие, при котором сервер (но не клиент) аутентифицируется своим сертификатом:
- Фаза переговоров:
- Клиент отправляет сообщение ClientHello, в котором указывается наивысшая версия протокола TLS, которую он поддерживает, случайное число, список предлагаемых CipherSuites и предлагаемые методы сжатия. Если клиент пытается выполнить возобновленное рукопожатие, он может отправить идентификатор сеанса.
- Сервер отвечает сообщением ServerHello, содержащим выбранную версию протокола, случайное число, CipherSuite и метод сжатия из вариантов, предлагаемых клиентом. Чтобы подтвердить или разрешить возобновление рукопожатий, сервер может отправить идентификатор сеанса. Выбранная версия протокола должна быть самой высокой, поддерживаемой как клиентом, так и сервером. Например, если клиент поддерживает TLS1.1, а сервер поддерживает TLS1.2, следует выбрать TLS1.1; SSL 3.0 не следует выбирать.
- Сервер отправляет свое сообщение сертификата (в зависимости от выбранного набора шифров сервер может не указывать его).
- Сервер отправляет сообщение ServerHelloDone, указывающее, что это выполнено с помощью согласования рукопожатия.
- Клиент отвечает сообщением ClientKeyExchange, которое может содержать PreMasterSecret, открытый ключ или ничего. (Опять же, это зависит от выбранного шифра.)
- Затем клиент и сервер используют случайные числа и PreMasterSecret для вычисления общего секрета, называемого «главным секретом». Все остальные ключевые данные для этого соединения извлекаются из этого главного секрета (и случайных значений, генерируемых клиентом и сервером), которые передаются через тщательно разработанную «псевдослучайную функцию».
- Теперь клиент отправляет запись ChangeCipherSpec, по существу говоря серверу: «Все, что я скажу вам с этого момента, будет аутентифицировано (и зашифровано, если параметры шифрования присутствовали в сертификате сервера)». ChangeCipherSpec сам по себе является протоколом уровня записи с типом содержимого 20.
- Наконец, клиент отправляет аутентифицированное и зашифрованное сообщение Finished, содержащее хэш и MAC, поверх предыдущих сообщений подтверждения.
- Сервер попытается расшифровать сообщение Finished клиента и проверить хэш и MAC. Если расшифровка или проверка завершились неудачно, рукопожатие считается неудачным, и соединение должно быть разорвано.
- Наконец, сервер отправляет ChangeCipherSpec, говоря клиенту: «Все, что я скажу вам с этого момента, будет аутентифицировано (и зашифровано, если шифрование было согласовано)».
- Сервер отправляет свое аутентифицированное и зашифрованное сообщение Finished.
- Клиент выполняет такую же расшифровку и проверку.
- Фаза приложения: на этом этапе «рукопожатие» завершено, протокол приложения включен с типом контента 23. Сообщения приложений, которыми обмениваются клиент и сервер, также будут аутентифицированы и, возможно, зашифрованы точно так же, как в их сообщении Finished. В противном случае тип контента вернет 25, и клиент не будет аутентифицироваться.
Если вы выключите SSL (https), тогда связь между клиентом и сервером не будет зашифрована, но ваш сайт должен работают нормально.
Я говорю должен потому что могут быть жестко запрограммированные абсолютные URL-адреса https, которые внезапно сломаются. Кроме того, если сертификат клиента используется для целей аутентификации, вы не сможете войти на сайт - это маловероятно, потому что большинство веб-сайтов используют механизм имени пользователя и пароля.
HTTPS построен на сертификатах.
Невозможно обслуживать сайт HTTPS без сертификата, так же как невозможно обслуживать сайт HTTP без URL-адреса.
Да, без SSL-сертификата вы не можете создать https-сайт.
Незачем. Мы можем просто экспортировать и импортировать сертификат. Как указано в URL ниже,
http://www.digicert.com/import-export-ssl-certificate.htm
Он будет работать, как и раньше, но без безопасной связи.