Исправлена серьезная ошибка в официальной документации по настройке SSL в web-ролях Microsoft Azure


    Хорошие новости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>
    


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

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

    Дмитрий Мещеряков,
    департамент продуктов для разработчиков
    ABBYY
    113.19
    Решения для интеллектуальной обработки информации
    Share post

    Comments 0

    Only users with full accounts can post comments. Log in, please.