(Размещено в ServerFault вместо StackOverflow, потому что я считаю, что это касается конфигурации ОС больше, чем программного кода).
В настоящее время я отвечаю за поддержку система, которая подключается к стороннему веб-сервису. Этот веб-сервис требует сертификатов аутентификации клиента, что достаточно справедливо, но сам веб-сервис защищен самозаверяющим сертификатом, созданным самостоятельно созданным корневым сертификатом центра сертификации - тем же самым корнем, который создает сертификаты аутентификации клиента.
Это было бы достаточно просто добавить текущий сертификат службы в список известных доверенных и игнорировать самостоятельно созданный сертификат центра сертификации, но в будущем обычные клиентские ящики для настольных ПК) доверять ЦС, но только для заданного набора ключей и небольшого набора возможных имен субъектов (доменных имен)?
В настоящее время сервером является Windows Server 2012 R2, но он может работать на компьютере с Linux, хотя все настольные компьютеры - это компьютеры с Windows.
Да, это возможно. В случае с Windows есть функция, называемая перекрестной сертификацией или квалифицированным подчинением.
Идея состоит в том, что вы подписываете сертификат CA, выдавший стороннюю организацию, в своей среде. В результате удаленный сертификат SSL привязывается к вашему собственному корневому сертификату ЦС. Чтобы защитить себя от возможных поддельных сертификатов, вы реализуете расширение сертификата Ограничения имен
, в котором указываете список допустимых имен. Если сторонний ЦС выдает сертификат для любого другого имени (явно не указанного в расширении ограничений имени), он будет автоматически отклонен вашим поставщиком CryptoAPI.
В дополнение к ограничениям имени вы можете описать ограничение расширенного использования ключей, указав Политика приложений
расширение сертификата в кросс-сертификате. Таким образом, ваш доверенный провайдер успешно проверит только случаи использования, указанные в расширении Политики приложений
.
Дополнительная информация: Планирование и реализация перекрестной сертификации и квалифицированного подчинения с использованием Windows Server 2003
p.s. хотя статья написана против Windows Server 2003, статья по-прежнему относится к самой последней версии Windows Server.