Изменение в консольных задачах после выхода SCSM SP1

SCSM 2010 SP1 внес как большое число исправлений, так и некоторые нововведения. Одним из не самых приятных нововведений стало предупреждение о запуске не проверенного кода:
Эта задача выполняет следующий код, который не может быть проверен (This task will run the following unverifiable code)
akgevgjl

Разработчики добавили две проверки: пакет управления, в котором расположена консольная задача, должен быть запечатан (Sealed). Если же задача расположена в незапечатанном пакете, сборка должна быть подписана сертификатом Authenticode. Если эти условия нарушаются – появляется предупреждение выше.

Так что теперь имейте это ввиду, когда создаете собственные консольные задачи с применением кода. Пока что я смог использовать только способ хранения задачи в запечатанном пакете. Подписать сборку тестовым самовыпущенным сертификатом (“настоящий” стоит от $300 до почти $500 на один год) у меня не получилось. Чтобы проверить, подписана ли сборка сертификатом, необходимо выполнить следюущий код (реализация для Powershell, перевести это в C# не составит труда):

$dllPath = "FULL_PATH_TO_DLL"
$IsSigned = [reflection.assembly]::LoadFile($dllPath).ManifestModule.GetSignerCertificate() -ne $null
write-host "Assembly Is Signed:"$IsSigned

SCSM 2010 SP1 проверяет подпись сборки точно таким же способом.

PS. Если кто-то знает, как правильно подписать сборку сертификатом – подскажите, буду очень благодарен. Собственно, подписать у меня получилось – сертификат виден в свойствах файла. Сертификат, которым производитлась подпись, есть закрытый ключ. Но при этом вызов GetSignerCertificate() всё равно возвращает null.

Реклама

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: