如何签署我的驱动程序,以便它将安装在Windows 7 64位?

时间:2011-08-24 12:13:02

标签: windows-7 64-bit driver code-signing

我有一个内核模式驱动程序,我必须在64位Windows 7上安装。它需要进行数字签名。我使用dseo13b.exe对其进行了数字签名。但是当我加载驱动程序时,系统事件日志中出现错误:

  

由于以下错误,驱动程序无法启动:
  Windows无法验证此文件的数字签名。最近的硬件或软件更改可能安装了一个未正确签名或损坏的文件,或者可能是来自未知来源的恶意软件。

我不想使用testsigning模式。我该如何解决这个问题?我需要从Microsoft获得证书吗?

我开发了驱动程序,现在正在64位计算机上运行...

3 个答案:

答案 0 :(得分:4)

仅适用于64位版本:设置自签名

第1部分:创建和安装测试证书

  1. 启动提升的命令行shell(Vista及更高版本)。
  2. makecert.exe -r -pe -ss my -n“CN = MyTestCertificate”mytestcert.cer
  3. certmgr.exe -add mytestcert.cer -s -r localMachine root
  4. 启动certmgr.exe并检查“个人”和“受信任的根证书颁发机构”下是否列出了“MyTestCertificate”。
  5. 将mytestcert.cer文件保存在安全的地方。
  6. 第2部分:配置系统以运行测试签名代码(Vista及更高版本)

    1. 启动提升的命令行shell(Vista及更高版本)。
    2. 在提升的cmd.exe提示符下运行Bcdedit.exe -set TESTSIGNING ON。
    3. certmgr.exe -add mytestcert.cer -s -r localMachine root
    4. certmgr.exe -add mytestcert.cer -s -r localMachine trustedpublisher
    5. 重新启动。
    6. Vista:“测试模式”将出现在桌面的所有四个角落,“Microsoft(R)Windows(R)(Build 6000)”将出现在顶部。 Windows 7:“Test ModeWindows 7Build 7600”将出现在右下角。

答案 1 :(得分:3)

签署驱动程序的两个有用资源

Windows 7

Windows Server 2012 and Windows 8.1(kind of)

夏日:

1.从(Digicert或Verisign或预算中的任何地方)获取RSA证书,或者如果您只需要在计算机上安装证书,请自行创建证书

2.当您拥有证书时,您还将拥有私钥

3.为了分发驱动程序,您需要此证书可追踪,Microsoft使用称为“受信任的根证书颁发机构”的系统。现在还有其他权限提供证书,但是他们需要Windows更新来验证这些。键入certmgr.msc以获取列表。并寻找具有代码签名权限的

4.在该列表中添加证书或从该列表中获取证书

5.使用证书[在上面的链接中的详细信息]

指定驱动程序

6.现在分发驱动程序

互联网上有许多用于签署驱动程序的教程。 注意:如果您的公司可以设法支付

,WHQL是一个昂贵的选择

答案 2 :(得分:2)

您需要的只是一张受信任的证书(由VerisignThawte签名等)。

浏览这些资源: