openssl握手源代码分析

openssl是什么软件openssl是开放的源代码软件包 。请问如何选择OpenSSL源代码的版本?首先,将新版本OpenSSL的安装路径添加到$PATHsudogvim~/,bashrc,并在文件末尾添加:path $ path:/Usr/local/opensslbin:export path,然后保存/Usr/bin/opensslrename/Usr/bin $ sudomvopenssl-1/0 . 9 . 8这样就可以在命令行上直接使用新的了 。

1、如何使用API和初始化OpenSSL正常吗本教程中只使用了三个头文件:ssl.h、bio.h和err.h,它们都位于openssl子目录中 , 并且都是开发您的项目所必需的 。要初始化OpenSSL库,只需要三行代码 。清单1列出了所有内容 。其他头文件和/或初始化函数可能是其他函数所必需的 。清单1 。必需的头文件/* OpenSSL头文件*/# includeopenssl/bio . h # includeopenssl/SSL . h # includeopenssl/err . h/*初始化OpenSSL * 。ERR _ load _ BIO _ strings();OpenSSL _ add _ all _ algorithms();建立不安全的连接无论连接是否安全,OpenSSL都使用一个名为BIO的抽象库来处理各种类型的通信,包括文件和套接字 。
【openssl握手源代码分析】
2、OpenSSL之ASN1用法ASN . 1–抽象语法符号Dotone,抽象符号1,在大多数书写情况下会缩写为ASN1 。它描述了用于表示、编码、传输和解码数据的数据格式 。它提供了一套形式化的格式来描述对象的结构 , 与语言实现和这些数据的具体引用无关,也与它是哪种应用无关 。ASN1有很多实现版本,OpenSSL主要采用DER格式 。

ASN1相关的头文件是asn1.h,asn1t.h , 源文件在crypto/asn1目录下 。这个结构负责管理ANS1中大多数数据类型的内存组织 。字段含义:长度管理的数据长度 。由类型管理的数据类型 。数据数据指针 。与特定数据类型相关的标志位 。托管数据类型:主要数据类型的值:其他类型的定义:在OpenSSL的实现中 , 每种数据类型都有一个条目结构 , 负责定义该数据类型的编码和解码规则 。

3、OpenSSL之EVP用法OpenSSL EVP(高级加密函数)提供了丰富的加密函数 。OpenSSL中实现了各种对称算法、抽象算法和签名/签名验证算法 。EVP函数封装了这些具体的算法 。EVP主要封装了以下功能函数:1) BASE64编解码BIO是实现了;2)实现生物信息的加密和解密;;3)实现抽象生物;;4)实现了可靠的io;;5)封装摘要算法;6)封装对称加解密算法;7)封装了非对称密钥的加密(公钥)、解密(私钥)、签名和验证以及辅助功能;8)基于密码的加密(PBE);9)对称密钥处理;10)数字信封:数字信封使用对方的公钥加密对称密钥,用这个对称密钥加密数据 。

    推荐阅读