Udostępnij za pośrednictwem


Pliki skryptów programu PowerShell ponownie podpisane za pomocą narzędzia SignTool mogą być uszkodzone

Dotyczy: Zestaw Windows SDK dla systemu Windows 10

Objawy

Załóżmy, że wprowadzono zmiany w pliku skryptu programu Windows PowerShell (ps1), który ma już podpis cyfrowy. Plik skryptu może być uszkodzony po użyciu narzędzia SignTool (SignTool.exe) w celu dodania nowego podpisu.

Przyczyna

W przypadku używania narzędzia SignTool do podpisywania pliku skryptu po raz pierwszy na końcu pliku jest dodawany powrót karetki i źródło danych wiersza na końcu pliku przed dodaniu podpisu. W przypadku używania narzędzia SignTool w celu dodania nowego podpisu do pliku stary podpis i dwa znaki przed usunięciem podpisu. Narzędzie SignTool może uszkodzić skrypt, jeśli dwa znaki przed podpisem nie są znakiem powrotu karetki i znaki kanału informacyjnego wiersza dodane podczas podpisywania skryptu. Taka sytuacja może wystąpić podczas edytowania pliku skryptu po jego podpisaniu przy użyciu edytora, który zastępuje pary powrotu karetki i kanału informacyjnego wierszy znakiem.

Rozwiązanie

Usuń istniejący podpis przed podpisaniem pliku.