Openssl 程式設計
第一章 基础知识............................................................ 错误!未定义书签。
1.1 对称算法............................................................ 错误!未定义书签。
1.2 摘要算法............................................................ 错误!未定义书签。
1.3 公钥算法............................................................ 错误!未定义书签。
1.4 回调函数............................................................ 错误!未定义书签。
第二章 openssl 简介....................................................... 错误!未定义书签。
2.1 openssl 简介....................................................... 错误!未定义书签。
2.2 openssl 安装....................................................... 错误!未定义书签。
2.2.1 linux 下的安装..........................................错误!未定义书签。
2.2.2 windows 编译与安装............................... 错误!未定义书签。
2.3 openssl 源代码................................................... 错误!未定义书签。
2.4 openssl 学习方法............................................... 错误!未定义书签。
第三章 堆栈.................................................................... 错误!未定义书签。
3.1 openssl 堆栈....................................................... 错误!未定义书签。
3.2 数据结构............................................................ 错误!未定义书签。
3.3 源码.................................................................... 错误!未定义书签。
3.4 定义用户自己的堆栈函数................................ 错误!未定义书签。
3.5 编程示例............................................................ 错误!未定义书签。
第四章 哈希表................................................................ 错误!未定义书签。
4.1 哈希表................................................................ 错误!未定义书签。
Openssl 程式設計
4.2 哈希表数据结构................................................ 错误!未定义书签。
4.3 函数说明............................................................ 错误!未定义书签。
4.4 编程示例............................................................ 错误!未定义书签。
第五章 内存分配............................................................ 错误!未定义书签。
5.1 openssl 内存分配............................................... 错误!未定义书签。
5.2 内存数据结构.................................................... 错误!未定义书签。
5.3 主要函数............................................................ 错误!未定义书签。
5.4 编程示例............................................................ 错误!未定义书签。
第六章 动态模块加载.................................................... 错误!未定义书签。
6.1 动态库加载........................................................ 错误!未定义书签。
6.2 DSO 概述........................................................... 错误!未定义书签。
6.3 数据结构............................................................ 错误!未定义书签。
6.4 编程示例............................................................ 错误!未定义书签。
第七章 抽象 IO............................................................... 错误!未定义书签。
7.1 openssl 抽象 IO.................................................. 错误!未定义书签。
7.2 数据结构............................................................ 错误!未定义书签。
7.3 BIO 函数........................................................... 错误!未定义书签。
7.4 编程示例............................................................ 错误!未定义书签。
7.4.1 mem bio..................................................... 错误!未定义书签。
7.4.2 file bio........................................................错误!未定义书签。
7.4.3 socket bio................................................... 错误!未定义书签。
7.4.4 md BIO...................................................... 错误!未定义书签。
2
Openssl 程式設計
7.4.5 cipher BIO................................................. 错误!未定义书签。
7.4.6 ssl BIO....................................................... 错误!未定义书签。
7.4.7 其他示例................................................... 错误!未定义书签。
第八章 配置文件............................................................ 错误!未定义书签。
8.1 概述.................................................................... 错误!未定义书签。
8.2 openssl 配置文件读取....................................... 错误!未定义书签。
8.3 主要函数............................................................ 错误!未定义书签。
8.4 编程示例............................................................ 错误!未定义书签。
第九章 随机数................................................................ 错误!未定义书签。
9.1 随机数................................................................ 错误!未定义书签。
9.2 openssl 随机数数据结构与源码.......................错误!未定义书签。
9.3 主要函数............................................................ 错误!未定义书签。
9.4 编程示例............................................................ 错误!未定义书签。
第十章 文本数据库........................................................ 错误!未定义书签。
10.1 概述................................................................. 错误!未定义书签。
10.2 数据结构......................................................... 错误!未定义书签。
10.3 函数说明......................................................... 错误!未定义书签。
10.4 编程示例......................................................... 错误!未定义书签。
第十一章 大数................................................................. 错误!未定义书签。
11.1 介绍.................................................................... 错误!未定义书签。
11.2 openssl 大数表示............................................... 错误!未定义书签。
11.3 大数函数............................................................ 错误!未定义书签。
3
Openssl 程式設計
11.4 使用示例............................................................ 错误!未定义书签。
第十二章 BASE64 编解码.............................................. 错误!未定义书签。
12.1 BASE64 编码介绍............................................. 错误!未定义书签。
12.2 BASE64 编解码原理.........................................错误!未定义书签。
12.3 主要函数......................................................... 错误!未定义书签。
12.4 编程示例......................................................... 错误!未定义书签。
第十三章 ASN1 库.......................................................... 错误!未定义书签。
13.1 ASN1 简介......................................................... 错误!未定义书签。
13.2 DER 编码........................................................... 错误!未定义书签。
13.3 ASN1 基本类型示例......................................... 错误!未定义书签。
13.4 openssl 的 ASN.1 库.............................................................. 143
13.5 用 openssl 的 ASN.1 库 DER 编解码.................................145
13.6 Openssl 的 ASN.1 宏...............................................................147
13.7 ASN1 常用函数................................................. 错误!未定义书签。
13.8 属性证书编码.................................................. 错误!未定义书签。
第十四章 错误处理......................................................... 错误!未定义书签。
14.1 概述................................................................. 错误!未定义书签。
14.2 数据结构......................................................... 错误!未定义书签。
14.3 主要函数......................................................... 错误!未定义书签。
14.4 编程示例......................................................... 错误!未定义书签。
第十五章 摘要与 HMAC................................................ 错误!未定义书签。
15.1 概述................................................................. 错误!未定义书签。
4
Openssl 程式設計
15.2 openssl 摘要实现............................................... 错误!未定义书签。
15.3 函数说明......................................................... 错误!未定义书签。
15.4 编程示例......................................................... 错误!未定义书签。
15.5 HMAC................................................................ 错误!未定义书签。
第十六章 数据压缩......................................................... 错误!未定义书签。
16.1 简介....................................................................... 错误!未定义书签。
16.2 数据结构......................................................... 错误!未定义书签。
16.3 函数说明......................................................... 错误!未定义书签。
16.4 openssl 中压缩算法协商................................... 错误!未定义书签。
16.5 编程示例......................................................... 错误!未定义书签。
第十七章 RSA..................................................................错误!未定义书签。
17.1 RSA 介绍......................................................... 错误!未定义书签。
17.2 openssl 的 RSA 实现......................................... 错误!未定义书签。
17.3 RSA 签名与验证过程....................................... 错误!未定义书签。
17.4 数据结构......................................................... 错误!未定义书签。
17.4.1 RSA_METHOD......................................... 错误!未定义书签。
17.4.2 RSA............................................................错误!未定义书签。
17.5 主要函数......................................................... 错误!未定义书签。
17.6 编程示例............................................................. 错误!未定义书签。
17.6.1 密钥生成.................................................... 错误!未定义书签。
17.6.2 RSA 加解密运算...................................... 错误!未定义书签。
17.6.3 签名与验证................................................ 错误!未定义书签。
5
Openssl 程式設計
第十八章 DSA................................................................. 错误!未定义书签。
18.1 DSA 简介........................................................ 错误!未定义书签。
18.2 openssl 的 DSA 实现......................................... 错误!未定义书签。
18.3 DSA 数据结构................................................... 错误!未定义书签。
18.4 主要函数......................................................... 错误!未定义书签。
18.5 编程示例......................................................... 错误!未定义书签。
18.5.1 密钥生成.................................................... 错误!未定义书签。
18.5.2 签名与验证................................................ 错误!未定义书签。
第十九章 DH.....................................................................错误!未定义书签。
19.1 DH 算法介绍..................................................... 错误!未定义书签。
19.2 openssl 的 DH 实现........................................... 错误!未定义书签。
19.3 数据结构............................................................. 错误!未定义书签。
19.4 主要函数......................................................... 错误!未定义书签。
19.5 编程示例......................................................... 错误!未定义书签。
第二十章 椭圆曲线......................................................... 错误!未定义书签。
20.1 ECC 介绍............................................................错误!未定义书签。
20.2 openssl 的 ECC 实现......................................... 错误!未定义书签。
20.3 主要函数......................................................... 错误!未定义书签。
20.3.1 参数设置.................................................... 错误!未定义书签。
20.3.2 参数获取.................................................... 错误!未定义书签。
20.3.3 转化函数.................................................... 错误!未定义书签。
20.3.4 其他函数.................................................... 错误!未定义书签。
6
Openssl 程式設計
20.4 编程示例......................................................... 错误!未定义书签。
第二十一章 EVP...............................................................错误!未定义书签。
21.1 EVP 简介.............................................................错误!未定义书签。
21.2 数据结构............................................................ 错误!未定义书签。
21.2.1 EVP_PKEY............................................... 错误!未定义书签。
21.2.2 EVP_MD................................................... 错误!未定义书签。
21.2.3 EVP_CIPHER........................................... 错误!未定义书签。
21.2.4 EVP_CIPHER_CTX................................. 错误!未定义书签。
21.3 源码结构............................................................ 错误!未定义书签。
21.4 摘要函数............................................................ 错误!未定义书签。
21.5 对称加解密函数................................................ 错误!未定义书签。
21.6 非对称函数........................................................ 错误!未定义书签。
21.7 BASE64 编解码函数.........................................错误!未定义书签。
21.8 其他函数............................................................. 错误!未定义书签。
21.9 对称加密过程.................................................. 错误!未定义书签。
21.10 编程示例......................................................... 错误!未定义书签。
第二十二章 PEM 格式..................................................... 错误!未定义书签。
22.1 PEM 概述........................................................... 错误!未定义书签。
22.2 openssl 的 PEM 实现.........................................错误!未定义书签。
22.3 PEM 函数........................................................... 错误!未定义书签。
22.4 编程示例......................................................... 错误!未定义书签。
第二十三章 Engine........................................................... 错误!未定义书签。
7
Openssl 程式設計
23.1 Engine 概述........................................................ 错误!未定义书签。
23.2 Engine 支持的原理............................................错误!未定义书签。
23.3 Engine 数据结构................................................错误!未定义书签。
23.4 openssl 的 Engine 源码.....................................错误!未定义书签。
23.5 Engine 函数........................................................ 错误!未定义书签。
23.6 实现 Engine 示例............................................错误!未定义书签。
第二十四章 通用数据结构.............................................. 错误!未定义书签。
24.1 通用数据结构..................................................... 错误!未定义书签。
24.2 X509_ALGOR....................................................错误!未定义书签。
24.3 X509_VAL..........................................................错误!未定义书签。
24.4 X509_SIG........................................................... 错误!未定义书签。
24.5 X509_NAME_ENTRY...................................... 错误!未定义书签。
24.6 X509_NAME......................................................错误!未定义书签。
24.7 X509_EXTENSION...........................................错误!未定义书签。
24.8 X509_ATTRIBUTE........................................... 错误!未定义书签。
24.9 GENERAL_NAME............................................错误!未定义书签。
第二十五章 证书申请...................................................... 错误!未定义书签。
25.1 证书申请介绍................................................. 错误!未定义书签。
25.2 数据结构......................................................... 错误!未定义书签。
25.3 主要函数......................................................... 错误!未定义书签。
25.4 编程示例......................................................... 错误!未定义书签。
25.4.1 生成证书请求文件.................................... 错误!未定义书签。
8