我正在尝试设置一些PowerShell构建脚本。我有一个自签名证书,我可以使用它来签署脚本并让它与AllSigned
一起运行。问题是,这不会带来我们的scm(git)。
每当我尝试克隆并运行脚本,或者更改它并恢复时,我都会收到文件未签名的错误。
File <> cannot be loaded. The file <> is not digitally signed. The script will not execute on the system. ...
如果我重新签名脚本,签名块会改变,我可以再次运行它。
有没有办法保留签名?
答案 0 :(得分:3)
今天早上再挖一点:
除了附加到实际文件的签名块外,还有签名信息存储为文件的扩展属性。
正如可以预料的那样,git不会跟踪ea。对于权限等属性,标准建议是使用git钩子。在没有重新签名文件的情况下,我无法找到任何设置数字签名属性的方法。
这留下了3个选项:
RemoteSigned
。 答案 1 :(得分:2)
与源代码控制相关的东西是修改脚本。例如,如果您使用的是Subversion,则通过$Id
扩展$URL$
或svn:keywords
等关键字会导致您的脚本随每个版本而更改。另一种可能性是EOL标记或文件编码(UTF-8与ASCII)被修改。