windows - Windows 驱动程序签名的复杂性(重命名和重新签名 OpenVPN tap 驱动程序)

标签 windows driver openvpn

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

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

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

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

但是,当我在重命名的驱动程序上运行“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 后是否必须重新生成它?如果是,如何?

最佳答案

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 将接受(而不是禁用)正确签名的驱动程序。

关于windows - Windows 驱动程序签名的复杂性(重命名和重新签名 OpenVPN tap 驱动程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13485070/

相关文章:

java - 保存软件的安装目录

windows - 通过 CMD 和 PowerShell 终端提示符链执行复杂指令

Windows 位图 : BITMAPV5HEADER and BITMAPINFO compatible?

android - 如何使 Windows ADB 驱动程序像现有的 Linux ADB 驱动程序一样简单?

node.js - 如何在nodejs中使用openvpn?

c++ - 是否可以在没有密码的情况下使用 LogonUser API?

Wix 3驱动包安装问题

windows - 如何从一个进程快速切换到另一个进程?

macos - 打开VPN : connect error: Missing External PKI alias

docker - 带有 OpenVPN/privateinternetaccess.com 端口转发的 Docker 容器内的传输守护进程