Windows 8和10上使用驱动程序开发向导中的* .inf文件

更新 Jan 28, 2023

环境

驱动

  • NI-VISA

操作系统

  • Windows

如何签署驱动程序开发向导生成的INF文件,以便我可以在Windows 8(或更高版本)计算机上安装?

驱动程序开发向导(DDW)生成的INF文件用于将设备绑定到NI-VISA,在创建时不会被签署。 Windows 8(或更高版本)计算机需要对INF文件进行签署才能将其安装到计算机上。

按照以下步骤将DDW生成的INF安装到Windows 8计算机上:

1.从INF生成目录(.cat)。

这可以通过使用Microsoft通过Windows驱动程序工具包(WDK)提供的Inf2Cat工具来完成。此工具通常安装在: C:\ Program Files(x86)\ Windows Kits \ 8.0 \ bin \ x86 。请确保中使用WDK V8.0是支持Windows 8的。
  1. 以管理员身份打开命令提示符。
  2. 导航到包含Inf2Cat工具的目录。
  3. 使用以下命令创建文件。
语法: Inf2Cat / driver:<path> / os:<os1> [,<os2>] ...

<path> :包含INF的目录的路径。 INF文件必须位于目录中(例如,不能是C驱动器中的独立文件)。INF已经具有要生成的cat文件的名称。

<osn> :支持的操作系统:例如2000,XP_X86,Vista_X64,7_X86,8_X64,10_X86,10_X64等。
有关操作系统支持的详细信息,请参阅外部链接:Microsoft开发区域:Inf2Cat

输出:如果<path>包含* .inf文件,则此命令将在其旁边创建相应的* .cat文件。
2.获取或创建可用于签署* .cat的证书。
  • 您应该联系证书颁发机构(CA)以获取可用于签署所有驱动程序和INF的证书。证书通常有一对密钥,公钥和私钥。公钥分发给需要使用签名二进制文件/ INF的客户端。私钥仅供证书所有者使用,用于签署任何需要签名的内容。私钥应该受到保护而不是发布。公钥具有足够的信息来验证证书所有者。通常需要向CA支付年费以获取和使用他们的证书。
  • 如果您不将INF分发给您的客户,只需要在您自己的机器上使用它,您需要创建一个“个人”测试证书。此证书以及私钥可以安装在开发计算机上,您将在其中生成* .cat文件并使用该证书对其进行签署。这些个人证书(在本例中为扩展名.pfx)可以使用各种第三方应用程序生成,例如Adobe Reader,Java SDK和用于Linux发行版的openssl。要了解有关创建个人测试证书的更多信息,请参阅Microsoft的MakeCert测试证书页面。
3.使用证书签署.cat。

生成* .cat文件并在开发计算机上安装专用证书后,可以使用该证书对* .cat文件进行签署。 Microsoft提供了一个使用WDK对INF进行签名的工具,称为SignTool。它与Inf2Cat工具位于同一文件夹中: C:\ Program Files(x86)\ Windows Kits \ 8.0 \ bin \ x86 。请注意,WDK可能需要某个版本的Visual Studio才能使用SignTool。此要求将在WDK下载页面上列出。

此工具也可从Windows Platform SDK获得。安装Windows 7 SDK后,该工具将位于: C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Bin 。

要使用SignTool,请确保从命令提示符导航到包含SignTool的目录。

语法: signtool sign options <filename(s)>

例子:
  • 如果私钥/公钥对位于文件中(采用.pfx格式):
signtool sign / f C:\ mycertificate.pfx / p mypfxpassword c:\ mycatfile.cat
  • 如果个人密钥安装在开发机器上:
signtool sign / n mycertificatename C:\ mycatfile.cat

4.在安装INF之前,将公共证书安装到目标Windows 8计算机上。

使用私钥对* .cat文件进行签名后,可以将* .inf文件,签署的* .cat文件和公共证书一起发布,以将证书链安装到“受信任的源CA('Trusted Root CA')”。如果是个人证书,则需要安装。如果证书是从CA获得的,则它已将信任安装为“受信任的源('Trusted Root')”。

安装证书的步骤:
  1. 右键单击公共证书(由第三方应用程序创建的* .cer),然后选择“ 安装证书”
  2. 在显示的对话框中,选择“ 本地计算机” ,然后按“ 下一步”
  3. 在以下对话框中,选择“ 将所有证书放在以下存储目录中” ,按“ 浏览”按钮,然后从列表中选择“ 受信任的源证书颁发机构 ”。
  4. 按“ 确定”返回导入向导,然后按“ 下一步” 。按完成 。出现确认对话框提示时按确定
要查看系统上安装的证书,请使用以下步骤:
  1. 运行mmc命令以启动Microsoft管理控制器
  2. 从菜单中选择文件»添加/删除管理单元...
  3. 在对话框中,单击“ 证书” ,然后按对话框中间的“ 添加”按钮。
  4. 在显示的对话框中,选择“ 计算机帐户”单选按钮,然后按“ 下一步”和“ 完成”
  5. 确定
在MMC中,现在您可以看到为当前用户安装的证书。导入的证书需要位于“受信任的源证书颁发机构”下。如果不是,您可以右键单击证书(当前用户) ,然后选择查找证书....一旦找到,您就可以复制(或剪切)并将其粘贴到受信任的源证书颁发机构下。

Additional Information

Windows 8(或更高版本)要求在将INF文件安装到计算机上之前对其进行签署。 Windows 7不需要这个。出于测试目的,如果您使用带有NI VISA的USB设备,则可以使用USB Instrument Control Tutorial页面上的说明下使用Windows 7。