欢迎来到天天文库
浏览记录
ID:35718787
大小:1.17 MB
页数:16页
时间:2019-04-14
《openssl源代码笔记(最简明)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Openssl源代码整理学习声明:建议结合Openssl源代码学习;一、基础知识1.Openssl简史OpenSSL项目是加拿大人EricA.Yang和TimJ.Hudson开发,现在有Openssl项目小组负责改进和维护;他们是全球一些技术精湛的志愿技术人员,他们的劳动是无偿的,在此我们应该向他们表示崇高的敬意。Openssl最早的版本在1995年发布,1998年开始由Openssl项目组维护;当前最新版本为OpenSSL1.0.1;开放源代码的SSL产品实现,采用C语言开发;源代码可以在www.openssl.org自由下载;TheO
2、penSSLProjectisacollaborativeefforttodeveloparobust,commercial-grade,full-featured,andOpenSourcetoolkitimplementingtheSecureSocketsLayer(SSLv2/v3)andTransportLayerSecurity(TLSv1)protocolsaswellasafull-strengthgeneralpurposecryptographylibrary.Theprojectismanagedbyaworldwi
3、decommunityofvolunteersthatusetheInternettocommunicate,plan,anddeveloptheOpenSSLtoolkitanditsrelateddocumentation.OpenSSLisbasedontheexcellentSSLeaylibrarydevelopedbyEricA.YoungandTimJ.Hudson.TheOpenSSLtoolkitislicensedunderanApache-stylelicence,whichbasicallymeansthatyou
4、arefreetogetanduseitforcommercialandnon-commercialpurposessubjecttosomesimplelicenseconditions.2.SSL协议和TLS协议SSL是Netscape开发的专门用户保护Web通讯的,目前版本为3.0。最新版本的TLS1.0是IETF(工程任务组)制定的一种新的协议,它建立在SSL3.0协议规范之上,是SSL3.0的后续版本。两者差别极小,可以理解为SSL3.1,它是写入了RFC的。但在TLS与SSL3.0之间还是存在着差别,主要是它们所支持的加密算法
5、不同,所以TLS与SSL3.0不能互操作。TLS在SSLv3.0的基础上,提供了以下增强内容:1)更安全的MAC算法;2)更严密的警报;3)“灰色区域”规范的更明确的定义;3.对称算法加解密使用同一个密钥;主要模式有ECB,CBC,CFB,OFB等;4.摘要算法特殊格式输出算法,无论输入多长,输出密文都是固定长度的;摘要过程不可逆;常用算法有MD5(16bytes),SHA1(20bytes);5.公钥算法加解密使用不同密钥;密钥不需要交换,即可通信;加密算法和密钥(公钥)是公开的;常用公钥算法有RSA,DSA,DH和ECC;1.回调函数
6、定义在数据结构中,是一个函数指针,方便用户自行编写函数,类似虚函数;2.X.509(1993)由国际电信联盟(ITU-T)制定的数字证书标准;包含公钥和用户标志符、CA等;x509是数字证书的规范,P7和P12是两种封装形式;X.509是常见通用的证书格式。所有的证书都符合为PublickeyInfrastructure制定的ITU-Tx509国际标准。PKCS#7常用的后缀是:P7B,P7C,SPCPKCS#12常用的后缀有:P12,PFXX.509DER编码(ASCII)的后缀是:DERCERCRTX.509PEM编码(base64)
7、的后缀是:PEMCER CRTpem格式是经过base64编码的证书,der格式是DER编码的证书;证书入和导出操作支持四种文件格式。·个人信息交换(PKCS#12)个人信息交换格式(PFX,也称为PKCS#12)支持安全存储证书、私钥和证书路径中的所有证书。PKCS#12是唯一可用于导出证书及其私钥的文件格式。·加密消息语法标准(PKCS#7)PKCS#7格式支持存储证书和证书路径中的所有证书·DER编码的二进制X.509区别编码规则(DER)格式支持存储单个证书。该格式不支持存储私钥或证书路径。·Base64编码的X.509Base6
8、4格式支持存储单个证书。该格式不支持存储私钥或证书路径。cer/crt证书:用于存储公钥证书的文件格式,它是二进制存放的,不含私钥,不能导入到个人存储区,因为个人存储区存储与私钥相关的数字证书
此文档下载收益归作者所有