/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受信任的签名服务程序对文件进行签名/INTEGRITYCHECK
。
在 Visual Studio 中设置此链接器选项
打开项目“属性页” 对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性。
选择“配置属性”>“链接器”>“命令行”属性页 。
若要创建数字签名的映像,请在“其他选项”命令行中包含
/INTEGRITYCHECK
。 经过数字签名的映像必须先通过验证检查,然后才能加载。 在默认情况下,禁用此功能。选择“确定”以保存更改 。
另请参阅
MSVC 链接器参考
MSVC 链接器选项
可移植可执行 (PE) 文件的强制完整性签名
内核模式代码签名要求
AppInit DLL 和安全启动