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

362 天前
 xmuli

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

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

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: 未经许可,禁止转载。


2376 次点击
所在节点    分享创造
22 条回复
yanqian
86 天前
我对这个 timestamping service 的地址有点好奇,这个地址是要和特定证书 CA 有关么?还是通用的服务?
比如我用自己的一个证书给程序签名,也可以用你发的 timestamp 服务地址么?
yanqian
86 天前
(好像自己回的帖子自己也无法修改)
我刚才测试了,timestamp server 就是通用的,发现可用的都可以指定来用,没有特别的绑定关系。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1007271

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX