成长故事 | 西安电子科技大学刘芝健:从开源新人到社区核心开发者成长之路

从新手到核心开发者

一、个人简介

大家好,我是刘芝健,硕士毕业于西安电子科技大学网络空间安全专业,导师是苏锐丹教授,研究方向为应用密码学。研究生期间参与了openHiTLS社区Nginx/Curl中间件的迁移/国密适配及ACVP(自动化密码验证协议)、CRL一致性保障等相关功能的开发和验证工作,并获得开源安全奖励计划二等奖。目前已入职华为2012实验室安全解决方案开发部,从事密码开发相关工作。

二、缘起:从课堂走向开源社区

最初接触openHiTLS,要追溯到研二时协助导师开展校内《密码工程原理》实验课。有一节课需要演示TLCP协议的完整交互流程,在导师苏锐丹老师鼓励和推荐下,我选择用openHiTLS搭建实验环境并向同学们现场展示。得益于详细的说明文档和清晰的接口设计,我很快完成了环境配置和用例准备,也第一次感受到:商密协议可以通过这样一个统一的开源平台被“摸得着、看得见”。

这次课堂展示成了我走近openHiTLS的起点。出于好奇,我顺着文档和代码进一步往下看,了解它的总体架构、模块划分和设计思路,发现这是一个工程化程度很高、质量也很“有华为味道”的开源项目。

在加入社区之前,我更多是完成老师分配的一小块任务,对整个系统缺乏全局认识。面对开源项目时,也往往抱着“拿来即用”的心态——能用就用,不合适就换一个,很少会去思考自己能不能反向为项目做点贡献。

openHiTLS的出现改变了这种状态。一方面,它提供了清晰完善的使用指南和开发指引,降低了参与门槛;另一方面,在了解到openHiTLS是华为联合西电、上交大、山大等15家国内产学研机构联合发起的开源密码根社区,目标是支持多种商密协议和应用场景,助力密码技术自主创新之后,我产生了“这个事情有价值、也值得投入时间”的强烈认同感。对我们学生来说既是学习机会,也是参与国家密码生态建设的难得舞台。

​​​​​​​三、初探:走进企业项目的第一步

首先,我通过阅读openHiTLS使用与开发指南,从最基础的编译、配置入手,对其整体架构以及支持的算法、协议有了初步认识。

带着这份兴趣和一点点“半懂不懂”的积累,我参与到openHiTLS社区的项目课题中。在真实的项目环境中,我系统体验了openHiTLS的需求开发全流程:从需求分析、方案设计,到编码实现、单元测试、联调验证,再到最终交付和问题闭环,逐步建立起对整个工程链路的整体认知。

刚开始可以说是边干边学。由于缺乏参与大型开源项目的经验,开发环境搭建就反复踩坑;对git的分支管理、提交规范、合并流程都不熟悉;第一次接触完整的编译构建链路,对cmake配置和依赖管理需要一点点摸索;用gdb调试时也曾因为断点下错,看了很久日志却找不到问题。

幸运的是,华为的导师都非常乐于分享经验。即使工作很忙,只要我在群里抛出问题,大家都会抽时间帮我分析原因、定位问题。很多在学校里可能要自己琢磨几天的疑问,在团队的指导下很快就能解决。

这段经历带给我的,不只是技术能力的提升,更让我提前熟悉了企业的运作模式和标准的需求处理流程,体会到“工程师视角”和“学生视角”的差异。同时,我也在实习中认识了许多志同道合的同学和前辈,大家因为密码、因为开源走到一起,是一份非常难得的人生收获。

​​​​​​​四、深耕:在实践中锤炼能力

(一)项目 1:基于curl的openHiTLS适配开发

项目背景:openHiTLS作为华为发起的独立创新开源密码套件,希望能够融入更多主流开源工具。但市面上的命令行网络工具(例如curl)最初并没有对openHiTLS做原生适配,这在一定程度上限制了openHiTLS的使用场景。

项目成果:将openHiTLS集成到curl 7.8.8和8.8.0版本中,使用户在使用curl进行网络通信时,可以选择openHiTLS作为底层密码库,并支持TLCP与TLS 1.2协议连接。适配完成后,提升了openHiTLS的适用范围,实际使用门槛也进一步降低。

(二)项目 2:CRL一致性保障

项目背景:openHiTLS中的PKI模块首次面向商用,需要在证书处理、吊销检查等环节进行质量加固。其中,CRL(证书吊销列表)的解析和编码是否符合标准规范,直接关系到整个证书链验证的可靠性。

项目成果:以RFC5280标准为依据,对openHiTLS中CRL的编解码实现进行了系统的一致性测试,重点关注字段解析、扩展项处理、边界条件等关键细节。通过对比标准和实际行为,识别出3处差异点并改正。提升了openHiTLS在PKI场景下的稳定性和规范性,为后续商用奠定了基础。

​​​​​​​五、收获:技术、职业与认知的全面成长

(一)技术能力提升

在项目实践中,我系统学习了cmake和autoconf的编译构建方式,对工程依赖管理和构建选项控制有了更直观的理解;C语言代码风格更加规范,开始主动关注可读性和可维护性;使用gdb进行调试和问题排查也更加熟练,面对崩溃或异常日志时,能够通过日志、断点和复现逐步缩小问题范围。

养成了“需求分析 – 方案设计 – 开发测试 – 迭代优化”的工作思维。不再只是埋头写代码,而是会先弄清楚:用户到底要什么?场景是什么?边界在哪里?风险点是什么?开始习惯从用户视角和业务视角去审视自己的设计,而不是只盯着技术细节。

(二)就业与职业发展助力

openHiTLS开源项目经历,成为我简历上的核心亮点之一,在求职阶段帮助我拿到了多家单位技术岗的面试机会。相比只停留在课程或实验室的小项目,真实参与开源社区项目,让我在与面试官交流时,可以拿出具体的问题场景、设计思路和解决过程来分享。

入职后,我在开源项目中积累的技术经验与实际工作场景高度契合,能够较快进入状态,跟上团队节奏。同时,通过社区和项目,我结识了不少行业内的前辈和伙伴,从他们的经验中汲取职业发展建议,也让自己的职业视野更加开阔。

(三)认知与心态转变

从“被动完成任务”到“主动探索问题”。不再局限于课堂知识,学会主动发现问题,解决问题,保持对新技术的敏感度。

理解“开源精神”。明白了开源不是简单的“用代码”,而是以开放的方式共同把事情做对、做优。能把自己的改动沉淀到社区,被更多人复用,这种价值感会推动我长期投入。

在此,我要特别感谢我的导师苏锐丹老师,他的鼓励和支持让我在openHiTLS 开源社区丰富了实践阅历、实现了自我提升!

​​​​​​​六、给学弟学妹的建议

纸上得来终觉浅,绝知此事要躬行

不论是读研还是读博,大多数人最终还是要步入社会。如果你现在对未来有些迷茫,或者对自己的能力不够自信,可以尝试把视野从课堂和论文往外再迈一步,从开源社区、校企合作项目、实习机会中寻找答案。

可以先从自己感兴趣的开源项目入手,哪怕一开始只是根据文档搭环境、跑示例、改一点点配置文件,哪怕只是给文档提一个小小的issue,都是在向前迈步。熟悉之后,可以尝试提交PR、参与社区任务认领,再进一步参加企业与高校共建的项目。如果有机会,一定要亲身去一线实习一次,在真实的项目中体会企业的节奏与要求。

在这个过程中,你会更直观地看到学校和公司的差异,理解“学生思维”和“工程师思维”的不同,学会从“学校希望我成为什么样的人”,转向“社会和行业真正需要什么样的人”,并据此调整自己的规划和节奏。等到真正站在求职的十字路口时,这些经历会成为你简历上最鲜活、也最有说服力的那一行。希望你们都能借助openHiTLS等开源平台,找到属于自己的成长路径。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值