文章转自:https://www.fadada.com/notice/detail-400.html
数字证书是什么?
数字证书是目前国际上最成熟并广泛应用的信息安全技术。数字证书以密码学为基础,采用数字签名、数字信封、时间戳服务等技术,在Internet上建立起有效的信任机制。它主要包含证书所有者的信息、证书所有者的公开密钥和证书颁发机构的签名等内容。通俗而言,数字证书就是个人或单位在网络上的身份证。
CA认证机构是什么?CA证书是什么?
所谓认证机构(CA,Certificate Authority),是采用公开密钥基础技术,专门提供网络身份认证服务,负责签发和管理数字证书,且具有权威性和公正性的第三方信任机构。CA的作用类似于我们现实生活中颁发证件的机构,如身份证办理机构等。
CA 证书,顾名思义,就是CA颁发的证书。人人都可以找工具制作证书。但是你一个小破孩制作出来的证书是没啥用处的。因为你不是权威的CA机关,你自己搞的证书不具有权威性。
CA证书的作用?
作用一,验证你打开的HTTPS网站是不是可信
大家是否遇到过,在访问某些敏感的网页(比如用户登录的页面)时,其协议都会使用 HTTPS 而不是 HTTP。因为 HTTP 协议是明文的,一旦有坏人在偷窥你的网络通讯,你的密码、银行帐号等网络通讯内容就会泄露出去;但是HTTPS 是加密的协议,可以保证你的信息在传输过程中,坏人无法偷窥。所以,HTTPS 协议除了有加密的机制,还有一套证书机制。通过证书来确保某个站点确实就是某个站点。
有了证书之后,当你的浏览器在访问某个 HTTPS 网站时,会验证该站点上的 CA 证书。如果浏览器发现该证书没有问题,那么页面就直接打开;否则的话,浏览器会给出一个警告,告诉你该网站的证书存在问题,是否继续访问该站点?
大多数知名的网站都会使用 HTTPS 协议,其证书都是可信的。如果你上某网站,发现浏览器跳出警告,一定要小心,这个网站可能是钓鱼网站哦!
验证:简书的登录页是使用https协议,而内容页是http协议。
咦?这里没显示协议名称啊?
复制出来看下就知道了,就是http://www.jianshu.com/u/ff2903c0af37,因为http协议浏览器默认不显示,个人猜测原因是使用非常普及,因此就不显示了。展示出来的往往是希望人们注意的东西。
作用二,验证你所安装的文件是不是遭到篡改
你所签署的文件是否被篡改,具体是通过证书来制作文件的数字签名。我们来举个软件按照的例子,具体说下如何验证文件的数字签名。
比如,一个带有数字签名的安装文件,上面有个“数字签名”的标签页。如果没有出现这个标签页,就说明该文件没有附带数字签名。
然而,某些数字签名中没有包含“邮件地址”,那么这一项会显示“不可用”;同样的,某些数字签名没有包含“时间戳”,也会显示“不可用”。这些地方显示的“不可用”跟数字签名的有效性没关系。
一般来说,签名列表中,有且仅有一个签名。选中它,点“详细信息”按钮,会显示一行字:“该数字签名正常”。如果有这行字,就说明该文件从出厂到你手里,中途没有被篡改过。
如果该文件被篡改过了(比如感染了病毒、被注入木马),那么对话框会出现一个警告提示“该数字签名无效”。
不论签名是否正常,你都可以点“查看证书”按钮。这时候,会跳出证书的对话框。
目前大多数知名的公司或组织机构发布的可执行文件(比如软件安装包、驱动程序、安全补丁),都带有数字签名。建议大家在安装软件之前,都先看看是否有数字签名,如果有,就按照上述步骤验证;如果数字签名无效,建议你还是别装了,会有安全隐患。
验证:python-3.6.2-amd64.exe的数字签名,此数字签名正常,电子邮件不可用时间戳2017年7月8日 13:05:14。
That it !
期待和大家交流,共同进步,欢迎大家加入我创建的与前端开发密切相关的技术讨论小组:
- SegmentFault技术圈:ES新规范语法糖
- SegmentFault专栏:趁你还年轻,做个优秀的前端工程师
- 知乎专栏:趁你还年轻,做个优秀的前端工程师
- Github博客: 趁你还年轻233的个人博客
- 前端开发QQ群:660634678
微信公众号: 人兽鬼 / excellent_developers
努力成为优秀前端工程师!