Принудительное обновление промежуточного сертификата в IIS

Вопрос или проблема

HTTPS сайт под управлением IIS. Промежуточный сертификат был обновлён компанией с тем же ключом. Старый, устаревший сертификат хранился на сервере, и IIS использовал его (что приводило к фактически недействительной цепочке доверия). Обновлённый промежуточный сертификат доступен по CA Issuer URL в расширении Authority Information Access (AIA) сертификата сайта, но не каждый HTTPS клиент поддерживает AIA. Chrome и Schannel поддерживают, но OpenSSL и urllib3 нет.

Я решил это довольно непростым способом. Я скачал и установил обновлённый промежуточный сертификат, удалил старый из хранилища, затем удалил и заново создал привязку HTTPS на сайте в IIS. Вопрос: есть ли более простой способ? Простая установка нового сертификата в хранилище машины/промежуточный не сработала.

Ответ или решение

Обновление промежуточного сертификата в IIS

Обновление промежуточного сертификата на веб-сервере, работающем под управлением Internet Information Services (IIS), может оказаться сложной задачей, особенно если вы сталкиваетесь с проблемами, связанными с доверительной цепочкой. В данной статье мы рассмотрим наиболее эффективные методы обновления промежуточного сертификата с максимальным учетом вашего опыта.

Проблема

Ваша HTTPS-страница была настроена с использованием старого промежуточного сертификата, который был заменён, но с тем же ключом. Старый сертификат оставался в системе, что приводило к нестабильной цепочке доверия. Хотя новое промежуточное удостоверение доступно через URL CA Issuer в расширении Authority Information Access (AIA) вашего сертификата сайта, не все HTTPS-клиенты выполняют "AIA-чейзинг", что приводит к проблемам с валидностью сертификатов.

Предложенное Решение

Хотя вы уже использовали метод с удалением старого сертификата, установкой нового и пересозданием HTTPS-привязки в IIS, существуют альтернативные шаги, которые могут быть более удобными и менее трудоемкими.

  1. Проверка Установленных Сертификатов:

    • Убедитесь, что новый промежуточный сертификат установлен в "Доверенные промежуточные центры сертификации" (Trusted Intermediate Certification Authorities) на вашем сервере.
    • Откройте certlm.msc и проверьте, отображается ли новый сертификат корректно и активен ли он.
  2. Использование PowerShell для Обновления:

    • Вы можете воспользоваться PowerShell для обновления сертификатов. Запустите следующие команды, чтобы проверить установленные сертификаты и удалить старые. Это значительно упрощает процесс.
    # Проверка текущих сертификатов
    Get-ChildItem -Path Cert:\LocalMachine\CA
    
    # Удаление старого сертификата
    $cert = Get-ChildItem -Path Cert:\LocalMachine\CA | Where-Object { $_.Thumbprint -eq "OLD_CERT_THUMBPRINT" }
    Remove-Item $cert.PSPath
  3. Перезагрузка IIS:

    • После удаления старого сертификата и установки нового, важно перезапустить IIS, чтобы изменения вступили в силу. Это можно выполнить с помощью команды:
    iisreset
  4. Проверка Конфигурации Биндинга:

    • Убедитесь, что ваш сайт в IIS использует правильный сертификат. Чтобы сделать это:
      • Откройте «Диспетчер IIS».
      • Перейдите к вашему сайту, выберите «Привязки» (Bindings).
      • Убедитесь, что выбранный сертификат соответствует новому промежуточному сертификату.

Заключение

Обновление промежуточного сертификата в IIS может быть выполнено проще, чем через ручное удаление старого и добавление нового сертификата с последующим уничтожением и созданием HTTPS-привязки. Автоматизация этого процесса с помощью PowerShell и правильная проверка установленных сертификатов обеспечат более гладкий и эффективный процесс поддержки сертификатов безопасности на вашем сервере.

В будущем, для предотвращения подобных ситуаций, рекомендуется регулярно проверять обновления уровня сертификатов и их конфигурацию. Надеемся, что эти рекомендации помогут вам в управлении сертификатами и обеспечении надежной работы вашего веб-сервиса.

Оцените материал
Добавить комментарий

Капча загружается...