在 Windows 中对应用程序进行代码签名,以便将应用程序列入允许列表



这是我的困境,我正在尝试根据发布者执行应用程序白名单,而发布者又基于应用程序是否已签名。问题是,未签名的软件没有列出发布者。我的想法是审查未签名的软件,如果批准使用,我们可以用我们的内部代码签名证书对其进行签名。我使用 Microsoft 的 signtool 测试了这个过程,它似乎有效,但这就是问题所在。当我测试它时,我在安装程序上做了.exe,之后我安装了应用程序,然后在其中创建了一个文件,然后它使用随附的其他已安装的.exe在程序文件中创建了一个文件。当我检查程序文件中安装的.exes的签名时,它说它们未签名!我知道我可以去对它们运行相同的命令来签名,但如果我们要将其部署到许多终端系统,这是不可行的。我的问题是:有没有办法对安装程序进行签名,安装安装程序时,安装的.exes也将由我们的内部证书签名?或者有没有办法安装应用程序并对必要的文件进行签名,然后重新打包以进行部署?很抱歉这个问题很长,但我想不出完成此操作的方法,我认为由于应用程序白名单现在很热门,因此一定有人遇到了类似的问题。另外,我知道我们可以使用路径或哈希,但这不是我在这里要做的。

谢谢

首先,我不建议使用您的公司签名对供应商代码进行签名。 我不确定你是否在这样做,但如果你是,我建议你小心。 除非您确切地知道代码中的内容,否则对其他人的代码进行签名不是一个好主意。

你是对的,安装程序的前任是未签名的;这就是这个过程的工作方式。 当您对可执行文件进行签名时,您只是对该 exe 进行签名,而不是对它提取和放置的 cab 文件的内容进行签名。

我将迈克菲应用程序控件与签名的安装程序一起使用,效果很好。 我相信我公司的签名作为更新程序(允许它更改文件),并且它会根据需要安装软件,而无需对每个可执行文件进行签名。

所以,让我们来看看问题(对不起,如果这很长)。

有没有办法对安装程序进行签名并签署其下属前任? 不是我知道的。 文件单独签名。 您可能会以某种方式自动化它;这是针对不同的线程。 我不是签名专家,但根据我的经验,当我签署一个尚未递归到已安装内容的安装程序时。

有没有办法安装应用程序并对必要的文件进行签名,然后重新打包以进行部署? 技术上可行。 请记住,如果重新打包供应商安装,则会失去对安装的支持。 有几种快照工具可以对已安装的内容进行增量处理,并允许您收集该信息,然后对文件进行签名。 这是一个关于如何从快照创建安装的应用程序打包问题。

相关内容

最新更新