首页 > 代码库 > 数字证书
数字证书
1.什么是数字证书
证书用来证明某个网站或文件。
简单可以理解为类似公司公章,用来证明合同文件等是该公司的。
2.什么是CA证书
CA是“证书授权中心”的简称,是负责管理和签发证书的第三方机构。
CA证书即为CA颁发的证书。
证书人人都可以制作,但只有权威机构颁发的证书,大家才能一致认可。
3.根证书
如下图所示,假设C证书信任A证书,A证书信任A1证书,证书之间的关系构成一个树。
根节点的证书即为“根证书”,根证书是不需要证明的,其他证书都需要上一级去证明可靠性。
4.证书的作用
1)验证网站是否可信(针对HTTPS)
因为HTTP协议是明文的,如果有人偷窥你的网络通讯,他就可以看到通讯的内容。而HTTPS是加密协议。
但是光有加密是不够的,比如有人伪造了一个HTTPS站点,就可能获取到你的账户密码信息。
为了防止伪造站点,HTTPS协议除了加密机制,还有一套证书机制。
有了证书以后,当访问这个HTTPS网站时,会验证该站点上的CA证书。
如果浏览器发现该证书没有问题(证书被某个根证书信任,证书上绑定的域名和该网站的域名一致,证书没有过期),那么页面直接打开。否则浏览器会弹出警告,下图是IE和Firefox的抓图:
2)验证文件是否可信
证书还可以用来验证某个文件是否被篡改。
具体是通过证书来制作文件的数字签名。
如Firefox的安装文件,右键点击“属性”,会看到有个“数字签名”的标签页。
如果没有,说明该文件没有附带数字签名。
点击“详细信息”,可以看到“数字签名信息”,
若为“该数字签名正常”,说明该文件从出厂到你手里,中途没有被篡改过。
若为“该数字签名无效”,说明该文件被篡改过了(比如感染了病毒,被注入木马等)
点击“查看证书”,会 弹出证书对话框,点击“证书路径”,可看到证书信任链。如下所示:
第一层为根证书Thawte
第二层为Thawte用来签名的证书
第三层为Mozilla自己的证书
数字证书