内核驱动签名sys文件签名指南
2013-05-10 10:26
344 查看
本文来自:维瑞-技术中心-内核驱动签名指南 http://www.willrey.com/support/digital_signatures_for_kernel.html
Boot Start Driver 是指在操作系统启动时,就加载的驱动。由于系统刚刚启动,所以不会像加载其他PnP 类型驱动那样,用签名的Catalog文件判断驱动的合法性。有关这方面的详细说明请参考微软文档 “Digital Signatures for Kernel Modules on Systems Running WindowsVista”(64bitDriverSigning.doc)。
注意:以下操作环境是WDK 6000版本的Vista X64 Free Build Environment。
要注意的是对64位Windows机驱动,尽量使用VeriSign代码签名证书,从 维瑞 获得两个证书文件 myprivate.pvk和 myspc.spc。
使用 pvk2pfx.exe 将这两个文件转换成 personal information exchange (.pfx) 文件
pvk2pfx -pvk myprivate.pvk -pi pvkpassword -spc myspc.spc -pfx mypfx.pfx -f
将pfx文件导入当前用户个人证书库,这步非常关键,很多签名不成功或签名的root不对的原因都和这步有关。
开始-〉运行-〉mmc,启动控制台程序
选择菜单“文件-〉添加/删除管理单元”
单击“添加”按钮
在“可用的独立管理单元”列表中选择“证书”,然后单击“添加”按钮
选择“我得用户帐户”,然后单击“完成”按钮
单击“关闭”按钮
单击“确定”按钮
完成以上步骤后,在控制台软件的左侧显示证书树形列表。见下图:
选择“个人”目录,右键单击,选择“所有任务-〉导入”
根据“证书导入向导”的提示,生成的.pfx文件导入当前个人目录下。
导入成功后,可以看到购买的证书信息。
签名命令
SignTool sign /v /ac MSCV-VSClass3.cer /s my /t http://timestamp.verisign.com/scripts/timstamp.dll mydrv.sys
MSCV-VSClass3.cer是 Verisign公司和微软的交叉根证书,可从微软网站上下载,或从维瑞下载。
/s my 就是我们的个人证书库
/t 加签名的时间戳
Mydrv.sys 是要嵌入签名的驱动文件
注意:做这步时,一定要保证网络通畅。否则访问时间戳网址会失败,时间戳服务对代码签名很重要。
执行后的输出结果如下图所示,这只代表签名已经成功嵌入。
验证签名
内核驱动签名完成后,执行下面的步骤验证签名是否正确
SignTool verify /v /kp mydrv.sys
如果出现如下信息,说明嵌入签名成功
sys内核驱动签名指南
Vista Non-PnP Kernel-Mode Boot Driver签名指南Boot Start Driver 是指在操作系统启动时,就加载的驱动。由于系统刚刚启动,所以不会像加载其他PnP 类型驱动那样,用签名的Catalog文件判断驱动的合法性。有关这方面的详细说明请参考微软文档 “Digital Signatures for Kernel Modules on Systems Running WindowsVista”(64bitDriverSigning.doc)。
注意:以下操作环境是WDK 6000版本的Vista X64 Free Build Environment。
要注意的是对64位Windows机驱动,尽量使用VeriSign代码签名证书,从 维瑞 获得两个证书文件 myprivate.pvk和 myspc.spc。
使用 pvk2pfx.exe 将这两个文件转换成 personal information exchange (.pfx) 文件
pvk2pfx -pvk myprivate.pvk -pi pvkpassword -spc myspc.spc -pfx mypfx.pfx -f
将pfx文件导入当前用户个人证书库,这步非常关键,很多签名不成功或签名的root不对的原因都和这步有关。
开始-〉运行-〉mmc,启动控制台程序
选择菜单“文件-〉添加/删除管理单元”
单击“添加”按钮
在“可用的独立管理单元”列表中选择“证书”,然后单击“添加”按钮
选择“我得用户帐户”,然后单击“完成”按钮
单击“关闭”按钮
单击“确定”按钮
完成以上步骤后,在控制台软件的左侧显示证书树形列表。见下图:
选择“个人”目录,右键单击,选择“所有任务-〉导入”
根据“证书导入向导”的提示,生成的.pfx文件导入当前个人目录下。
导入成功后,可以看到购买的证书信息。
签名命令
SignTool sign /v /ac MSCV-VSClass3.cer /s my /t http://timestamp.verisign.com/scripts/timstamp.dll mydrv.sys
MSCV-VSClass3.cer是 Verisign公司和微软的交叉根证书,可从微软网站上下载,或从维瑞下载。
/s my 就是我们的个人证书库
/t 加签名的时间戳
Mydrv.sys 是要嵌入签名的驱动文件
注意:做这步时,一定要保证网络通畅。否则访问时间戳网址会失败,时间戳服务对代码签名很重要。
执行后的输出结果如下图所示,这只代表签名已经成功嵌入。
验证签名
内核驱动签名完成后,执行下面的步骤验证签名是否正确
SignTool verify /v /kp mydrv.sys
如果出现如下信息,说明嵌入签名成功
相关文章推荐
- Sys内核驱动签名指南
- 内核驱动签名指南
- Windows Vista 64位内核驱动或内核代码签名(Kernel Signing)指南
- Windows Vista 64位内核驱动或内核代码签名(Kernel Signing)指南
- 设置编译内核lib驱动及应用层dll的source文件
- 内核驱动之proc文件系统
- 在64位WIN7系统中修改驱动的sys文件,主要在sys文件中修改一下提供商等信息。
- 驱动文件增加到内核
- Linux 内核/sys 文件系统介绍3
- 64位Windows Vista 和Windows 7系统下驱动签名指南
- S3c6410 linux内核移植(9)---添加adc驱动、电池电量检测之文件修改
- Linux 内核/sys 文件系统之sysfs 属性文件
- IoEnumerateDeviceObjectList 枚举驱动的所有设备 文件过滤驱动 windows内核开发
- Linux 内核/sys 文件系统介绍
- 动态监控驱动sys、动态链接库dll、可执行文件exe加载
- Linux 内核/sys 文件系统之uevent
- 驱动设备模型---sys文件系统
- 无法编译出.sys文件 寒江孤钓<<windows 内核安全编程>> 学习笔记
- 在Linux DeviceTree增添dtsi文件并在驱动中读取节点信息写入sys文件系统
- win7 摄像头驱动软件找不到,只有sys文件