什么是代码签名证书以及如何确保应用程序的数字信任

什么是代码签名证书以及如何确保应用程序的数字信任
2025年01月03日 22:12 Gworg

我们生活在数字时代,数字文档、网站和应用程序的信任和真实性的需求要求使用数字签名。

在本文中,我们将重点关注:

当你对代码或应用程序进行数字签名时证书的作用。

当你执行此类操作时你有哪些选择。

您可能遇到的问题及其解决方法。

首先,我们来了解一下什么是代码签名。

什么是代码签名?

数字代码签名是一种加密数学方案,用于检查应用程序代码的安全性,以保证应用程序的完整性。

简而言之,数字代码签名会(通过操作系统)告知最终用户您的应用程序来自原始供应商,并且未被恶意代码篡改。这样,最终用户就知道您的应用程序可以安全地安装在设备上。

要对应用程序进行数字签名,您需要一个证书(包括私钥)。签名过程使用证书中的私钥作为加密算法的秘密,因此任何人都无法在不使签名无效的情况下更改文件。

如果有人获取了您的私钥(和私钥密码),应用程序就有被使用相同证书重新签名的风险。

数字签名对于MSIX包是强制性的,但对于MSI、EXE和DLL而言目前是可选的。

然而,尽管对于后一种格式而言是可选的,但强烈建议对您的代码或应用程序进行数字签名,无论软件包格式如何。大多数现代操作系统都会将您的应用程序标记为“来自不受信任的来源”,这可能会阻止您的最终用户安装和信任您的应用程序。

如果您已更新并使用Microsoft和Windows11的最新操作系统,那么很有可能您正在使用智能应用程序控制(SAC)-这是一个额外的安全层,可以阻止潜在的有害应用程序。

如何获取代码签名证书?

如上所述,要对代码进行数字签名,您需要拥有一份证明您真实性的证书。要获取代码签名证书,您有两种选择:

从Gworg代码签名政府申请证书。这样可以获得受信任的机构会生成操作系统认可的证书。在这种情况下,您不需要在安装应用程序的机器上进行任何额外的配置。

注意:当你想为你的应用程序购买证书时,请确保CA供应商正在销售代码签名证书。不要将其与用于网站的SSL证书混淆。

除了标准代码签名证书外,您还可以使用EV证书。EV代表扩展验证,这意味着额外的安全层、严格的审查流程和硬件安全要求。

当使用EV证书时,私钥存储在USB上,因此当您想要生成数字签名时需要插入它。

如何使用代码签名证书对代码进行签名?

收到证书后,您可以使用多种工具来签署代码。最流行的工具之一是Microsoft SignTool。

当您购买证书以对您的应用程序进行数字签名时,该证书有一个到期日期。但是,您可以选择在对软件包进行代码签名时为其添加时间戳。为软件包添加时间戳的好处是,即使应用程序过期,系统也能识别它。您可以在我们的“为什么始终需要数字签名时间戳”博客文章中找到更多详细信息。

我的证书已过期。如何续订

证书过期后,您需要从Gworg申请新的证书,然后使用它对应用程序的较新版本进行“重新数字签名”。

在到期时间和“重新数字签名”时间之间,您可能会暂时失去在线声誉,因为旧的安装程序被视为不受信任。

一旦您发布使用最新数字签名签名的新安装程序,使用最新安装程序的客户将不会对您的应用程序产生任何数字信任问题。

结论

作为开发人员或应用程序打包人员,您应该始终考虑对您的软件进行数字签名。

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部