openssl使用方法PPT演示文稿.ppt

上传人:rrsccc 文档编号:8764664 上传时间:2021-01-13 格式:PPT 页数:21 大小:216.50KB
返回 下载 相关 举报
openssl使用方法PPT演示文稿.ppt_第1页
第1页 / 共21页
openssl使用方法PPT演示文稿.ppt_第2页
第2页 / 共21页
openssl使用方法PPT演示文稿.ppt_第3页
第3页 / 共21页
openssl使用方法PPT演示文稿.ppt_第4页
第4页 / 共21页
openssl使用方法PPT演示文稿.ppt_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《openssl使用方法PPT演示文稿.ppt》由会员分享,可在线阅读,更多相关《openssl使用方法PPT演示文稿.ppt(21页珍藏版)》请在三一文库上搜索。

1、1,OpenSSL,2,前言,一、什么是OpenSSL,OpenSSL是一个开放源代码的SSL协议的产品实现,它采用C语言作为开发语言,具备了跨系统的性能,支持Linux、Unix、Windows、Mac和VMS等多种平台。 OpenSSL最早的版本在1995年发布,1998年后开始由OpenSSL项目组维护和开发。当前最新的版本是0.9.7b版本,完全实现了对SSLv1、SSLv2、SSLv3和TLS的支持。目前,OpenSSL已经得到了广泛的应用,许多类型的软件中的安全部分都使用了OpenSSL的库,如VOIP的OpenH323协议、Apache服务器、Linux安全模块等等。,3,二、O

2、penSSL的组成,虽然OpenSSL使用SSL作为其名字的重要组成部分,但其实现的功能确远远超出了SSL协议本身。OpenSSL事实上包括了三部分:SSL协议、密码算法库和应用程序库。,SSL协议部分完全实现和封装了SSL协议的三个版本和TLS协议,SSL协议库的实现是在密码算法库的基础上实现的。使用该库,你完全可以建立一个SSL服务器和SSL客户端。,密码算法库是一个强大完整的密码算法库,它是OpenSSL的基础部分,也是很值得一般密码安全技术人员研究的部分,它实现了目前大部分主流的密码算法和标准。主要包括公开密钥算法、对称加密算法、散列函数算法、X509数字证书标准、PKCS12、PKC

3、S7等标准。事实上,OpenSSL的SSL协议部分和应用程序部分都是基于这个库开发的。,4,目前,这个库除了可以使用本身的缺省算法外,在0.9.6版本之后,还提供了Engine机制,用于将如加密卡这样外部的加密算法实现集成到OpenSSL中。,应用程序部分是OpenSSL最生动的部分,也是OpenSSL使用入门部分。该部分基于上述的密码算法库和SSL协议库实现了很多实用和范例性的应用程序,覆盖了众多的密码学应用。主要包括了各种算法的加密程序和各种类型密钥的产生程序(如RSA、Md5、Enc等等)、证书签发和验证程序(如Ca、X509、Crl等)、SSL连接测试程序(如S_client和S_se

4、rver等)以及其它的标准应用程序(如Pkcs12和Smime等)。在某些时候,不需要做二次开发,仅仅使用这些应用程序便能得到我们的应用要求,比如采用Ca程序就能基本上实现一个小型的CA功能。,5,三、基于OpenSSL的应用,基于OpenSSL指令的应用,基于OpenSSL加密库和协议库的应用,基于OpenSSL指令的应用很容易,只要安装好了OpenSSL,就可以开始使用了。 最简单的应用就是使用Req、CA以及X509指令来签发一个证书了,该证书可以用于各种目的,比如很多Apache服务器就是使用OpenSSL的指令生成的证书作为服务器证书。,基于OpenSSL函数库的应用相比与基于Ope

5、nSSL指令的应用开发的工作量会大很多,但这并不意味着其应用会更少。事实上,基于OpenSSL的应用大部分是这种方式的,这种方式使得开发者能够根据自己的需求灵活地进行选择,而不必受OpenSSL有限的指令的限制。,6,CA的目录结构,一、创建自己的CA,7,certs目录:存放的是有效的用户证书,里面的文件格式是.cert格式,每一个用户对应一个证书。这些证书已经被CA签名了,是有效的。证书的具体格式在后面会有叙述和实例。,Crl目录:在这个目录中存放的是证书撤销列表,里面的文件格式是.crl格式。一个.crl文件记录了一段时期内被撤销的证书的序列号。所有这些撤销列表合起来记录了所有的被撤销的

6、用户证书。证书撤销列表的具体格式见后面的分析。,newcerts:在这个目录中存放的是那些等待被CA签名的用户证书,这些证书还是没有被签名的,暂时无效。不过这些用户的申请信息已经告知了CA系统,系统管理员可以通过对这些信息的分析,决定是否对这个证书签名,使其生效。,private:这个目录中存放的是所有用户包括CA的私钥,里面的文件格式是.key格式的。每一个证书对应一个.key文件。这个目录起到一个简单的密钥归档作用。,8,1、创建一个数据库(index.txt文件),2、创建一个序列号(serial)文件,记录根CA创建证书或者撤销证书的事件;,记录下次即将创建的用户证书的序列号;,每次创

7、建一个新证书时,将其中的序列号赋给证书;,证书创建完成后,自动将序列号加1;,根证书的序列号默认为 00;,每次创建或者撤销证书事件发生时,它是自动更新的;,1.1 创建CA的准备工作,9,1.2 创建CA证书的基本步骤,1、在原来创建的. rnd文件中输入一个数做为伪随机数发生器的种子;,2、利用1中的种子和RSA算法为CA生成一个CA密钥对;,3、申请创建CA证书,输入系统要求的必要的注册信息;系统会用2中生成的CA密钥对对这个证书进行自签名;,4、安装生成的CA证书,即让本机信任这个CA证书;,10,1.3 生成CA密钥对,命令: genrsa out privateca.key ran

8、d private.rnd 2048,生成的密钥对存放在ca.key中。,11,生成密钥对命令的详细解释:,genrsa:用RSA算法产生(gen)密钥对;,out privateca.key:生成的密钥对存放(out)在private目录下的ca.key文件中;,rand private.rnd:在RSA算法中,伪随机数产生器用的种子是放在private.rnd中的;里面的种子管理员可以手动修改;,2048:表示生成的密钥长度是2048位的。,显然,上面的.key文件是明文保存的,是很不安全的。而密钥一旦泄漏,响应的证书也就失效。所以CA提供了一个可选配置,通过配置,使得每次生成一个新的密钥

9、对的时候,必须用一个口令对响应的.key文件进行加密(加密算法是DES)。这在一定程度上提高了系统的可靠性。,12,1.4 创建CA证书(自签名),命令格式: C:CARootreq -new -x509 days 3650 -key privateca.key -out privateca.crt -config f,13,命令详细解释:,req -new -x509:申请(req)一个新的(new)的x509证书;,days 3650:证书的有效期是3650天。一般CA证书的有效期较长,而用户证书的有效期相对来说较短;,-key privateca.key:对这个证书进行签名的CA密钥存放

10、在privateca.key中(我们上一步产生CA密钥对的时候就是放在这里的);,-out privateca.crt:生成的证书放在(-out)private目录下,证书的名字是ca.crt;,-config f:产生证书的时候采用的配置策略,里面可能包括证书的版本信息、扩展信息等。,14,1.5 CA证书的详细内容,版本(V3) 序列号(00) 加密算法(RSA、MD5) 有效期(2005年5月24日 至 2015年5月22日) 公钥 自签名 (2048位) 颁发者 证书申请者信息 (注册过程中的全部信息),完整证书如下:,证书形式:,15,二、 生成用户证书,2.1 生成用户证书的基本步

11、骤,1、在原来创建的. rnd文件中输入随机数;,2、利用1中的随机数和RSA算法为CA生成一个CA密钥对;,3、向CA系统提出证书申请,输入系统要求的个人信息;系统根据用户的注册信息生成一个未签名的用户证书;,4、CA对用户的信息进行检查,对用户证书进行签名或不响应用户请求。,16,生成用户证书的步骤和生成CA证书大致上是一样的,用户证书和CA证书的格式大致上也是相同的。其区别主要如下:,首先,用户证书必须要被CA签名才会有效。因为,两个用户相互信任的基础是都信任同一个CA;,具体到证书格式上,x509证书的v3版本中,有一个选项表示证书的类型是否是CA证书(具体的内容见证书实例);,另外,

12、在一个根CA证书中是没有证书链的,因为它不需要别的更高级别的机构来保证它的有效性;而用户证书中是有一个证书链的,用户之间的相互认证是需要对这个证书链进行查找的。,下面我们来看看CA对用户证书签名的命令。,17,2.2 对用户的证书进行签名,命令:ca ss_cert cert_new.crt key privateca.key config f policy policy_anything out signedcert.crt,生成的用户证书:如下,18,三、撤销用户证书,命令: ca revoke signedcert.crt config f,19,四、发布证书撤销列表,命令: ca -g

13、encrl -crldays 7 -config f -out crlca.crl,证书列表的主要内容: 证书列表的有效期 下次发布证书列表的时间 被撤销的证书的序列号,证书撤销列表的具体形式:,命令解释:由CA产生(gen)一个crl列表,有效期是7天(crldays 7),产生的撤销列表是crl/ca.crl。,20,五、数据库的更新,创建两个用户证书(序列号分别为01和02),然后撤销其中一个之(02)后,数据库(index.txt)里的数据:,V060524084846Z01unknown /C=US/ST=WDC/L=WDC/O=Haverd/OU=CS/CN=Bear/Email= R060524091852Z050524092357Z02unknown /C=Us/ST=NY/L=MH/O=CS/OU=CS/CN=xiong/Email=,在这个简易的CA系统中,所有的系统活动都在index.txt文件中有记录。主要记录的是创建用户证书和撤销用户证书活动。,V(valid)表示01序列号表示的证书是有效的,060524084846z表示它创建的时间是2006年50月24日8点48分46秒(采用的时间是格林威治时间);R(revoked)表示02序列号的证书被撤销了,其中一个时间表示撤销时间,另一个时间表示本来到期的时间。,21,END,THANKS,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1