пятница, 11 ноября 2016 г.

Windows Server 2016. Ошибка "Local certificates not found" при развертывании Host Guardian Service (HGS).

В Windows Server 2016 Datacenter появилась возможность создания защищенных виртуальных машин Hyper-V - Shielded VMs, доступ к которым может получать только их владелец. Одним из этапов его включения на хостах является настройка Host Guardian Service.

Host Guardian Service используется для проверки возможности запуска защищенных виртуальных машин на данном конкретном хосте, а так же для хранения ключей. Во время его настройки я столкнулся с проблемой. На шаге, где мы должны создать файл (ShieldingDataFile), содержащий внутренние данные, исползуемые при создании новых Shielded VMs, получаем ошибку. Возникает она в том случае, если мы при создании "HGS Guardian" использовали сертификаты доверенного СА. Выглядит ошибка так:

$Owner = Get-HgsGuardian -Name "Guardian-Existing-CRT"

$VolumeIDQualifier = @(New-VolumeIDQualifier -VolumeSignatureCatalogFilePath "C:\Data\ws2016.vsc" -VersionRule Equals)

New-ShieldingDataFile -ShieldingDataFilePath "C:\Data\ShieldingDataFile.pdk" -Owner $owner -VolumeIDQualifier $VolumeIDQualifier -WindowsUnattendFile "C:\PFX\unattend.xml" -OtherFile "C:\Data\wildcard.cloud.local.pfx"

New-ShieldingDataFile : Local certificates not found : signingCount = 2, encryptCount = 0
At line:1 char:1
+ New-ShieldingDataFile -ShieldingDataFilePath "C:\Data\ShieldingDataFile07. ...
+ CategoryInfo : NotSpecified: (Microsoft.Windo...DataFileCommand:NewShieldingDataFileCommand) [New-Shiel
dingDataFile], NativeMethodException
+ FullyQualifiedErrorId : OutputGenerationError,Microsoft.Windows.HardenedFabric.Cmdlets.NewShieldingDataFileComma
nd

На момент написания данной статьи проблема имеет весьма странное решение (найдено случайно) - надо предварительно создать "HGS Guardian" сгенерировав новые самоподписанные сертификаты. Делается это так:

New-HgsGuardian -Name 'MyOwner' -GenerateCertificates

После этого "ShieldingDataFile" создается корректно.

It's... magic! 

Разработчики про данную проблему уже знают, возможно она будет решена в следующих обновлениях Windows Server.




Комментариев нет:

Отправить комментарий