普通网友 2026-02-27 11:45 采纳率: 98.7%
浏览 1
已采纳

CANTest-setup在Win11上安装驱动时提示“未签名驱动被阻止”,如何解决?

在Windows 11中安装CANTest-setup配套驱动时,常因驱动未通过微软数字签名认证而触发“未签名驱动被阻止”错误(如Code 52),导致CAN设备无法识别。根本原因是Win11默认启用内核模式代码完整性(KMCI)与驱动程序强制签名策略。常见临时解决方案包括:① 重启进入“禁用驱动程序强制签名”模式(开机按Shift+F8或通过msconfig→启动选项勾选);② 以管理员身份运行CMD执行 `bcdedit /set {current} testsigning on` 后重启(启用测试模式,桌面右下角将显示“测试模式”水印);③ 确保已关闭Secure Boot(部分OEM机型需进UEFI设置禁用)。⚠️注意:禁用签名验证会降低系统安全性,建议仅用于开发/测试环境,并优先联系CANTest厂商获取已签名新版驱动(如支持WHQL或EV签名)。长期应推动供应商完成微软硬件兼容性认证。
  • 写回答

1条回答 默认 最新

  • 祁圆圆 2026-02-27 11:45
    关注
    ```html

    一、现象层:典型错误表现与设备识别失败

    在Windows 11专业版/企业版中安装CANTest-setup配套驱动(如canusb.syspcanusb.sys等)时,设备管理器常报错“Windows 无法验证此设备所需的驱动程序的数字签名”(错误代码 0x00000052 / Code 52)。此时CAN适配器显示为“未知设备”或带黄色感叹号,WinPCAP/NPCAP底层通信链路中断,上位机软件(如CANoe、CANalyzer或自研LabVIEW/C#应用)无法枚举物理通道。

    二、机制层:内核安全策略的三重强制约束

    Windows 11默认启用以下三项深度安全机制,共同构成驱动加载的“签名铁壁”:

    • KMCI(Kernel-Mode Code Integrity):运行时校验所有内核模块哈希值,拒绝未签名或签名链不完整代码进入Ring 0;
    • Driver Signature Enforcement (DSE):启动阶段由Secure Boot和Boot Manager联合执行,拦截未通过微软EV或WHQL认证的.sys文件;
    • UEFI Secure Boot:验证引导过程完整性,若启用则进一步阻止testsigning模式下的非微软信任根加载。

    三、诊断层:精准定位签名失败根源

    执行以下命令组合可快速归因:

    signtool verify /v /kp "C:\Program Files\CANTest\Drivers\canusb.sys"
    certutil -verify "C:\Program Files\CANTest\Drivers\canusb.sys"
    driverquery /v | findstr "canusb"

    重点关注输出中的Signer Certificate Chain是否包含Microsoft Windows Hardware Compatibility Publisher,以及Signature Level是否为UnsignedTestSign

    四、临时方案层:三种技术路径对比分析

    方案生效范围持久性安全影响适用场景
    禁用驱动强制签名(Shift+F8)单次启动会话❌ 重启即失效⚠️ 中风险(仅当次绕过DSE)紧急调试、一次性设备验证
    启用测试模式(bcdedit /set {current} testsigning on全系统级✅ 持久,需手动关闭⚠️ 高风险(允许任意test-signed驱动)嵌入式开发实验室、CI/CD构建节点
    关闭Secure BootUEFI固件层✅ 持久,BIOS设置保留⛔ 极高风险(破坏整个启动信任链)OEM定制工控机、无TPM2.0的老平台

    五、工程实践层:安全可控的部署流程

    推荐采用分阶段、可审计的实施路径:

    1. 使用PnPUtil /add-driver预注册驱动并捕获SetupAPI.dev.log日志;
    2. 验证驱动INF文件中CatalogFile字段指向有效.cat文件;
    3. 调用Inf2Cat /driver:. /os:10_R2,11_X64生成兼容Win11的目录文件;
    4. 通过MakeCert + SignTool构建本地测试签名链(仅供内部环境);
    5. 最终交付前必须完成WHQL认证或采购EV代码签名证书进行云签名。

    六、架构治理层:驱动生命周期管理全景图

    graph LR A[CANTest硬件发布] --> B{驱动是否含微软签名?} B -->|否| C[启动供应商合规升级流程] B -->|是| D[自动注入Windows Update Catalog] C --> E[申请WHQL测试套件
    (HLK v2303+)] C --> F[获取EV证书
    (DigiCert/Sectigo)] E --> G[提交至Windows Hardware Dev Center] F --> G G --> H[获得Microsoft-signed .cat
    & WHQL徽标] H --> I[集成至CANTest-setup v2.8+安装包]

    七、合规建议层:面向ISO/IEC 27001与GDPR的技术响应

    在金融、医疗、车规级工业系统中,禁用签名验证将直接违反:

    • ISO/IEC 27001 A.8.2.3 “恶意软件控制”条款;
    • GDPR第32条“适当技术与组织措施”要求;
    • IEC 62443-3-3 SL2级“安全开发生命周期”强制项。

    因此,IT运维团队应将“驱动签名状态”纳入CMDB资产属性字段,并通过Intune或SCCM定期扫描driverquery /si输出结果,自动触发告警工单。

    ```
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 2月28日
  • 创建了问题 2月27日