使用 OpenSSL 进行安全网络编程
1. 引言
在网络编程中,保障应用程序的安全性至关重要。除了使用隧道技术来保护现有不安全的应用程序外,我们还可以设计安全的网络应用程序,其中一种选择是使用 OpenSSL 库。OpenSSL 是一个加密工具包,基于 Eric A. Young 和 Tim J. Hudson 开发的 SSLeay 库。它不仅实现了 SSL 和 TLS 标准,还包含加密例程、随机数生成器以及大整数(BIGNUM)数学支持。其一体化的方法和开源特性,使其成为保护任何网络应用程序的易用库。
2. OpenSSL 函数和结构
OpenSSL 库(libcrypto 和 libssl)遵循标准的 Linux 函数和参数命名方法。该库使用 C 和汇编语言混合编写,易于集成到 C 程序中,其定义明确且离散的函数也便于封装在简单的 C++ 类中,用于 C++ 项目。
主要的头文件有 openssl/ssl.h 和 openssl/err.h :
- openssl/ssl.h :包含了大部分我们关注的函数声明,每个函数名包含一个前缀,用于标识该函数操作的对象类型。例如, SSL_ 函数处理 SSL * 结构和 SSL、TLS 标准, SSL_CTX_ 函数处理描述连接上下文的 CTX * 结构。
- openssl/err.h :包含库的内置错误处理和报告功能的声明,不仅有大量定义的错误及其描述,还有自定义
超级会员免费看
订阅专栏 解锁全文

277

被折叠的 条评论
为什么被折叠?



