一, 为何需要使用数字证书?
要了解为何需要数字证书, 就要从网络上的通信双方说起, 我们假设一个通信的场景:
场景 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 .
来源: http://www.bubuko.com/infodetail-3505609.html