实验:模拟实现https

本文档详述了从头开始模拟实现HTTPS的过程,包括在C机器上生成根CA,服务器B向CA申请证书,颁发及配置服务器证书,以及实验中遇到的证书过期问题。实验目标是理解HTTPS的工作机制和配置流程。
摘要由CSDN通过智能技术生成

不知道我们平时上网有没有留意过,我们输网址时有时候直接输名字(比如:www.baidu.com),有时候输入http(比如:http://www.taobao.com),等等,但在浏览器上会自动给我们调到https:。。。。上面(有些浏览器显示有些不显示),如下图所示,用火狐浏览器打开俩个网页,回车后,会出现带锁的https的网址,

 


所以,现在好多网页不管你直接输入名字,还是输入http的网址,都会自动跳转到加密的较安全的https的网址上,所以,接下来我们就简单的模拟一下如何从http跳到https上;

在实验的最后出现我的证书过期错误,没能解决,希望哪位大神看到后,能帮忙解决一下,感谢!!!

一:实验背景;                                                                                                                                                                                          

1、https工作机制:1)、客户端(A)向服务器端(B)发送请求;2)、B向A发送带有CA签名并用CA的私钥加密后的B公钥的证书;3)、客户端(A)一般是信任CA的,所以有CA的公钥,通过CA的公钥将其解开,验证其证书是否合法,验证合法后,客户端得到B的公钥;4)、客户端(A)生成临时的会话秘钥(session key),用服务器(B)的公钥加密后发给服务器;5)、服务器(B)通过会话秘钥加密用户请求的资源再响应给客户端,完成加密的数据传送;

2、注意会话秘钥是对称的;

3、准备三台机器:A:客户端192.168.242.202(;B:服务器192.168.242.206(172.17.0.108);C:CA192.168.242.248(我这里三台机器的名字分别设成client、server、ca)

4、https其实是http协议和ssl/tls协议的组合;即用ssl/tls对http协议的文本数据进行加密处理后,成为二进制形式传输;

二:实验步骤;                                                                                                                                                                    

一:在C机器上先生成根CA;                                                                                                       

1、创建所需要的文件;

[root@ca ~]# cd /etc/pki/CA/                 #先进入到CA的目录下(创建秘钥都要在此文件下或其子文件下)
[root@ca /etc/pki/CA]# tree                  #先查看一下目前是否机器是否干净(即是否有别的其他不需要的文件的干扰)
.
├── certs
├── crl
├── newcerts                        
└── private

4 directories, 0 files
[root@ca /etc/pki/CA]# touch index.txt      #生成证书索引数据库文件
[root@ca /etc/pki/CA]# echo 01 > serial     #指定第一个颁发证书的序列号
#注意,这两个文件若是不事先创建好,在颁发证书时会报错,到时候再创建也行(你可以都试一下,我这里是先创建的)

2、生成私钥;

[root@ca /etc/pki/CA]# umask 066;openssl genrsa -out private/cakey.pem -des3 2048    #umask设定权限;名字必须叫cakey.pem,-des3加密类型和2048位数位置不能反。(若是懒得输密码,就不用加密即不加-des3选项)
Generating RSA private key, 2048 bit long modulus
...+++
.............................+++
e is 65537 (0x10001)
Enter pass phrase for private/cakey.pem:                                             #设置口令密码
Verifying - Enter pass phrase for private/cakey.pem:                                 #再次输入密码
[root@ca /etc/pki/CA]# tree
.
├── certs
├── crl
├── index.txt           #创建的数据库文件
├── newcerts
├── private
│   └── cakey.pem    #创建的私钥
└── serial             #存放证书序列号的文件

3、自签名证书(自己颁发给自己的证书);

[root@ca /etc/pki/CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 7500      #其中:-new: 生成新证书签署请求、-x509: 专用于CA生成自签证书、-key: 生成请求时用到的私钥文件、-days n:证书的有效期限、-out /PATH/TO/SOMECERTFILE: 证书的保存路径
Enter pass phrase for private/cakey.pem:                                                             #因为我们创建私钥时有加密,所以这里要输入密码
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can le
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值