阅读:4721回复:0
如何对文件系统驱动程序进行发布签名
Updated: April 23, 2008用于 64 位版本 Windows Server 2008 和 Windows Vista 的内核模式驱动程序二进制文件必须经过签名,否则 Windows 不会加载它。这种要求适用于文件系统驱动程序(包括微筛选器、传统筛选器和重定向器)。一些驱动程序可以通过为驱动程序包包含签名的目录文件来满足这种要求。但是,所有随引导程序启动和随系统启动的驱动程序二进制文件都必须嵌入签名,以提高系统启动性能。
因为诸如文件系统驱动程序等非即插即用驱动程序不需要签名的目录文件,所以最普遍的签名方法是在驱动程序二进制文件中嵌入签名。本驱动程序技巧提供为文件系统驱动程序签名的基本信息,包括一个嵌入式发布签名过程的演示。 演示基于 Windows Driver Kit (WDK) 中的 Minispy 例子,它位于 WDK 的 minispy 目录中。例如,对于 Windows Server 2008 版本的 WDK,该示例通常位于 C:\WinDDK\6001\src\filesys\miniFilter\minispy。 关于文件系统驱动程序签名的一般背景信息,请参阅 IFS“文件系统驱动程序签名”演示文稿。 开始之前 准备您的系统: [table][tr][td]•[/td][td]安装最新版本的 WDK。详细信息请参阅“ 如何获取 Windows Driver Kit 和 Windows Logo Kit." [/td][/tr][tr][td]•[/td][td]获取软件发布证书(SPC,有时称为代码签名证书)和关联的交叉证书。详细信息请参阅“用于 Windows Vista 内核模式代码签名的 Microsoft 交叉证书." [/td][/tr][/table]下列术语的使用演练:
下列过程使用 WDK 的 Minispy 例子来演示此过程。 为 Minispy 驱动程序签名 签名操作有三个基本阶段:
私钥是贵重的资产,应该小心保护防止外泄。建议的方法是将私钥保存在硬件安全模块 (HSM) 中。这降低了私钥泄漏的风险(即使在其上使用 HSM 的计算机存在风险)。关于如何管理公钥和私钥的详细信息,请参见“代码签名最佳实践." 要在 myPVKfile.pvk 被存储在 HSM 中时对 minispy.sys 签名,请运行下列 SignTool 命令: signtool sign /v /ac c:\minispyPkg\myCrossCert.cer /s my /n "CN Value" /csp "Cryptographic Service Provider Name" /kc "KeyContainerName" /t http://timestamp.verisign.com/scripts/timestamp.dll minispy.sys[/pre]重要:任何包含空格的名称都必须放在双引号中。 注意:将私钥导入 HSM 的过程依赖于具体的提供商,表示为加密服务提供商名称和密钥容器名称。 更多信息: 代码签名最佳实践 如何获取 Windows Driver Kit 和 Windows Logo Kit Windows Server 2003 Administration Tools Pack 用于 Windows Vista 内核模式代码签名的 Microsoft 交叉证书 关于上述资料的视频介绍(2008 年 1 月录制于 IFS Plugfest 18),请参见“文件系统驱动程序签名” (讨论内容从时间索引 09:34 开始)。可以下载演讲幻灯片单击此处. 关于驱动程序签名的一般讨论,请参见“内核模式代码签名演练”。 |
|||||||||||||||||||||||||||||||||||||||||||||
|