Подписанный скрипт перестал работать после истечения сертификата

Прошу помощи, чтобы разобраться в ситуации. Есть скрипт на PowerShell. Скрипт подписан сертификатом. Сертификат не самоподписанный, на предприятии развёрнута полновесная система PKI, т.е. от скрипта собирается цепочка до Root CAвведите сюда описание изображения Интересно случилось, когда у сертификата прошёл срок действия и запуск скрипта стал выдавать следующее сообщение:

C:\users\Public\Documents\Scripts\Security_monitoring.ps1 : Не удается загрузить файл C:\users\Public\Documents\Scripts
\Security_monitoring.ps1. Возможно, содержимое файла C:\users\Public\Documents\Scripts\Security_monitoring.ps1 изменено неавторизованным пользователем или процессом, так как хеш файла не совпадает с хешем, сохраненным в цифровой подписи.
Невозможно выполнить сценарий в указанной системе. Для получения дополнительных сведений выполните команду Get-Help about_Signing..
строка:1 знак:1
+ C:\users\Public\Documents\Scripts\Security_monitoring.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : Ошибка безопасности: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

Файл не изменялся, проверял через fc с резервной копией. Провёл эксперимент - сделал простой скрипт, подписал, изменил код, не переподписывая - такая же ошибка. Или я не туда смотрю. Спасибо.


Ответы (1 шт):

Автор решения: Anton Zhitarev

Разобрался. Необходимо при подписывании использовать временнУю метку Set-AuthenticodeSignature -Certificate $cert -IncludeChain "All" -TimestampServer "http://tsa.intranet.local/get.aspx" -FilePath Q:\1\hello_tmp2.ps1 Более подробно на вики, например или вот тут

→ Ссылка