V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
xmuli
V2EX  ›  分享创造

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

  •  
  •   xmuli · 348 天前 · 2339 次点击
    这是一个创建于 348 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    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 条附言  ·  347 天前
    收藏数激动,感谢数使得又平静了下来。[摸摸猫咪]
    22 条回复    2024-10-11 20:31:44 +08:00
    icedx
        1
    icedx  
       348 天前
    驱动能签吗
    xmuli
        2
    xmuli  
    OP
       348 天前
    @icedx 记得驱动得 EV 证书才行
    icedx
        3
    icedx  
       348 天前
    @xmuli 相比其他家的也不便宜 (
    xmuli
        4
    xmuli  
    OP
       348 天前
    @icedx 比市面上得代理低价一大截;标准首家的比企业证书还昂贵。
    chutianyao
        5
    chutianyao  
       348 天前   ❤️ 1
    不错的经验,感谢分享
    paopaosa
        6
    paopaosa  
       348 天前
    如果是 UWP 写的,应该不需要这一步操作了吧。这是针对 win32 的程序吧?
    xmuli
        7
    xmuli  
    OP
       348 天前 via iPhone
    @chutianyao 嘿哈,
    xmuli
        8
    xmuli  
    OP
       348 天前 via iPhone
    @paopaosa 蒽,exe 可以转 uwp ,使用 ms 账号微软会自动给其签名。
    lstz
        9
    lstz  
       347 天前 via iPhone
    如果不代码签名,就不能上 Microsoft store 吗?我记得好像 Microsoft store 只要 20 美元注册费就可以了
    xmuli
        10
    xmuli  
    OP
       347 天前
    是的,必须要注册账号,还要有 Microsoft 所认可的代码签名;且还要能过 Defender SmartScreen ; 然后 SmartScreen 的提示有好几种,都要过
    Nile20
        11
    Nile20  
       347 天前
    感谢分享,我也曾想过给自己的项目搞个证书,但是价格高昂放弃了。这是我看到的第一个比较低成本的总结,但是瞄了算了一下价格还是放弃了🤣毕竟项目纯为爱发电
    xmuli
        12
    xmuli  
    OP
       342 天前 via iPhone   ❤️ 1
    @Nile20 这种每个月签名次数 5000 次/月。个人项目多的用不完。想体验也可以帮你代签体验下。🤣🤣
    ykk
        13
    ykk  
       334 天前
    有 EV 签名代签吗? 急需
    xmuli
        14
    xmuli  
    OP
       333 天前 via iPhone
    @ykk 驱动认证,可找一些 WHQL 小的实验室给你们过,费用约 1w /次
    xmuli
        15
    xmuli  
    OP
       333 天前 via iPhone
    @ykk EXE / DLL 临时 EV 签可以找某宝试试,一般几百米/次,没试过。 驱动签不推荐用此方法。
    ykk
        16
    ykk  
       333 天前
    @xmuli #15 thanks 打算自己买 EV 过 WHQL 了
    hello123kitty
        17
    hello123kitty  
       311 天前
    你这个是在哪买的呢?有推荐的吗?
    xmuli
        18
    xmuli  
    OP
       293 天前
    @hello123kitty certum 家的 (邮件已回)
    chord
        19
    chord  
       225 天前
    @xmuli 不是开源的项目可以用开源代码证书不?哈哈哈
    xmuli
        20
    xmuli  
    OP
       222 天前 via iPhone
    @chord 也可以签名上
    yanqian
        21
    yanqian  
       72 天前
    我对这个 timestamping service 的地址有点好奇,这个地址是要和特定证书 CA 有关么?还是通用的服务?
    比如我用自己的一个证书给程序签名,也可以用你发的 timestamp 服务地址么?
    yanqian
        22
    yanqian  
       72 天前
    (好像自己回的帖子自己也无法修改)
    我刚才测试了,timestamp server 就是通用的,发现可用的都可以指定来用,没有特别的绑定关系。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   943 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:43 · PVG 06:43 · LAX 14:43 · JFK 17:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.