繁体   English   中英

Sign Windows x64驱动程序-系统找不到指定的文件

[英]Sign Windows x64 Driver - The system cannot find the file specified

我有SafeNet令牌,其中包含2个证书(不导出私钥),一个是sha256 EV代码证书,另一个是sha1 EV代码证书。

我使用signtool对驱动程序进行了签名:

Signtool登录/ v / s我的/ n“ my_company” / sha1 my_sha256_hash / t http://timestamp.verisign.com/scripts/timestamp.dll mydriver.sys

当我尝试加载驱动程序时,出现一个错误,提示系统找不到指定的文件,我使用Depends查看驱动程序,一切正常。

当我运行signtool验证mydriver.sys时,出现以下错误:SignTool错误:证书链已处理,但终止于信任提供者不信任的根证书。

我也尝试使用相关的二进制文件对cat文件进行签名,但是仍然没有运气。

我已经阅读过一个名为WHQL的程序,最终该程序会给Microsoft我“签名”好的驱动程序,仅适用于Windows Update发行版吗? 还是没有必要在Windows 7 x64及更高版本中运行我的驱动程序?

您需要让Microsoft对驱动程序进行签名才能在任何地方运行,但是如果您自己正确进行签名,则几乎可以在任何地方运行。 在安全启动模式下运行的Windows 10 / Server 2016将需要MSFT已签名的驱动程序,这将需要使用WHQL或Windows 10证明签名。 请查看sysdev.microsoft.com上的仪表板,以获取有关这两项的更多信息。

未签名的驱动程序通常不会给您一个找不到文件的错误,因此您可能在看错东西。 确保已正确注册驱动程序以从正确的路径加载。 使用procmon来检查它是否可以正确找到该文件。

一旦确定了相关内容,此链接可能是使您开始签名的好地方: https : //www.osr.com/nt-insider/2016-issue1/today-in-driver-signing/

不幸的是,要弄清楚驾驶员签名是一条漫长而痛苦的道路。 :(

使用globalsign时,我需要将根证书用于带有/ ac参数的内核驱动程序(更多信息在这里https://support.globalsign.com/customer/portal/articles/1491089-kernel-mode-driver-signing-%E2 %80%93-windows-7-8 )也许您需要与veriysign类似的东西。

“ ... Windows 7 x64及更高版本”:这取决于您在驱动程序中使用的API,以及是否为x64。 对于win32,您需要构建一个win32驱动程序。 在大多数Windows版本上,您可以在启动选项中禁用驱动程序签名检查。 这样做会告诉您它是否真正与签名相关。 使用未签名和已签名的驱动程序运行它。

“当我尝试加载驱动程序时...”:首先检查注册表(HKLM:\\ system \\ currentcontrolset \\ services \\)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM