在开发完一个驱动程序后,我遇到了Windows系统的驱动程序拦截问题。由于驱动程序没有数字签名,Windows会阻止其安装或者在用户安装时弹出警告信息。这是因为Windows操作系统对于未签名的驱动程序存在安全风险,因此要求驱动程序必须经过数字签名才能顺利安装和运行。
为了通过Windows的安全检查,我决定给驱动程序加上数字签名(我自己有点底子)。我需要如下两个重要步骤:
- EV代码签名证书(Extended Validation Code Signing Certificate)
- WHQL认证(Windows Hardware Quality Labs)
第一步获得EV代码签名证书
在网上了解了许多EV代码签名证书品牌,功能都大差不差,我选择了个价格相对实惠的Certum,找Certum中国的代理商上海环度购买了一个1年的EV代码签名证书,第一天给的资料,证书第二天下来的,整体上效率还不错。
第二步创建WHQL账号
为了通过微软的WHQL认证,首先需要创建一个WHQL账号,并且提交我的驱动程序给微软进行验证和签名。不得不说,注册账号这个过程现在真的很麻烦,除了要用EV证书对相关的文件签名之外,还需要提供信用卡信息。
第三步提交驱动程序给微软
驱动程序准备好后,我将其打包并通过微软的硬件验证工具提交给微软,过程也很繁琐,总之,可以理解为现在微软对签名的门槛和要求都提高了不少。
第四步获得微软签名
经过测试和审核后,微软确认我的驱动程序通过了所有的测试,并给我的驱动程序添加了官方的WHQL签名。此时,我的驱动程序已经可以在Windows系统上顺利安装,并且不再受到拦截。
经过微软的签名认证后,用户在安装时不会再收到“未签名驱动程序”警告,提高了用户信任度。
通过这个过程,我成功为我的驱动程序加上了数字签名,解决了Windows系统对未签名驱动程序的拦截问题。购买EV代码签名证书和通过微软的WHQL认证是确保驱动程序在用户系统中安全安装的有效方法。
热门跟贴