签署驱动程序

在 64 位版本的 Windows 上运行的所有驱动程序都经过签署才能由 Windows 加载。但是,32 位版本的 Windows 不需要签署驱动程序。

为了签署驱动程序,需要一个证书。你可以在开发和测试期间创建自己的证书来签署驱动程序。但是,对于对公开发行的驱动程序,你必须使用由受信任的根证书颁发机构颁发的证书进行签署。

注意  驱动程序包项目可以包含其他项目的输出数据。如果你构建一个驱动程序包项目,Microsoft Visual Studio 将构建与该项目存在依赖关系的其他项目。 该驱动程序包项目具有自己的驱动程序签名属性,且不同于任何其他依赖项目,其驱动程序签名属性适用于该驱动程序包项目生成的目录(如果有)。也就是说,该驱动程序包项目不会自动将嵌入式签名添加到其他项目生成的驱动程序二进制文件中,因为系统可能使用另一种证书(例如测试证书)签署其他驱动程序项目,从而造成下面这种情况:无意中使用一种证书签署了驱动程序包中的二进制文件,而使用另一种证书签署程序包目录。 这可能会导致性能下降。例如,如果引导启动驱动程序二进制文件的嵌入式签名无效,则 Windows 无法使用其签署的证书验证该二进制文件。相反,Windows 必须使用该目录的签名验证二进制文件,这将会增加启动时间。

本部分介绍如何使用 Visual Studio 签署驱动程序包。

 

 

显示:
© 2014 Microsoft