云南大学软件学院PKI体系与CA技术实验2

  • 格式:docx
  • 大小:686.07 KB
  • 文档页数:9

下载文档原格式

  / 9
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

云南大学软件学院实验报告

课程:PKI体系与CA技术学期:2015-2016学年第二学期任课教师:刘璟

专业:信息安全学号219 姓名:刘宁宁成绩:

实验2 使用OpenSSL创建自己的签证中心

实验时间:实验地点:软件大楼1428 ;

注意:

实验报告统一命名为:学号姓名实验1.docx,例如:学号为203的张三同学提交的实验报告应该命名为:203张三实验1.docx

一、实验目的

1. 学会开源软件OpenSSL的编译和安装,从而掌握一般开源软件的编译和安装方法(指Unix系统下的开源软件的编译和安装方法)。

2. 使用OpenSSL创建自己的签证(CA)中心。

3. 学会使用OpenSSL来管理数字证书的整个生命周期。

4. 熟悉OpenSSL,为以后在OpenSSL基础上做进一步的编程开发工作打下基础。

二、实验内容

1. 在Windows环境下编译和安装开源软件OpenSSL,掌握围绕makefile文件的软件编译和安装方

法。

2. 应用OpenSSL来创建自己的签证(CA)中心:

1)为签证中心创建工作环境;

2)研究OpenSSL配置文件,并创建一个自己的OpenSSL配置文件;

3)生成CA自签名的根证书,并了解CA自签名根证书的作用。

4)为用户签发(颁发)数字证书;

5)吊销已签发的数字证书。

三、详细实验步骤(关键步骤请截屏)

1.openssl的安装:

Perl安装完成:

为Visual Studio 2010(Visual C++)设置临时环境变量:

执行如下Configure命令(该步骤的目的是配置编译参数,对编译环境进行基本的配置):

perl Configure VC-WIN32

至此,openssl的配置完成。

2.使用openssl创建自己的签证中心建立CA目录:

创建OpenSSL配置文件:

修改req项里面的内容:

运行命令:C:\CARoot>openssl req -x509 -newkey rsa -out private\cacert.pem -outform PEM

在命令行输入C:\CARoot> openssl ca -in testreq.pem

生成了一个名为“01.pem”的数字证书

4、吊销已经签发的数字证书:

如下命令:C:\CARoot>openssl ca -revoke newcerts\01.pem

生成一个证书吊销列表exampleca.crl:C:\CARoot>openssl ca -gencrl -out exampleca.crl

输入命令:C:\CARoot>openssl crl -in exampleca.crl -text -noout

成功吊销证书,显示verify OK:

四、实验总结

通过回答以下几个问题来进行总结:

1.实验一种我们从沃通官网下载的数字证书格式为PFX,在本实验中我们使用OpenSSL生成的数字证书格式为PEM,试比较两种证书格式的异同?

答:该编码格式在RFC1421中定义,其实PEM是Privacy-Enhanced Mail的简写,但他也同样广泛运用于密钥管理,一般基于base 64编码。

2.OpenSSL包含了哪三大部分?每部分分别实现了哪些功能?

OpenSSL事实上包括了三部分:SSL协议、密码算法库和应用程序库。

SSL协议部分完全实现和封装了SSL协议的三个版本和TLS协议,SSL协议库的实现是在密码算法库的基础上实现的。使用该库,你完全可以建立一个SSL服务器和SSL客户端。

密码算法库是一个强大完整的密码算法库,它是OpenSSL的基础部分,也是很值得一般密码安全技术人员研究的部分,它实现了目前大部分主流的密码算法和标准。主要包括公开密钥算法、对称加密算法、散列函数算法、X509数字证书标准、PKCS12、PKCS7等标准。事实上,OpenSSL的SSL 协议部分和应用程序部分都是基于这个库开发的。

应用程序部分是OpenSSL最生动的部分,也是OpenSSL使用入门部分。该部分基于上述的密码算法库和SSL协议库实现了很多实用和范例性的应用程序,覆盖了众多的密码学应用。主要包括了各种算法的加密程序和各种类型密钥的产生程序(如RSA、Md5、Enc等等)、证书签发和验证程序(如Ca、X509、Crl等)、SSL连接测试程序(如S_client和S_server等)以及其它的标准应用程序(如Pkcs12和Smime等)。在某些时候,不需要做二次开发,仅仅使用这些应用程序便能得到我们的应用要求,比如采用Ca程序就能基本上实现一个小型的CA功能。

2.试分析OpenSSL的index.txt和serial两个文件的功能?

index.txt:在CARoot目录下创建一个名为index.txt的文本文件,用于保存一个数据库,该数据库用于跟踪CA发布的所有数字证书;

Serial:每一个数字证书在它产生时都被赋于了一个唯一的序列号(serial number),用这个文件来记录当前的证书序列号。

3.运用OpenSSL创建签证中心并完成基本的证书管理过程需要使用到哪些基本命令?并简介每个基本命令的作用?

-help :你可以用这个命令来了解更多的OpenSSL指令,并且当忘记哪一个指令用法时可以方便的查找;

-out :输出文件路径;

-text :可以使用此命令来查看目标的内容;

rand :随机数命令。这里将随机数文件输出到private目录下

生成证书签发申请过程中:

-req :产生证书签发申请命令;

-new :表示新请求;

-key :密钥,这里为private/;

-out :输出路径,这里为private/ca.csr文件;

-subj :指定用户信息;