分享如何拥有一份私人的『开源代码签名证书』 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
xmuli
V2EX    分享创造

分享如何拥有一份私人的『开源代码签名证书』

  •  
  •   xmuli 2024-01-09 19:03:05 +08:00 3251 次点击
    这是一个创建于 725 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如何购买私人的『开源代码签名证书』的分享!!

    简 述: 讲解如何购买一份私人的代码签名证书,且还是『开源代码签名证书』→

    Open Source Code Signing Certificate

    当自己写的软件开发完毕后,若想进行商店软件发布,则下一步需要搞定『代码签名证书』。给你的 EXE 标记一个戳,写上一个被 Microsoft 所认证的签名。

    尤其是现在签名证书疯涨的这两年,让大家的程式也都能签上名。将 49 证书的方法分享一下,即使买 EV 证书,也远远比许多代理便宜的多。虽,但还是喜欢喜欢互联网的分享精神。


    代码签名证书的作用

    代码签名证书( Code Signing Certificates )是什么?有什么用?

    1. 运行程序时候,UAC 弹窗( User Account Control )上面会显示 “发布者( Publisher )” 的名字;
    2. 用户下载 EXE/DLL 之后,通过查看属性签名,可以确保是该发布者发布的,未经过任何篡改
    3. 上架 Microsoft Store 时候,必须要有被 Microsoft 所认可的的签名证书;反之则会被拒。一些三方商城同理。

    代码签名证书的分类

    证书分为三类

    • EV 代码签名:企业级别,价格最昂贵,无需积累任何信誉,就可以直接通过 Microsoft Defender SmartScreen,不会触发此弹窗或者误杀;申请门槛也随最高的,需要提交公司执照等有效信息。
    • Standard 代码签名:标准代码签名,价格相对 EV 便宜许多,也支持个人申请,理想的个人推荐;初次运行,会 Microsoft Defender SmartScreen 弹窗提示,当程序被足够多的用户使用后,在 Windows 中积累的信誉足够多,后面也不会弹出此弹窗。
    • Open Source 代码签名:开源作者代码签名,价格最低,目前还能提供的厂商,都是人类文明之光,申请条件为开源的个人开发者。相传,在很多年前,这种证书各大厂商都是免费提供的,但随着 Window 系统 xp -> 7/8/10/11 的变迁,出于系统级的安全设计考虑,诞生出 “User Account Control” 弹窗;以及信任和不信任,还有证书的高昂,现如今基本没有厂商提供了此类证书。

    Code Signing Certificates 的价格 / 年;

    Signing in the Cloud Signing - code Signing - set
    EV 379 329 359
    Standard 189 129 159
    Open Source 49 25 69

    注:购买实物的时候,还会有约 35 的运费 + 23% 的税费,默认是 DHL 快递。

    代码签名证书的购买

    现代 (2024 年) 的签名证书购买 ,分为两类;

    • 云上: 手机上使用 OTP + PC 联网条件

    • 本地: 实体的 cryptographic card + card reader ;

      • 一种是大的密码卡片 + 大的读卡器

      • 另一种是类似于手机卡卡片 + USB 读卡器

    在线付款有较大概率性会被拒;手机提示信用卡支付成功,但是网站提示交易失败。通常等待三天左右,会自动原始账单返回,但是由于汇率和莫名的手续费,每次失败会损失约 ¥ 20 。可尝试切换支付方式或信用卡和切换节点。

    如何签名

    因我购买的是开源代码签名证书,其支持以下数字签名:

    • UNIX/Linux 软件
    • Firefox 和 Netscape 的扩展
    • Java 小程序
    • 基于 JAVA 技术的互联网应用
    • ActiveX 组件和控件
    • 二进制文件 (.exe .dll 等)

    步骤如下:

    1. 付款成功

    2. 激活账号

    3. 验证本人以及开源开发者的身份

    4. 等待验证通过邮件,和按照邮件提示操作,里面的二维码都是是一次性的,一口气按照操作提示好

    5. 下载 SimplySign Desktop ,,使用签名工具时必须联网验证身份 token ;

    6. 使用 signtool + CMD 进行签名

      1. 打开 SimplySign Desktop 输入验证后,通过调用 Windows 自带的 signtool.exe 工具,来实现对 EXE / DLL 的签名;参数如下

        > signtool.exe Valid commands: sign -- Sign files using an embedded signature. timestamp -- Timestamp previously-signed files. verify -- Verify embedded or catalog signatures. catdb -- Modify a catalog database. remove -- Remove embedded signature(s) or reduce the size of an embedded signed file. 
      2. 输入如下命令签名,盖上自己的章

    7. 查看 EXE 属性,确认签名成功;最后对 EXE 签名成功,右键属性可查看到。

    上架 Microsoft Store

    当签上名后,就可上架 Microsoft Store ;也可以上架三方 XX 软件管家/ 商城,但通常需要提供软著和额外的其它文件。

    这部分下次有空时,另单独写一篇,详细介绍上架流程全程;

    下载地址:GitHub ,这是一个 ChatGPT 免费使用的跨平台客户端;更多介绍参见官网 thinkymate.com



    NOTE: 未经许可,禁止转载。


    第 1 条附言    2024-01-10 11:50:03 +08:00
    收藏数激动,感谢数使得又平静了下来。[摸摸猫咪]
    23 条回复    2025-11-17 14:22:20 +08:00
    icedx
        1
    icedx  
       2024-01-09 19:22:21 +08:00
    驱动能签吗
    xmuli
        2
    xmuli  
    OP
       2024-01-09 19:25:18 +08:00
    @icedx 记得驱动得 EV 证书才行
    icedx
        3
    icedx  
       2024-01-09 19:31:05 +08:00
    @xmuli 相比其他家的也不便宜 (
    xmuli
        4
    xmuli  
    OP
       2024-01-09 19:36:51 +08:00
    @icedx 比市面上得代理低价一大截;标准首家的比企业证书还昂贵。
    chutianyao
        5
    chutianyao  
       2024-01-09 19:38:18 +08:00   1
    不错的经验,感谢分享
    paopaosa
        6
    paopaosa  
       2024-01-09 21:05:16 +08:00
    如果是 UWP 写的,应该不需要这一步操作了吧。这是针对 win32 的程序吧?
    xmuli
        7
    xmuli  
    OP
       2024-01-09 21:09:19 +08:00 via iPhone
    @chutianyao 嘿哈,
    xmuli
        8
    xmuli  
    OP
       2024-01-09 22:17:28 +08:00 via iPhone
    @paopaosa 蒽,exe 可以转 uwp ,使用 ms 账号微软会自动给其签名。
    lstz
        9
    lstz  
       2024-01-10 17:37:26 +08:00 via iPhone
    如果不代码签名,就不能上 Microsoft store 吗?我记得好像 Microsoft store 只要 20 美元注册费就可以了
    xmuli     10
    xmuli  
    OP
       2024-01-10 17:44:25 +08:00
    是的,必须要注册账号,还要有 Microsoft 所认可的代码签名;且还要能过 Defender SmartScreen ; 然后 SmartScreen 的提示有好几种,都要过
    Nile20
        11
    Nile20  
       2024-01-10 19:10:29 +08:00
    感谢分享,我也曾想过给自己的项目搞个证书,但是价格高昂放弃了。这是我看到的第一个比较低成本的总结,但是瞄了算了一下价格还是放弃了毕竟项目纯为爱发电
    xmuli
        12
    xmuli  
    OP
       2024-01-15 15:16:47 +08:00 via iPhone   1
    @Nile20 这种每个月签名次数 5000 次/月。个人项目多的用不完。想体验也可以帮你代签体验下。
    ykk
        13
    ykk  
       2024-01-23 22:55:04 +08:00
    有 EV 签名代签吗? 急需
    xmuli
        14
    xmuli  
    OP
       2024-01-24 12:06:38 +08:00 via iPhone
    @ykk 驱动认证,可找一些 WHQL 小的实验室给你们过,费用约 1w /次
    xmuli
        15
    xmuli  
    OP
       2024-01-24 12:11:44 +08:00 via iPhone
    @ykk EXE / DLL 临时 EV 签可以找某宝试试,一般几百米/次,没试过。 驱动签不推荐用此方法。
    ykk
        16
    ykk  
       2024-01-24 17:54:41 +08:00
    @xmuli #15 thanks 打算自己买 EV 过 WHQL 了
    hello123kitty
        17
    hello123kitty  
       2024-02-15 10:13:07 +08:00
    你这个是在哪买的呢?有推荐的吗?
    xmuli
        18
    xmuli  
    OP
       2024-03-04 15:08:58 +08:00
    @hello123kitty certum 家的 (邮件已回)
    chord
        19
    chord  
       2024-05-11 20:58:03 +08:00
    @xmuli 不是开源的项目可以用开源代码证书不?哈哈哈
    xmuli
        20
    xmuli  
    OP
       2024-05-14 18:16:35 +08:00 via iPhone
    @chord 也可以签名上
    yanqian
        21
    yanqian  
       2024-10-11 19:38:50 +08:00
    我对这个 timestamping service 的地址有点好奇,这个地址是要和特定证书 CA 有关么?还是通用的服务?
    比如我用自己的一个证书给程序签名,也可以用你发的 timestamp 服务地址么?
    yanqian
        22
    yanqian  
       2024-10-11 20:31:44 +08:00
    (好像自己回的帖子自己也无法修改)
    我刚才测试了,timestamp server 就是通用的,发现可用的都可以指定来用,没有特别的绑定关系。
    CeerDecy
        23
    CeerDecy  
       47 天前
    哥,你是咋买的呀。我啥我付款的时候提示 invalid country code ,我填的是中国地址
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3356 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 05:01 PVG 13:01 LAX 21:01 JFK 00:01
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86