zoukankan      html  css  js  c++  java
  • 怎样验证软件是否可信?是否被篡改?

    证书除了可以用来验证某个网站,还可以用来验证某个文件是否被篡改。软件开发者需要购买代码签名证书给发布的软件签名,来验证软件代码的来源与完整性。后面专门告诉大家如何验证文件的数字签名。就拿 Windows 的例子来说吧。

    比如,俺手头有一个 Firefox 的安装文件(带有数字签名)。当俺查看该文件的属性,会看到如下的界面。眼神好的同学,会注意到到上面有个“数字签名”的标签页。如果没有出现这个标签页,就说明该文件没有附带数字签名。

    选择该标签页,看到如下界面。

    顺便说一下,某些数字签名中没有包含“邮件地址”,那么这一项会显示“不可用”;同样的,某些数字签名没有包含“时间戳”,也会显示“不可用”。不要紧张,这里显示的“不可用”跟数字签名的有效性没关系

    一般来说,签名列表中,有且仅有一个签名。选中它,点“详细信息”按钮。跳出如下界面:通常这个界面会显示一行字:“该数字签名正常”(图中红圈标出)。如果有这行字,就说明该文件从出厂到你手里,中途没有被篡改过(是原装滴、是纯洁滴)。

    如果该文件被篡改过了(比如,感染了病毒、被注入木马),那么对话框会出现一个警告提示“该数字签名无效”(图中红圈标出)。界面如下:

    不论签名是否正常,你都可以点“查看证书”按钮。这时候,会跳出证书的对话框。如下:

    从后一个界面,可以看到俺刚才说的证书信任链。图中的信任链有3层:

    第1层是根证书(Thawte Premium Server CA)。

    第2层是 Thawte 专门用来签名的证书。

    第3层是 Mozilla 自己的证书。 

    目前大多数知名的公司(或组织机构),其发布的可执行文件(比如软件安装包、驱动程序、安全补丁),都带有数字签名。你可以自己去看一下。

    建议大伙儿在安装软件之前,都先看看是否有数字签名?如果有,就按照上述步骤验证一把。一旦数字签名是坏的,那可千万别装。

  • 相关阅读:
    C#调用存储过程带输出参数或返回值
    车辆售票坐位图
    C#操作SQL Server通用类
    Java基础知识总结
    Maven 安装与配置
    读取文件内容
    复制一个文件
    求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
    输入一个递增的顺序排序的二维数组和一个整数,判断数组中是否含有该整数
    在由N个元素构成的集合S中,找出最小元素C,满足C=A-B,其中A,B是都集合S中的元素,没找到则返回-1
  • 原文地址:https://www.cnblogs.com/TIlifeng/p/5394116.html
Copyright © 2011-2022 走看看