乐于分享
好东西不私藏

免费软件正在被 Windows 一点点绞杀,我以为花500块买个微软证书就完事,结果 OV、EV、SmartScreen 根本不是一回事

免费软件正在被 Windows 一点点绞杀,我以为花500块买个微软证书就完事,结果 OV、EV、SmartScreen 根本不是一回事

做免费软件这些年,感觉最憋屈的不是写代码,而是用户双击 exe 那一刻冒出来的各种弹窗。最早是杀毒软件乱报毒,加白能凑合——毕竟国内杀毒软件的准确率你懂的 😂,大家一般也不太信它们。后来 Win10、Win11 开始拦未签名 exe,弹出那个蓝底白字的框,用户一看直接关掉,你解释“点更多→仍要运行”他也懒得看。我最近一直在想:实在不行就花钱买个微软代码签名证书吧,印象里一年 ¥500~600,签上名总该不弹了吧?得亏我还没买,仔细查了一圈才发现——我太天真了。

OV证书&EV证书,傻傻分不清楚

我原本以为“微软代码签名证书”就一种。毕竟 Win7 时代,我写驱动和写普通软件用的都是同一个证书进行签名,那时候 OV 证书也能签驱动,甚至在 Win10 早期(大概 1803 以前)实测还能用。虽然微软官方说 Win10(1607)之后就不行了,但实际还能签,这一点一直挺迷糊。

    后来 OV 证书彻底不能签驱动了,微软强制要求必须用 EV 证书。我一度以为 EV 是微软新出的东西,查了才发现:EV 证书早就有了,只是微软之前没强制,从 2021 年后才逐步收紧

    因为早期 EV 和 OV 用起来没啥区别,而且 EV 申请麻烦、价格贵,所以很多人(包括我)只知道“微软签名证书”,却不知道还分 OV 和 EV。

OV证书和EV证书到底有什么区别呢?

对比项
OV 代码签名
EV 代码签名
身份审核
验证企业/组织存在,1~3 工作日
深度尽调,3~7 工作日+
私钥存储
硬件令牌 / 云 HSM
强制 USB 硬件令牌,不可导出
签用户态应用
✅ 可以
✅ 可以
签内核驱动 / WHQL
❌ OV 做不到
✅ EV 是唯一入场券
企业合规背书
一般够用
国企/外企常硬性要求
个人开发者
部分 CA 支持个人(IV)
必须注册组织
SmartScreen 表现(2024 新规后)
⚠️ 弹未知信誉警告
⚠️ 一样弹,也要积累下载量
价格
500-1000
2000-5000
对比完发现就是你要写驱动就得是EV证书,只做应用层OV就够用了,但它俩都解决不了弹窗问题,
因为这个弹窗是另一回事情,叫SmartScreen。

SmartScreen是个啥

    SmartScreen是Microsoft Defender 的一部分,它不直接认证书,它认的是软件累计运行量,要让这家伙不弹框的条件是累计运行量到达一定规模,也就是用户点了仍要运行的机器数量,这里同一台电脑点击了多次仍运行是不重复上报的。
    对于有证书的程序,这个信誉度会被累计到证书上,对于没有签名的程序,会累计到这个程序的哈希上。但是具体要累计多少个,微软从未公开 SmartScreen 信誉的确切阈值,但通常需数百~数千次。
    未签名exe每发一个新版本哈希会变导致信誉完全重置,需要从零开始积累信誉。但是签名的程序发布了新的版本后,虽然会继承证书的信誉但也不是不弹框,只是不是从零开始累计信誉,也需要一些运行量才能消除。感觉横竖都是死。

不买证书,但大家别被吓跑了

    了解下来后感觉还是先不买证书了,免费软件本来就是用爱发现,不想每年给它交保护费,即便买了也不能完全解决问题。各位看到 SmartScreen 提示——放心,点「更多→仍要运行」就好,软件没毒。
感觉微软目前的签名规则应该是过于严苛,看看后续微软是否有调整计划吧。