软件签名

软件签名深度解析

在探讨“软件签名”这一术语时,我们不难发现,它更倾向于是一个专属于软件开发与安全领域的关键词,而非简单地归类于APP词、游戏攻略词或下载词。软件签名,作为软件发布与安全验证的重要环节,对于保障软件完整性、真实性和来源可信度具有不可替代的作用。

为什么安装软件会显示签名不一致呢?

当安卓手机安装软件提示签名冲突时,用户需要卸载已经安装的旧版本应用,然后安装新版本应用即可。

签名冲突通常是由于同一个应用的不同版本使用了不同的签名证书,导致安卓系统无法验证应用的完整性,从而提示签名冲突。下面我们将详细介绍如何解决这个问题。

1. 卸载旧版本应用

当安卓手机提示签名冲突时,首先需要卸载已经安装在手机上的旧版本应用。这是因为旧版本应用使用的签名证书和新版本不一致,导致无法直接覆盖安装。卸载过程很简单,只需长按应用图标,然后拖动到“卸载”按钮上即可。或者,在“设置”菜单的“应用管理”中找到该应用,点击“卸载”按钮。

2. 安装新版本应用

卸载旧版本应用后,需要从正规渠道下载并安装新版本应用。请确保下载的APK文件来源可靠,以免感染恶意软件。安装过程中,系统会提示是否允许安装未知来源应用,请勾选“允许”选项。安装完成后,打开应用,连接服务器并登录账号,即可开始使用新版本应用。

安卓手机安装软件提示签名冲突是因为不同版本应用使用了不同的签名证书。解决这个问题的方法是卸载旧版本应用,然后安装新版本应用。请确保从正规渠道下载APK文件,并在安装过程中允许安装未知来源应用。

什么是软件的数字签名?

每当文件以数字方式被创建时,无论它们是媒体文件、可执行文件,电子文档还是其他任何文件形式,都会由该数据源对其进行数字签名。例如, 当 Google Chrome 浏览器发布的是一个可执行安装文件时, 谷歌就会将其打上数字签名。因此, 只要文件直接从官方来源下载,就可以验证此文件的真实性。

简单来说,就是知名的 ISV 在发布软件时,一般都会打上自己专属的数字签名。用户可以通过查看数字签名的方式来确定软件开发商、发布时间等信息。一但应用被篡改,软件数字签名信息就会被破坏,这样就可以在一定程度上保证用户获取到应用程序的安全。

下面我们就介绍在 Windows 10/8/7 中检查或验证软件数字签名的几种方法。

手动查看软件数字签名

在 Windows 中检查应用程序数字签名最简单的方法就是直接查看,这种方法属于 Windows 自带功能,无需其它第三方工具:

1打开「资源管理器」——找到需要验证软件的 .exe 可执行文件——右击选择「属性」

2在弹出的「XXX 属性」对话框中点击「数字签名」选项卡

在「签名列表」中看到的条目表示您的文件是经过数字签名的,在此也可以查看到签名者是谁、采用了何种加密摘要算法和时间戳。

3可以双击任何这些条目来查看有关签名机构的更多详细信息。因此,您可以知道该文件是否由软件的原始 ISV 签署。

4此外在「数字签名详细信息」视图中,可以点击「查看证书」按钮查看有关签名附带证书的更多详细信息。

使用DigiCert Certificate Utility验证软件数字签名

DigiCert Certificate Utility 是由国际知名证书服务供商 DigiCert 发布的一款专业、多功能证书工具,对软件数字签名进行检查和验证也是其功能之一。由于是绿色软件,只需下载之后打开并接受使用条款就可以使用。

1点击左侧栏中「Code Signing」代码签名按钮——点击右上角最左边的「Check Signature」检查签名按钮。

2在弹出窗口中选择要验证的 .exe 可执行文件

此时 DigiCert 证书工具会自主检查签名并在打开的新窗口中显示整个信息摘要。DigiCert 小工具会自动验证如下 2 方面的信息: 如果文件已签名,则验证签名是否有效。 检查签名的时间戳。其它方法 微软随 Windows SDK 发布了一个名为 SignTool 的小工具,它可用于对文件进行数字签名,以及验证文件和时间戳文件中的签名。 Sysinternals 工具箱中的 SigCheck 命令行工具也是可以帮助我们分析文件是否拥有数字签名的一个小工具,它还可以对比 VirusTotal 进行检查,以方便我们找出恶意软件。