Устранение распространенных проблем с сертификатами PKI Azure Stack Hub
Сведения в этой статье помогут вам определить и устранить распространенные проблемы с сертификатами PKI Azure Stack Hub. Вы можете выявлять проблемы, проверяя PKI-сертификаты Azure Stack Hub с помощью средства проверки готовности Azure Stack Hub. Это средство проверяет, соответствуют ли сертификаты требованиям PKI к развертыванию и смене секретов Azure Stack Hub, и записывает результаты в файл report.json.
Http CRL — предупреждение
Проблема . Сертификат не содержит список отзыва сертификатов HTTP в расширении CDP.
Исправление . Это неблокирующая проблема. Azure Stack требует http CRL для проверки отзыва в соответствии с требованиями к сертификату инфраструктуры открытых ключей (PKI) Azure Stack Hub. Список отзыва сертификатов HTTP не обнаружен в сертификате. Чтобы убедиться, что проверка отзыва сертификатов работает, центр сертификации должен выдать сертификат с http CRL в расширении CDP.
Http CRL — сбой
Проблема . Не удается подключиться к списку отзыва http в расширении CDP.
Исправление . Это блокирующая проблема. Для проверки отзыва azure Stack требуется подключение к списку отзыва HTTP для публикации портов и URL-адресов (исходящих) Azure Stack Hub.
Шифрование PFX-файлов
Проблема. Алгоритм шифрования PFX-файлов не соответствует TripleDES-SHA1.
Исправление. Экспортируйте PFX-файлы, используя шифрование TripleDES-SHA1. Это стандартный вариант шифрования для всех клиентов Windows 10 при экспорте из оснастки сертификатов или при использовании командлета Export-PFXCertificate
.
Чтение PFX-файла
Предупреждение. Пароль защищает только конфиденциальные сведения в сертификате.
Исправление. Экспортируйте PFX-файлы с необязательным параметром Включить конфиденциальность сертификата.
Проблема. Недопустимый PFX-файл.
Исправление. Повторно экспортируйте сертификат, выполнив действия, описанные в статье Подготовка сертификатов PKI Azure Stack Hub для развертывания или смены секретов.
Алгоритм подписи
Проблема. Алгоритм подписи — SHA1.
Исправление. Выполните шаги, описанные в статье о создании запроса на подписывание сертификатов (CSR) Azure Stack Hub, чтобы повторно создать такой запрос с использованием алгоритма подписи SHA256. Затем отправьте CSR в центр сертификации, чтобы он повторно выдал сертификат.
Закрытый ключ
Проблема. Закрытый ключ отсутствует или не содержит атрибут локального компьютера.
Исправление. Повторно экспортируйте сертификат из компьютера, создавшего CSR, выполнив инструкции из раздела Подготовка сертификатов к развертыванию. Эти действия включают экспорт из хранилища сертификатов на локальном компьютере.
Цепочка сертификатов
Проблема. Цепочка сертификатов не полная.
Исправление. Сертификаты должны содержать завершенную цепочку сертификатов. Повторно экспортируйте сертификат, выполнив действия, описанные в статье о подготовке PKI-сертификатов Azure Stack Hub к развертыванию, и выберите параметр Включить по возможности все сертификаты в путь сертификации.
DNS-имена
Проблема. Параметр сертификата DNSNameList не содержит имя конечной точки службы Azure Stack Hub или допустимое совпадение подстановочных знаков. Совпадения подстановочных знаков допустимы только для крайнего левого пространства имен DNS-имени. Например, *.region.domain.com
допустим только для portal.region.domain.com
, но не для *.table.region.domain.com
.
Исправление. Выполните шаги, описанные в статье о создании запроса на подпись сертификатов Azure Stack Hub, чтобы повторно создать CSR с правильным DNS-именем для поддержки конечных точек Azure Stack Hub. Повторно отправьте CSR в центр сертификации. Затем экспортируйте сертификат с компьютера, создавшего CSR, выполнив инструкции, описанные в статье о подготовке PKI-сертификатов Azure Stack Hub к развертыванию.
Использование ключа
Проблема. В свойстве "Использование ключа" отсутствует атрибут цифровой подписи или шифрования ключей, либо в свойстве "расширенное использование ключа" отсутствует атрибут проверки подлинности сервера или проверки подлинности клиента.
Исправление. Выполните инструкции, приведенные в статье о создании запроса на подписывание сертификатов Azure Stack Hub, чтобы повторно создать CSR с правильными атрибутами использования ключа. Повторно отправьте запрос CSR в центр сертификации и убедитесь, что шаблон сертификата не перезаписывает свойство "Использование ключа" в запросе.
Размер ключа
Проблема. Размер ключа меньше 2048.
Исправление. Выполните действия, описанные в статье о создании запроса на подписывание сертификатов Azure Stack Hub, чтобы повторно создать CSR с ключом правильной длины (2048), а затем снова отправьте CSR в центр сертификации.
Порядок в цепочке
Проблема. Неверный порядок в цепочке сертификатов.
Исправление . Повторно экспортируйте сертификат, выполнив действия, описанные в разделе Подготовка PKI-сертификатов Azure Stack Hub к развертыванию , и выберите параметр Включить все сертификаты в путь сертификации, если это возможно. Убедитесь, что для экспорта выбран только конечный сертификат.
Другие сертификаты
Проблема. Пакет PFX содержит сертификаты, не являющиеся конечными или частью цепочки сертификатов.
Исправление. Повторно экспортируйте сертификат, выполнив действия, описанные в статье о подготовке PKI-сертификатов Azure Stack Hub к развертыванию, и выберите параметр Включить по возможности все сертификаты в путь сертификации. Убедитесь, что для экспорта выбран только конечный сертификат.
Устранение распространенных неполадок с упаковкой
AzsReadinessChecker содержит вспомогательный командлет Repair-AzsPfxCertificate, который может импортировать и экспортировать PFX-файл для исправления распространенных проблем с созданием пакетов, включая следующие:
- Алгоритм шифрования PFX-файлов не соответствует TripleDES-SHA1.
- В закрытом ключе отсутствует атрибут локального компьютера.
- Незавершенная или неправильная цепочка сертификатов. Локальный компьютер должен содержать цепочки сертификатов, если их нет в пакете PFX.
- Другие сертификаты
Repair-AzsPfxCertificate не подходит для случаев, когда нужно создать новый запрос CSR и повторно выпустить сертификат.
Предварительные требования
На компьютере, на котором запущено средство, должны быть установлены следующие обязательные компоненты:
Необходимо установить Windows 10 или Windows Server 2016 и обеспечить подключение к Интернету.
Необходимо установить PowerShell 5.1 или более поздней версии. Чтобы проверить используемую версию, выполните следующий командлет PowerShell и проверьте значения Major (основной номер версии) и Minor (дополнительный номер версии):
$PSVersionTable.PSVersion
Необходимо настроить PowerShell для использования с Azure Stack Hub.
Скачайте последнюю версию средства проверки готовности Azure Stack Hub.
Импорт и экспорт имеющегося PFX-файла
На компьютере, который соответствует всем предварительным требованиям, откройте командную строку PowerShell с повышенными правами и выполните следующую команду, чтобы установить средство проверки готовности Azure Stack Hub:
Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
В командной строке PowerShell выполните указанный ниже командлет, чтобы задать пароль PFX-файла. Введите пароль при появлении запроса:
$password = Read-Host -Prompt "Enter password" -AsSecureString
В командной строке PowerShell выполните следующую команду, чтобы экспортировать новый PFX-файл:
- Для
-PfxPath
укажите путь к PFX-файлу, с которым вы работаете. В следующем примере используется путь.\certificates\ssl.pfx
. - Для
-ExportPFXPath
укажите расположение и имя PFX-файла для экспорта. В следующем примере используется путь.\certificates\ssl_new.pfx
.
Repair-AzsPfxCertificate -PfxPassword $password -PfxPath .\certificates\ssl.pfx -ExportPFXPath .\certificates\ssl_new.pfx
- Для
После завершения работы средства проверьте выходные данные, чтобы убедиться в успешном выполнении:
Repair-AzsPfxCertificate v1.1809.1005.1 started. Starting Azure Stack Hub Certificate Import/Export Importing PFX .\certificates\ssl.pfx into Local Machine Store Exporting certificate to .\certificates\ssl_new.pfx Export complete. Removing certificate from the local machine store. Removal complete. Log location (contains PII): C:\Users\username\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessChecker.log Repair-AzsPfxCertificate Completed