【问题标题】:What kind of signing do I need to use IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY?我需要什么样的签名才能使用 IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY?
【发布时间】:2021-11-19 15:39:42
【问题描述】:

我的一个玩具项目需要 PE 标头中的 IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY 才能运行。我一直在通过测试签名对其进行测试,但如果我能负担得起,我正在考虑购买证书。

这方面的文档太旧了,所以我不确定应用程序是否会使用用于内核模式签名的交叉签名证书或 Authenticode 代码签名证书进行签名。虽然后者便宜很多,但我还是买不起。

This article 只谈论签署程序,而不是证书要求。 This one 建议使用 Microsoft Azure 代码签名 项目,但不解释细节。 Stack Overflow 上的 Raxi 在 this question 中声称 Authenticode 签名就足够了,但我无法从参考资料中找到它。

那么 Authenticode 签名是否足以让带有 IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY 的可执行文件运行?

感谢任何知道这件事并愿意提供帮助的人。

【问题讨论】:

标签: windows code-signing code-signing-certificate authenticode windows-security


【解决方案1】:

我有一个 Authenticode 证书,并且可以确认使用该标志成功加载 PE 文件是不够的。如果我的 Authenticode 证书的根 CA 有交叉签名链,我理论上可以做到,但只有驱动程序签名证书具有 Microsoft 交叉签名的根 CA。

您需要内核模式驱动程序证书(即使您实际上并未制作驱动程序)来签署可执行文件。

据说,一旦 Azure 代码签名公开可用(谁知道多长时间),您将能够(免费)以这种标志有效的方式对文件进行签名。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-02
    • 1970-01-01
    • 1970-01-01
    • 2010-10-15
    • 2020-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多