网络安全系统之三 数字证书
一、为何需要使用数字证书?
要了解为何需要数字证书,就要从网络上的通信双方说起,我们假设一个通信的场景:
场景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 。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效