在SSL/TLS/HTTPS通信中,证书虽然不是TLS/SSL协议的一部分,却是HTTPS非常关键的一环,网站引入证书才能避免中间人攻击。证书涉及了很多密码学知识,理解证书后,再深入理解TLS/SSL协议,效果会更好。
在前面一篇文章《搭建国密SSL开发测试环境》中,我们制作了一个自签名证书。通常情况下,用作调试简单的客户端/服务器端通信,足够了。然而,现实世界的证书要复杂的多,涉及到CA、证书链、证书的撤销等多种场景。如果我们要实现一个完善的SSL/TLS/HTTPS就需要把这些场景考虑进去,这时仅仅靠自签名证书是不够的。
我们也可以通过CA申请证书,对于个人开发者而言,成本比较高。比如从网上找到的国密证书价格,一年好几千元到几万的都有:
那有没有办法自己制作证书呢?答案是可以的。本文将探讨使用GmSSL制作国密证书,包括制作自