znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
阅读:7704回复:7

有inf文件的驱动之签名

楼主#
更多 发布于:2008-06-11 18:37
1. 需要生成 cat文件,需要inf2cat 工具

Inf2Cat /driver:.\vnn /os:2000,XP_X86,Server2003_X86,Vista_X86

.\vnn 就是驱动程序目录,里面包括inf及sys文件


注意修改inf中的version 段

日期要修改得近点,还要指定cat文件名

DriverVer  =10/01/2007,6.0.5019.0
CatalogFile=vnn.cat  

vnn.cat是cat文件名,可以根据驱动改,改完再用 inf2cat命令行生成cat文件



2. 签sys文件,签cat文件

用你的verisign证书对sys及cat进行签名


3.工具下载
http://bbs.driverdevelop.com/htm_data/111/0806/111684.html
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
沙发#
发布于:2008-06-11 18:43
首先,签了sys文件

znsoft(马勇) -- 态度决定一切,性格决定命运! 说:
再改inf文件,两个都要改
 znsoft(马勇) -- 态度决定一切,性格决定命运! 说:
一样的,然后用工具生成cat
 znsoft(马勇) -- 态度决定一切,性格决定命运! 说:
再对cat签名,收工
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
HuYuguang
论坛版主
论坛版主
  • 注册日期2001-04-25
  • 最后登录2013-04-29
  • 粉丝3
  • 关注1
  • 积分92分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2008-06-11 18:45
1, 修改inf,在version段增加
CatalogFile=vnn.cat  

2,签名sys

3,用工具生成cat

4,对cat签名
不再回忆从前,我已经生活在幸福当中。
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
地板#
发布于:2008-06-11 18:46
好多年没有人跟我抢沙发了...
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
HuYuguang
论坛版主
论坛版主
  • 注册日期2001-04-25
  • 最后登录2013-04-29
  • 粉丝3
  • 关注1
  • 积分92分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分1分
  • 专家分0分
地下室#
发布于:2008-06-11 20:14
http://msdn.microsoft.com/en-us/library/bb931742.aspx

Windows Driver Kit: Device Installation
Inf2Cat Tool

Inf2Cat (Inf2Cat.exe) is a command-line tool that determines whether a driver package INF file can be digitally signed for a specified list of Windows versions, and, if so, generates the unsigned catalog files that apply to the specified Windows versions.

Inf2Cat /driver:PackagePath /os:WindowsVersionList [/nocat] [/verbose] [/?] [other options]

Parameters and Options

/driver:PackagePath
    Supplies the path to the directory that contains the INF file for a driver package.

/os:WindowsVersionList
    Configures Inf2Cat to verify that a driver package INF file complies with the signing requirements for the Windows versions that are specified by WindowsVersionList. WindowsVersionList is a comma-separated list of one or more of the following version identifiers.
    Windows version     Version identifier
    Windows Server 2008 x64 Edition     Server2008_X64
    Windows Server 2008 Itanium Edition     Server2008_IA64
    Windows Server 2008 x86 Edition     Server2008_X86
    Windows Vista x64 Edition     Vista_X64
    Windows Vista x86 Edition     Vista_X86
    Windows Server 2003 x64 Edition     Server2003_X64
    Windows Server 2003 Itanium Edition     Server2003_IA64
    Windows Server 2003 x86 Edition     Server2003_X86
    Windows XP x64 Edition     XP_X64
    Windows XP x86 Edition     XP_X86
    Windows 2000     2000

    Inf2Cat ignores the case of the alphabetic characters of the version identifier strings. For example, vista_x64 and Vista_X64 are both valid identifiers for Windows Vista x64 Edition.

/nocat
    Configures Inf2Cat only to verify that the driver package complies with the signing requirements for the specified Windows versions, but not to generate a catalog files.
/verbose
    Configures Inf2Cat to display detailed information in a command window.
/?
    Configures Inf2Cat to display help information in a command window.
other options
    Configures Inf2Cat to add a DRM level catalog attribute or a PE catalog attribute to files, or to add page hashes to files. For more information, use the /? option.

Comments

The Inf2Cat tool replaces the Signability tool that was included in versions of the WDK prior to Windows Server 2008.

To use Inf2Cat, a user must be a member of the Administrators group on the system and run the command from an elevated command prompt.

Inf2Cat checks driver package INF files for structural errors and verifies that a driver package can be digitally signed. A driver package can be signed only if all of the files that are referenced in an INF file are present and the source files are in the correct location. If an INF file cannot be signed or if it contains structural errors, the driver package might not be installed correctly or might incorrectly display a driver signing warning dialog box during installation.

Inf2Cat generates a catalog file only if the catalog file is specified in the driver package INF file and the catalog file applies to one or more of the specified Windows versions. If the INF Version section of an INF file supplies only a CatalogFile=filename.cat directive, that catalog file applies to the entire driver package. To support cross-platform installations, the INF file should include CatalogFile.PlatformExtension=unique-filename.cat directives.

For more information about Inf2Cat, see the Microsoft  Inf2Cat FAQ Web site.

The Inf2Cat tool is located in the ..\bin\SelfSign folder of the WDK.
Examples

In the following example, c:/MyDriver contains a driver package whose INF file is MyInfFile.inf and the INF Version section in the INF file includes only the following CatalogFile directive:

[Version]
. . .
CatalogFile=MyCatalogFile.cat
. . .

For this example, the following Inf2Cat command would verify whether the driver package can be signed for Windows 2000 and for the x86 versions of Windows Vista, Windows Server 2003, and Windows XP. If the package can be signed for these versions, Inf2Cat would create the unsigned catalog file MyCatalogFile.cat.

Inf2Cat /driver:C:\MyDriver /os:2000,XP_X86,Server2003_X86,Vista_X86

In the following example, c:/MyDriver contains a driver package whose INF file is MyInfFile.inf and the INF Version section in the INF file includes only the following two CatalogFile directives with platform extensions:

[Version]
. . .
CatalogFile.ntx86=MyCatalogFileX86.cat
CatalogFile.ntamd64=MyCatalogFileX64.cat
. . .

For this example, the following Inf2Cat command would verify whether the driver package can be signed for Windows 2000 and the x86 versions of Windows Vista, Windows Server 2003, and Windows XP. In addition, the command would verify whether the driver package can be signed for the x64 editions of Windows Vista, Windows Server 2003, and Windows XP. If the package can be signed for all of these versions, Inf2Cat will create the unsigned catalog files MyCatalogFileX86.cat and MyCatalogFileX64.cat.

Inf2Cat /driver:C:\MyDriver /os:2000,XP_X86,XP_X64,Server2003_X86,Server2003_X64,Vista_X86,Vista_X64

For more information about how to use Inf2Cat to create a catalog file, see Creating a Catalog File for a PnP Driver Package.
不再回忆从前,我已经生活在幸福当中。
goodbarrow
驱动牛犊
驱动牛犊
  • 注册日期2003-07-24
  • 最后登录2011-12-07
  • 粉丝0
  • 关注0
  • 积分41分
  • 威望14点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2009-02-24 15:51
哦。志宁和老胡都在呢。老胡什么时候回来的?听说你出国一段时间? 哈哈。我好久没有上来了。有点羞于见大家呢。

有个问题哦。
我现在有个NDIS Protocol驱动想在Windows 2008 SP1 X86平台上跑,但是装驱动的时候会弹出一个对话框“Windows can't verify the publisher of this driver software”。我必须点“install it anyway”才行。这到客户那里肯定不行。我查了很多方法想去掉这东西,可是每一个能用的。唉。
值得说明的一点是,我已经有了verisign的数字证书,二级根是VeriSign Class 3 Code Signing 2004 CA,有好多二进制程序都是用它来签的名。我查看了一下顶级根,应该是在MS的那个证书列表里面的。(http://www.microsoft.com/whdc/winlogo/drvsign/crosscert.mspx 签名数据是一样的)

我不想做什么WHQL的测试,那太麻烦。我只想不让操作系统弹出那该死的对话框。是不是用我现有的证书做code signing就可以啊?
两位大哥不要嫌烦,给个答案吧,是或者否,否的话怎么做。谢喽。
duoduobear
驱动牛犊
驱动牛犊
  • 注册日期2004-08-27
  • 最后登录2009-04-03
  • 粉丝0
  • 关注0
  • 积分133分
  • 威望43点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2009-03-31 17:58
"我不想做什么WHQL的测试,那太麻烦。我只想不让操作系统弹出那该死的对话框。是不是用我现有的证书做code signing就可以啊?"

当然不可以。只有WHQL的签名才被Windows认可。
firing
驱动牛犊
驱动牛犊
  • 注册日期2002-03-14
  • 最后登录2013-04-25
  • 粉丝0
  • 关注0
  • 积分84分
  • 威望250点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2009-04-04 19:34
引用第5楼goodbarrow于2009-02-24 15:51发表的  :
哦。志宁和老胡都在呢。老胡什么时候回来的?听说你出国一段时间? 哈哈。我好久没有上来了。有点羞于见大家呢。

有个问题哦。
我现在有个NDIS Protocol驱动想在Windows 2008 SP1 X86平台上跑,但是装驱动的时候会弹出一个对话框“Windows can't verify the publisher of this driver software”。我必须点“install it anyway”才行。这到客户那里肯定不行。我查了很多方法想去掉这东西,可是每一个能用的。唉。
值得说明的一点是,我已经有了verisign的数字证书,二级根是VeriSign Class 3 Code Signing 2004 CA,有好多二进制程序都是用它来签的名。我查看了一下顶级根,应该是在MS的那个证书列表里面的。(http://www.microsoft.com/whdc/winlogo/drvsign/crosscert.mspx 签名数据是一样的)
.......


你的企业证书不是Trusted Pubulisher,驱动安装的时候会检查这个
基本上self-sign的驱动安装时很难绕过这个
Email: flykz1122@yahoo.com.cn
游客

返回顶部