论文部分内容阅读
近年来,随着互联网越来越广泛的应用,网络安全成为了越来越受到重视的问题。基于密码学知识的SSL协议成为了保证网络数据安全的有效手段,在许多的领域起着极为重要的作用。OpenSSL是实现SSL/TLS协议的最主要的基础函数库。它是具有强大功能的开源软件,由世界各地无数的志愿者负责其开发工作。OpenSSL在面向过程思想指导下,采用纯C语言编写的。因此,OpenSSL存在一些不足,使它越来越不符合软件潮流发展方向。必须用一种全新的思想来重新设计其结构,以弥补存在的不足。通过对微软的COM组件技术分析发现,使用COM组件技术重新封装OpenSSL是解决这些问题的有效途径。 为了设计好OpenSSL组件结构,本论文详细剖析了OpenSSL的基本结构和程序流程,深入分析其存在不足的原因。文中也对COM组件技术和ATL库进行了详细论述和仔细分析,得出了COM组件技术的特点和优势所在。在上述两点的基础上,说明了采用COM组件技术封装OpenSSL的原因和带来的好处,并提出了映射和面向对象两种具体的封装思想,充分考虑到了传统用户和习惯于面向对象方法用户的需求。在封装思想的指导下,课题采用Visual Studio 2003和其附带的ATL 7.0活动模板库作为开发工具和环境。因为OpenSSL和ATL本身的特性,封装过程遇到了一些问题。通过对问题本质的详细分析,本文提出了有效的解决方案,完成了封装工作。 封装之后的OpenSSL有效地克服了原来面向过程、使用不方便、升级维护困难等缺点。同时,原来具有的强大功能也得以保留。通过对封装前后OpenSSL的使用方法对比,证明了OpenSSL的组件化能有效改善其结构、符合软件发展潮流。 本文为改变软件结构,使其符合软件发展方向提出了一种有效的思想和解决方法。这种思想和方法可以推广到其它类似的应用场合,为进一步促进开源软件的应用起抛砖引玉的作用。