/INTEGRITYCHECK(需要签名检查)

指定必须在加载时检查二进制映像的数字签名。

/INTEGRITYCHECK

注解

默认情况下,/INTEGRITYCHECK 处于关闭状态。

/INTEGRITYCHECK 链接器选项在 DLL 文件或可执行文件的 PE 头中设置一个标志 IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY。 此标志告知内存管理器检查数字签名以便在 Windows 中加载映像。 必须为某些 Windows 功能加载的 32 位和 64 位 DLL 设置此选项。 建议在 Windows Vista、Windows Server 2008 和所有更高版本的 Windows 和 Windows Server 上为所有设备驱动程序使用。 Windows Vista 之前的 Windows 版本会忽略此标志。 有关详细信息,请参阅可移植可执行文件的强制完整性签名 (PE) 文件

/INTEGRITYCHECK 文件签名

Microsoft 为使用 /INTEGRITYCHECK 链接的 DLL 和可执行文件提供了新的签名指南。 用于推荐来自交叉签名计划的交叉签名证书的指南。 但是,交叉签名程序现已弃用。 现在必须使用 Microsoft Azure 代码签名程序对 /INTEGRITYCHECK 文件进行签名。

在 Visual Studio 中设置此链接器选项

  1. 打开项目“属性页” 对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性

  2. 选择“配置属性”>“链接器”>“命令行”属性页 。

  3. 若要创建数字签名的映像,请在“其他选项”命令行中包含 /INTEGRITYCHECK。 经过数字签名的映像必须先通过验证检查,然后才能加载。 在默认情况下,禁用此功能。

  4. 选择“确定”以保存更改 。

另请参阅

MSVC 链接器参考
MSVC 链接器选项
可移植可执行 (PE) 文件的强制完整性签名
内核模式代码签名要求
AppInit DLL 和安全启动