实验指导OpenSSL
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验要求
1.简述OpenSSL,包括提供的功能(最少300字,最多800字)
2.配置OpenSSL安装环境(指导资料一)
简要回答下列问题
(1)Perl是什么
(2)Makefile文件的作用是什么?
3.调试OpenSSL库的编程环境,也就是说,可以在你的程序中使用Openssl库提供的加密解密算法程序
(1)调通例子程序
(2)中文说明例子程序中关键函数所完成的功能,例如OpenSSL_add_all_digests()
4.使用Openssl自带的文件创建CA
简要回答下列问题
(1)什么是CA?
(2)创建CA过程中,关键问题是什么?
指导资料
在ftp://202.204.125.87下载Perl安装程序
在 网站上下载最新的Openssl源码,目前是openssl-1.0.1e.tar.gz
一、编译指导
1. 安装Perl
2. 开始->所有程序->microsoft visual studio 2008
-> visual studio Tools
-> visutal studiocommand prompt
3. 进入openssl源码目录,以下记为$openssl
(1) 运行configure:
perl Configure VC-WIN32 –prefix=c:/openssl
(2)创建Makefile文件:
ms\do_ms
(3)编译库:
nmake -f ms\ntdll.mak
(4)生成
编译完成后会在$openssl\out32dll 目录下生成库文件、动态链接库文件、Openssl执行文件和测试程序
编译中可能出现的一些问题
尽可能根据错误提示,在网络上搜索解决方案,锻炼自己解决问题的能力
例如:
二、编程环境调试
模仿第一个实验WinPcap ,在VS2008中只需要把lib 、include 文件的目录配置在VC 环境中,即配置4个目录信息,$openssl 目录下 .\crypto\des\enc_read 第150
行出错
其他的信息不用添加。
相关的lib程序是:libeay32.lib ssleay32.lib
相关的include目录位置在$openssl\include\openssl目录下可以根据需要移动到相关位置
数字证书的生成
使用Out32dll目录下的exe文件来生成数字证书。首先把教学ftp下的f文件copy到out32dll中,再运行如下命令。
1.制作可信第三方(CA)
CA产生一个自签名的证书。命令如下
查看out32dll目录下,有一个ca.crt的证书,ca.key中保存着CA的私钥和公钥
打开ca.crt可以查看CA自己给自己颁发的数字证书。如果安装该证书可以在浏览器的菜单”工具->Internet选项”中看到该证书,即把该证书作为信任证书,最好实验结束后将其删除。
2.生成证书信息(密钥及证书持有者的)
假设证书持有者是server.
(1)生成2048位密钥
查看out32dll文件下,增加了一个名为server.key的文件,该文件保存服务器的密钥
(2)生成CSR(certificate signing request)文件,the user fills in the fields that will go into the certificate。下面成功后,生
成一个server.csr文件在out32dll目录中。说明:the CSR contains the public key to be signed, and the requested fields to go into the certificate
(3) 可信第三方CA对证书签名
在out32dll目录下建立目录demoCA,其下再建立如下四个文件/目录,其中serial文件内容为01
按照下图修改f文件
把server.csr文件交给CA签名,形成服务端的证书,签名命令如下
查看server.crt证书内容