因为一次服务器迁移时被证书苦虐的经历,决定花点时间研究了一下数字证书,本文从 HTTPS 协议入手,引出了对称加密、非对称加密等加密相关的内容,然后讨论了什么是证书,什么是 CA,以及 为什么需要 CA 等内容,现实世界中需要一个为证书权威性、真实性提供担保的组织,这种组织可以签发证书、验证证书、管理证书,利用数字签名的不可篡改、不可抵赖、不可复制、不可伪造等特性,根 CA 可以授权中间 CA 去签发证书,因为整个证书链都是可以追溯的。有了这些知识作为背景,我们分享了如何获得一份自签名证书和 CA 证书,两者本质上没有什么不同,唯一的区别在于其信任度不同。