一些体会
本书的撰写过程是我的第三次HTTPS学习之旅,从动笔到完成初稿,整整花了一年的时间,每天至少花5个小时研究和写书,越往后写,越觉得TLS/SSL知识体系是如此庞大,需要研究很多领域,有几次差点放弃,但最终还是坚持下来了。
写作最大的动力还是来源于内心,内心渴望将HTTPS相关知识分享出来,为了提升书的质量,尽可能地寻找更多的资料,有的时候为了论证一个观点,需要花好几天时间,不断地研究RFC文档,不断查看OpenSSL源代码,只为让自己的描述更严谨、更准确。
在具体写作的时候也遇到了很多挑战,有些章节写完之后,个人感觉非常不好,考虑到读者看了后可能会更迷惑,遇到这种情况就会选择重写,或者从另外一个角度重新组织语言。一本书的结构非常重要,直接影响用户的理解,我花了很长的时间去组织,不断地调整,不断地换位思考,直到自己满意为止。
还有一个主要的体会就是学习理解能力得到了极大的提升,对技术的理解也更加深刻了。相对来说现有HTTPS资料还是比较少的,学习过程很坎坷,不像编程语言,有大量的书籍和社区,学习过程会相对轻松。
在这个过程中,我也意识到自己并不是在学习HTTPS知识,而是在学习密码学安全知识,在所有技术领域中,密码学看似不重要,但却是非常关键的一环,就像学习TCP/IP、操作系统等知识一样,都是一个搭建基础的过程,掌握好密码学和TLS/SSL,未来再转入其他领域,就会更加得心应手,比如现在流行的区块链技术,其背后就包括密码学知识。
在这个过程中,我自己的学习方法论也得到了提升,对于HTTPS知识来说,RFC和OpenSSL官方文档可能是最权威、最专业的渠道,但这些文档有个通病,描述非常枯燥,需要静下心来仔细钻研,才能够掌握知识的精髓,而一旦打通这个环节,得到的收益将是巨大的。
写完本书后,我意识到本书绝对不是自己HTTPS学习的终点,因为HTTPS体系越来越重要,也涌现了很多相关的技术。比如,TLS v1.3越来越成熟,可本书并没有涉及相关的知识点;再比如,在编写本书的时候谷歌宣布废弃HPKP技术,可见整个HTTPS技术体系还在不断完善,我还会继续深入研究,也会以本书为基点,通过博客的形式分享给对HTTPS感兴趣的人。
最后,必须说明一点,我对于HTTPS的理解还有非常大的提升空间,未来我会继续在这一领域深耕。但本书是我的用心之作,希望读者能够以宽容、理解、帮助的心态对待它和我。