实验7 PKI/CA
一、实验目的
- 理解CA颁发证书过程
- 掌握openssl命令的使用,包括公私钥产生、随机数产生、证书申请和证书颁发等
二、实验内容
- 使用openssl生成ca证书并颁发证书
- 在网站中使用PKI,配置网站的安全连接访问:https
三、实验环境
使用openssl.exe命令进行实验
四、实验要求
根据实验内容要求完成实验
五、实验步骤
1. 使用openssl生成ca证书并颁发证书的步骤以及运行结果
1、中间CA自签
##将原openssl目录下的ssl/misc/CA.sh拷贝到自己创建的测试目录下:
cp /usr/lib/ssl/misc/CA.pl ./
##创建主证书:
./CA.pl -newca
##按照提示完成需要填写的信息,若生成成功会在当前目录下的demoCA目录下生成证书文件,demoCA/private/cakey.pem为ca证书私钥,demoCA/cacert.pem为ca根证书。
##cacert.pem拷贝成ca.crt
cp demoCA/cacert.pem ca.crt
##查看ca证书内容
openssl x509 -in ca.crt -noout -text
##查看ca证书序列号
openssl x509 -in ca.crt -noout -serial
2、生成服务器证书
##生成服务器私钥:
openssl genrsa -des3 -out server.key 1024
##生成csr文件:
openssl req -new -key server.key -out server.csr
##签名并生成证书:
openssl ca -in server.csr -out server.crt
3、生成客户端证书
##生成客户端私钥:
openssl genrsa -des3 -out client.key 1024
##生成csr文件:
openssl req -new -key client.key -out client.csr
##签名并生成证书:
openssl ca -in client.csr -out client.crt
4、查看生成的密钥和证书信息
##view key info
openssl rsa -noout -text -in server.key
##view CSR info
openssl req -noout -text -in server.csr
##view cert info
openssl x509 -noout -text -in ca.crt
##verify cert
openssl verify -CAfile ca.crt server.crt
2. 在网站中使用PKI,配置网站的安全连接https访问的步骤以及效果截图
实验准备:lv1900301124.html、ca.pfx(ca.p12)、server.pfx(server.p12)
实验步骤:
lv1900301124.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>lv.com</title>
</head>
<body>
<p>测试成功!</p>
</body>
</html>
cp /root/桌面/demoCA/private/cakey.pem ./
openssl pkcs12 -export -in ca.crt -inkey cakey.pem -out ca.pfx
openssl pkcs12 -export -in server.crt -inkey server.key -out server.pfx
环境配置:
首先:安装.NET(因为很多情况下都需要NET框架,所以最好还是将net框架安装好)。
打开控制面版,启用或关闭Windows功能,找到NET Framework3.5和.NET Framework4.7,勾选3.5和4.7的所有默认复选框,再将ASP.NET4.7勾也一同选上。接着:安装IIS(Internet Information Services,找到Internet Information Services并勾选复选框,具体参看下图:(主要是应用程序开发功能相关选项)。等其安装完成(这个过程需要联网支持下载文件)
待安装完成后在浏览器里面输入http://127.0.0.1 能打开IIS起始页便是安装成功了。
搭建域名网站(仅内网访问)
1、 打开hosts文件(路径:C:\Windows\System32\drivers\etc),
并在hosts文件最后面添加:127.0.0.1 www.lv1900301124.com
2、创建网站
3、修改首页
4、浏览效果(http)
5、安装证书
双击安装ca证书(ca.pfx)
安装server证书(server.pfx)
选定证书绑定https网站:
查看效果:
六、问题记录和实验总结(必写)
本次实验使我感受到了openssl这各开放源代码的软件库包的强大之处:应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。目前这个包广泛被应用在互联网的网页服务器上。同时我其中理解CA颁发证书过程并掌握openssl命令的使用,包括公私钥产生、随机数产生、证书申请和证书颁发等。二在网站中使用PKI,配置网站的安全连接访问:https,让我理解了目前我们互联网安全网站的保证是如何运行的。