Войти

Показать полную графическую версию : [решено] Подписывание собственных скриптов.


KAB
13-11-2009, 16:47
Всем доброго времени суток.
Решил я для большей безопасности ОС подписывать свои скрипты, используя материал находящийся по этой ссылке (http://life.screenshots.ru/the-code-inside/windows-powershell/self-signed-certificate/) у меня все получилось с первого же раза, но после того как я отправил комп в спящий режим, и после его нового включения я по пробовал снова подписать новый скрипт PS выдал мне вот такую ошибку:

SignerCertificate Status Path
----------------- ------ ----
UnknownError add-signature.ps1


Вот послед. действий которую делал для подписывания:

PS C:\WINDOWS\system32\windowspowershell\v1.0> $cert = @(Get-ChildItem cert:\CurrentUser\My -codesigning)[0]

____________________________________________________________________________________________________ _____________________________________________
PS C:\WINDOWS\system32\windowspowershell\v1.0> $cert


Каталог: Microsoft.PowerShell.Security\Certificate::CurrentUser\My


Thumbprint Subject
---------- -------
C0457C810F4277941BD71AC97222ED41EC7AA6A1 CN=PowerShell Local Certificate Root



____________________________________________________________________________________________________ _____________________________________________
PS C:\WINDOWS\system32\windowspowershell\v1.0> Set-AuthenticodeSignature H:\PowerShell\add-signature.ps1 $cert


Каталог: H:\PowerShell


SignerCertificate Status Path
----------------- ------ ----
UnknownError add-signature.ps1


Помогите пожалуйста решить проблему подписывания.

amel27
14-11-2009, 16:08
отправил комп в спящий режим, и после его нового включения я по пробовал снова подписать новый скрипт PS выдал мне вот такую ошибку »да, есть такое, лечится только перезапуском оболочки PowerShell

KAB
14-11-2009, 20:16
лечится только перезапуском оболочки PowerShell »
В смысле перезапуском PS? Для проверки я даже компьютер перезагружал.

amel27
15-11-2009, 03:26
KAB, проверил у себя: не закрывая консоль PowerShell усыпил комп, после запуска восстановленная консоль дает такую же ошибку, закрыл/открыл консоль и всё заработало (XP SP3). Кстати, не работает с самого начала (с генерацией сертификата) или только подпись старым сертификатом?.. Как вариант - проверить через PowerShell Plus (http://www.idera.com/Products/PowerShell/PowerShell-Plus/), там все процедуры можно провести через GUI, BETA (http://www.idera.com/Action/RegisterBeta.aspx?BetaID=9002) раздается на 78 дней.

KAB
15-11-2009, 19:08
Кстати, не работает с самого начала (с генерацией сертификата) или только подпись старым сертификатом? »
Не работает подпись скрипта уже ранее созданным сертификатом, которым до усыпления скрипты подписывались.

Проверял подпись через PowerGUI Script Editor и Powershell ISE.

Xaegr
15-11-2009, 23:30
В какой кодировке сохраняется файл? Посмотрите здесь (есть workaround). https://connect.microsoft.com/PowerShell/feedback/ViewFeedback.aspx?FeedbackID=483431
В 2.0 пробовали?
Если это другая ошибка - очень стоит сделать по ней рипорт, чтобы разработчики смогли её исправить в будущих версиях.

KAB
16-11-2009, 00:06
Ошибку нашел, действительно скрипт был сохранент в кодировке UTF-16 Big Endian, а Set-AuthenticodeSignature не умеет подписывать файлы в этой кодировке.
Ответ подсказали на форуме http://forum.sysfaq.ru/index.php?showtopic=27939&view=findpost&p=479433.




© OSzone.net 2001-2012