Хорошие новостиTM: есть небольшое, но важное развитие сюжета из этого поста, где много букв и долгая история, которая могла отвлечь часть целевой аудитории от необходимости проверить и исправить настройки. После вливания освежающих пул-запросов была обновлена официальная документация, показывающая, как правильно настраивать SSL в веб-ролях Microsoft Azure — один и два. Исправлена серьезная ошибка в примерах настроек.

Если вы разрабатываете или сопровождаете облачный сервис с веб-ролью, самое время проверить, что настройки SSL указаны правильно и вас не настигнет в самый неподходящий момент волна недовольства пользователей, у которых КРАЙНЕ НЕОЖИДАННО без ясных причин перестало устанавливаться защищенное соединение с вашим сервисом.

До исправления раздел «сертификаты» в примере настроек выглядел приблизительно так:
<Certificates>
  <!--НЕПРАВИЛЬНО!!! Не надо так!!!-->
  <Certificate name="ProductionCert"
      storeLocation="LocalMachine" storeName="My"/>
</Certificates>

Использование таких настроек — с указанием только сертификата сервиса — распространенная ошибка, в предыдущем посте очень подробно объяснены возможные последствия.

TL;DR При эксплуатации сервисов используют сертификаты, выданные так называемыми центрами сертификации, такие сертификаты подписаны не непосредственно корневым сертификатом центра, а промежуточным сертификатом (а промежуточный – в свою очередь подписан корневым сертификатом). Настройки выше приводят к установке в хранилища экземпляров сервиса только сертификата самого сервиса, но не промежуточных сертификатов.

Для надежной работы необходимо также обеспечить установку промежуточных сертификатов:
<Certificates>
     <!--Так правильно! -->
     <Certificate name="IntermediateForProductionCert"
           storeLocation="LocalMachine" storeName="CA"/>
     <!--Если в цепочке более одного промежуточного
          сертификата, перечислить нужно все-->
     <Certificate name="ProductionCert"
          storeLocation="LocalMachine" storeName="My"/>
</Certificates>


После исправлений официальная документация показывает примеры правильных настроек.

Пользуйтесь на здоровье и не огорчайте котиков пользователей.

Дмитрий Мещеряков,
департамент продуктов для разработчиков
Поделиться с друзьями
-->

Комментарии (0)