一、为何需要使用数字证书?
要了解为何需要数字证书,就要从网络上的通信双方说起,我们假设一个通信的场景:
场景1:A声明自己是某银行的办事员,需要向B客户索要他的银行帐号和密码,这时,可以结合非对称加称和数字签名技术,就是上一章节讲到的内容,来证明信息确实是A发向B的,但是,还是存在一个问题是A用户的身份问题,A真是银行的办事员吗?会不会是黑客,你是否也有这个疑问?好的再往下看。
数字签名技术虽然可以证明信息未被篡改,但也存在一有问题,如果有人伪装成某机构怎么办?还是存在一个需要确认对方身份的问题,比如只有公安机关可以证明我是谁一样,别人说的都不算对吧?就需要这样一个权威机构来给网络上的网站或是个人确认其身份。
其实,互联网的管理者们早已想出了解决的办法,就是证书颁发机构(Certification Authority,CA),由CA向A颁发一份证书,确认其身份,他就是某银行的,这样一来,我们就可以信任他了,数字证书就是在这样的情况下产生的。数字证书就如同某个的身份证件一样,拿着这个数字证书,就可以证明我的身份。
二、数字证书是什么?
数字证书就是持有者的身份证明,它是证书颁发机构CA 数字签名的文件,包含了拥有者的公钥及相关身份信息。
证书有四种类型:
(1)自签名证书:拥有者和颁发者是同一个机构。
(2)CA证书:拥有者和颁发者都是CA。
(3)本地证书:拥有者是通信的实体,颁发者是CA机构。
(4)设备本地证书:根据CA机构颁发的证书,给自己颁发的证书。
三、证书结构
数字证书的格式大多是X.509格式,X.509是国际电信联盟(ITU-T)制定的数字证书标准。
最简单的数字证书包含一个公钥、名称以及证书授权机构的数字签名。通常数字证书数据域有证书、版本号、序列号、算法标识、颁发者、有效期、使用者、使用者公钥、公钥算法、颁发者唯一标识、使用者唯一标识、证书签名算法、然后在所有以上内容进行HASH生成信息摘要,然后使用证书签名(CA签名)。
四、证书格式
(1)PKCS#12:以二进制格式保存证书。常用的后缀有:.P12 和 .PFX 。
(2)DER:以二进制格式保存证书。常用的后缀有:.DER .CER 和 .CRT 。
(3)PEM:以ASCII码格式保存证书。常用的后缀有:.PEM .CER 和 .CRT 。