1

在 Chocolatey 包中签署可执行文件的推荐方法是什么?

我的组织已在其新的 Windows 10 制度中实施了 AppLocker。尽管我了解该制度为何存在,但我不确定如何在我们放入包裹提要中的自定义 Chocolatey 包裹中实施它。我也不确定是否需要同时签署安装文件和可执行文件。如果任何未签名的可执行文件尝试运行,AppLocker 将停止执行。

Chocolatey 提到了一些关于登录他们的安全部分的信息

https://github.com/chocolatey/choco/wiki/Security

路线图:https ://chocolatey.org/docs/roadmap

指南“对 Windows 应用程序进行代码签名”(https://mkaz.blog/code/code-signing-a-windows-application/

但是,我不知道从哪里开始。

4

2 回答 2

1

背景

Chocolatey 提供的包(packagebuilder.exe、packageuploader.exe)中有几个二进制文件当前没有经过身份验证。

这是我们最近发现的,并且在清单上需要处理。

同时,让我们正确回答您的问题。

如何验证签名

老实说,您链接的博客文章非常简单。但是,我将验证您可能拥有的几个 WTF。

Windows 的要求

  • 主要的先决条件是您需要一个 Authenticode 证书(每年约 200 美元以上)。是的,你真的需要这个——而且它真的需要对一个组织(或者如果你可以走那条路的话)进行验证。
  • 其次,您需要具有signtool.exe.

如何签名

基本上,您将拨打类似于以下内容的电话:

"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\signtool.exe" sign /t "http://timestamp.digicert.com" /fd [SHA1|SHA256|SHA512] /f C:\path\to\authenticode.certificate.pfx /p [YOURPASSWORD] /a "C:\path\to\the\file.exe"

根据您安装的 SDK,签名工具的路径可能略有不同。也像提到的文章一样,您可能想要坚持SHA1大多数兼容性,但如果您愿意,您可以走得更高。

以上内容改编自 Chocolatey (choco) 代码库,您可以在https://github.com/chocolatey/choco/blob/54ddf11fa025e97e071ae884c738ef8456b60b76/.build.custom/codeSign.step#L42-L48进行检查)。

参考

于 2019-11-19T17:12:02.870 回答
0

不过,这对您没有帮助。您将面临的下一个问题是 Chocolatey 不会在受约束的语言模式下运行 powershell

于 2019-12-01T23:42:20.727 回答