openssl编程

《openssl编程》第一章基础知识8 1.1对称算法8 1.2摘要算法9 1.3公钥算法9 1.4回调函数11第二章openssl简介13 2.1 openssl简介13 2.2 openssl安装13 2.2.1 linux下的安装13 2.2.2 windows编译与安装14 2.3 openssl源代码14 2.4 openssl学习方法16第三章堆栈17 3.1 openssl堆栈17 3.2数据结构17 3.3源码18 3.4定义用户自己的堆栈函数18 3.5编程示例19第四章哈希表21 4.1哈希表21 4.2哈希表数据结构21 4.3函数说明23 4.4编程示例25第五章内存分配27 5.1 openssl内存分配27 5.2内存数据结构27 5.3主要函数28 5.4编程示例29第六章动态模块加载30 6.1动态库加载30 6.2 DSO概述30 6.3数据结构31 6.4编程示例32第七章抽象IO 34 7.1 openssl抽象IO 34 7.2数据结构34 7.3 BIO函数36 7.4编程示例36 7.4.1 mem bio 36 7.4.2 file bio 37 7.4.3 socket bio 38 7.4.4 md BIO 39 7.4.5 cipher BIO 40 7.4.6 ssl BIO 41 7.4.7其他示例42第八章配置文件43 8.1概述43 8.2 openssl配置文件读取43 8.3主要函数44 8.4编程示例44第九章随机数46 9.1随机数46 9.2 openssl随机数数据结构与源码46 9.3主要函数48 9.4编程示例48第十章文本数据库50 10.1概述50 10.2数据结构51 10.3函数说明51 10.4编程示例52第十一章大数54 11.1介绍54 11.2 openssl大数表示54 11.3大数函数55 11.4使用示例58第十二章BASE64编解码64 12.1 BASE64编码介绍64 12.2 BASE64编解码原理64 12.3主要函数65 12.4编程示例66第十三章ASN1库68 13.1 ASN1简介68 13.2 DER编码70 13.3 ASN1基本类型示例70 13.4 openssl的ASN.1库73 13.5用openssl的ASN.1库DER编解码74 13.6 Openssl的ASN.1宏74 13.7 ASN1常用函数75 13.8属性证书编码89第十四章错误处理93 14.1概述93 14.2数据结构93 14.3主要函数95 14.4编程示例97第十五章摘要与HMAC 100 15.1概述100 15.2 openssl摘要实现100 15.3函数说明101 15.4编程示例101 15.5 HMAC 103第十六章数据压缩104 16.1简介104 16.2数据结构104 16.3函数说明105 16.4 openssl中压缩算法协商106 16.5编程示例106第十七章RSA 107 17.1 RSA介绍107 17.2 openssl的RSA实现107 17.3 RSA签名与验证过程108 17.4数据结构109 17.4.1 RSA_METHOD 109 17.4.2 RSA 110 17.5主要函数110 17.6编程示例112 17.6.1密钥生成112 17.6.2 RSA加解密运算113 17.6.3签名与验证116第十八章DSA 119 18.1 DSA简介119 18.2 openssl的DSA实现120 18.3 DSA数据结构120 18.4主要函数121 18.5编程示例122 18.5.1密钥生成122 18.5.2签名与验证124第十九章DH 126 19.1 DH算法介绍126 19.2 openssl的DH实现127 19.3数据结构127 19.4主要函数128 19.5编程示例129第二十章椭圆曲线132 20.1 ECC介绍132 20.2 openssl的ECC实现133 20.3主要函数135 20.3.1参数设置135 20.3.2参数获取136 20.3.3转化函数137 20.3.4其他函数137 20.4编程示例139第二十一章EVP 143 21.1 EVP简介143 21.2数据结构143 21.2.1 EVP_PKEY 144 21.2.2 EVP_MD 144 21.2.3 EVP_CIPHER 145 21.2.4 EVP_CIPHER_CTX 146 21.3源码结构147 21.4摘要函数147 21.5对称加解密函数148 21.6非对称函数149 21.7 BASE64编解码函数149 21.8其他函数150 21.9对称加密过程152 21.10编程示例152第二十二章PEM格式159 22.1 PEM概述159 22.2 openssl的PEM实现160 22.3 PEM函数161 22.4编程示例161第二十三章Engine 165 23.1 Engine概述165 23.2 Engine支持的原理165 23.3 Engine数据结构166 23.4 openssl的Engine源码167 23.5 Engine函数167 23.6实现Engine示例169第二十四章通用数据结构182 24.1通用数据结构182 24.2 X509_ALGOR 182 24.3 X509_VAL 184 24.4 X509_SIG 185 24.5 X509_NAME_ENTRY 186 24.6 X509_NAME 187 24.7 X509_EXTENSION 193 24.8 X509_ATTRIBUTE 199 24.9 GENERAL_NAME 200第二十五章证书申请203 25.1证书申请介绍203 25.2数据结构203 25.3主要函数204 25.4编程示例206 25.4.1生成证书请求文件206 25.4.2解码证书请求文件208第二十六章X509数字证书210 26.1 X509数字证书210 26.2 opessl实现210 26.3 X509数据结构210 26.4 X509_TRUST与X509_CERT_AUX 214 26.5 X509_PURPOSE 215 26.6主要函数218 26.7证书验证221 26.7.1证书验证项221 26.7.2 Openssl中的证书验证221第二十七章OCSP 222 27.1概述222 27.2 openssl实现222 27.3主要函数222 27.4编程示例227第二十八章CRL 228 28.1 CRL介绍228 28.2数据结构228 28.3 CRL函数230 28.4编程示例231第二十九章PKCS7 233 29.1概述233 29.2数据结构233 29.3函数234 29.4消息编解码235 29.4.1 data 235 29.4.2 signed data 236 29.4.3 enveloped 237 29.4.4 signed_and_enveloped 238 29.4.5 digest 238 29.4.6 encrypted 239 29.4.7读取PEM 239 29.4.8解码pkcs7 240第三十章PKCS12 241 30.1概述241 30.2 openss实现241 30.3数据结构242 30.4函数243 30.5编程示例245第三十一章SSL实现254 31.1概述254 31.2 openssl实现254 31.3建立SSL测试环境254 31.4数据结构256 31.5加密套件256 31.6密钥信息257 31.7 SESSION 258 31.8多线程支持258 31.9编程示例259 31.10函数270第三十二章Openssl命令272 32.1概述272 32.2 asn1parse 272 32.3 dgst 274 32.4 gendh 275 32.5 passwd 276 32.6 rand 276 32.7 genrsa 277 32.8 req 278 32.9 x509 280 32.10 version 283 32.11 speed 283 32.12 sess_id 284 32.13 s_server 284 32.14 s_client 286 32.15 rsa 288 32.16 pkcs7 289 32.17 dsaparam 290 32.18 gendsa 291 32.19 enc 291 32.20 ciphers 292 32.21 CA 293 32.22 verify 296 32.23 rsatul 297 32.24 crl 299 32.25 crl2pkcs7 300 32.26 errstr 300 32.27 ocsp 301 32.28 pkcs12 304 32.29 pkcs8 306 32.30 s_time 307 32.31 dhparam和dh 308 32.32 ecparam 309 32.33 ec 310 32.34 dsa 311 32.35 nseq 312 32.36 prime 313 32.37 smime 313
doc 文件大小:1.4MB