使用 OpenSSL 进行安全网络编程
1. 引言
在设计安全的网络应用程序时,我们有多种选择,其中之一是使用 OpenSSL 库。OpenSSL 是一个加密工具包,基于 Eric A. Young 和 Tim J. Hudson 开发的 SSLeay 库。它不仅实现了 SSL 和 TLS 标准,还包含加密例程、随机数生成器以及大整数数学支持。其一体化的方法和开源特性,使其成为保护任何网络应用程序的易用库。
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 :包含库的内置错误处理和报告功能的声明,有大量定义的错误及其描述,还有自定义的 ERR_ 函数用于将库函数结果转换为可读字符串。
3. 库初始化
使用 Ope
超级会员免费看
订阅专栏 解锁全文
277

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



