使用 SignTool 重新签名的 PowerShell 脚本文件可能已损坏

适用于:Windows SDK Windows 10

症状

假设你对已具有数字签名的Windows PowerShell脚本文件 (.ps1) 进行了更改。 使用 SignTool (SignTool.exe) 添加新 签名后,脚本文件可能会损坏。

原因

首次使用 SignTool 对脚本文件进行签名时,在添加签名之前,会在文件的末尾添加回车符和换行符。 使用 SignTool 向文件添加新签名时,将删除旧签名和签名之前的两个字符。 如果签名前的两个字符不是签名时添加的回车符和换行符,则 SignTool 可能会损坏脚本。 使用编辑器将回车符和换行符替换为换行符的回车符和换行符对后,编辑脚本文件后,可能会发生这种情况。

解决方法

在对文件进行签名之前,请删除现有签名。