【问题标题】:Intricacies of Windows driver signing (re-naming and re-signing OpenVPN tap driver)Windows 驱动程序签名的复杂性(重命名和重新签名 OpenVPN Tap 驱动程序)
【发布时间】:2012-11-09 05:17:45
【问题描述】:

我不清楚在我的具体情况下应该如何签署司机。

OpenVPN 有一个 Tap 驱动程序,由 tap0901.sys、tap0901.cat 和 OemWin2k.inf 文件组成。

当我在我的 64 位 win7 上使用“devcon install OemWin2k.inf tap0901”安装它时,它会静默安装,没有可怕的警告。

我将驱动程序重命名为不同的名称 ogtap100(通过将文件重命名为 ogtap100.sys、ogtap100.cat 并将 OemWin2k.inf 中的“tap0901”字符串替换为“ogtap100”,根据 http://community.openvpn.net/openvpn/wiki/ManagingWindowsTAPDrivers 和 OemWin2k 中的 cmets。 inf)。

但是,当我在重命名的驱动程序上运行“devcon install OemWin2k.info ogtap100”时,我收到来自 Windows 的可怕警告,即驱动程序来自未知来源。它会安装,但我计划将它作为我的应用程序的一部分发布,所以可怕的警告并不好。

当我运行“signtool verify /v ogtap100.cat”时,我得到:“SignTool 错误:已处理证书链,但在信任提供者不信任的根证书中终止。”即使它还说根证书“颁发给:DigiCert High Assurance EV Root CA”。

我尝试使用自己的证书重新签名 (signtool sign /f cert.pfx ogtap100.cat)(在签署常规 .exe 文件时有效),但我收到了同样可怕的警告。

我错过了什么?

会不会……与目录 (.cat) 文件有关吗?

我已经阅读了http://msdn.microsoft.com/en-us/windows/hardware/gg463050,但它假定我将自己生成 .cat 文件。我已经有来自 OpenVPN 的 .cat 文件。重命名文件和 OewmWin2k.inf 后是否必须重新生成它?如果是,怎么做?

【问题讨论】:

  • Krzysztof,这是一个老问题,但是您解决了您的驱动程序签名问题吗?我有一个非常相似的,想知道是自己构建和签署驱动程序还是有更简单的方法。

标签: windows driver openvpn


【解决方案1】:

1) 您是否确保您获得了高保证数字证书?他们发布的标准不适用于驾驶员。改变很简单... https://www.digicert.com/code-signing/driver-signing-in-windows-using-signtool.htm

2) 如果您下载 Windows 7 DDK 并做一些“阅读意图和代码”而不是仅仅按照说明进行操作,您可以成功构建自己的驱动程序(cat 和 sys 文件),正确重命名并签。 https://community.openvpn.net/openvpn/wiki/BuildingTapWindows

查看生成的 OemWin2k.inf 以获得一些重命名的强烈提示。注意:时间戳需要正确,并且是(荒谬的)mm/dd/yyyy格式。

3) 至于警告信息,至少您可以让它正确显示您的公司名称,并且 Windows 将接受(而不是禁用)正确签名的驱动程序。

【讨论】:

    【解决方案2】:

    有关驱动程序签名的详细信息,请查看 https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/0b00c9d4-dff9-4fbe-b741-768c9b39349c/practical-windows-code-and-driver-signing-discussion?forum=wdk

    这是一个指向一些参考文档的总结。从 inf 生成 .cat 文件很简单。

    查看语法和操作顺序。我也在使用 Digicert 证书。确保您有一张用于驱动程序签名的证书,并注意确保交叉证书正确。

    构建脚本使用 inf2cat 方法,因此,如果您遵循整个说明(并在设置中搜索 inf 未告诉您的内容...查找常量),那么您正在生成 . cat 文件。

    对于我的安装,我认为应该先对 .sys 文件进行签名,然后再生成 .cat 并对其进行签名。

    另外,请确保您的电脑已安装所有 Windows 更新。这实际上确实可以“修复”具有相同错误签名的电脑。 (它没有验证交叉证书所需的证书,它会自动下载。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-18
      • 1970-01-01
      • 2012-07-01
      • 1970-01-01
      • 2014-11-08
      • 2013-01-08
      • 1970-01-01
      相关资源
      最近更新 更多