一.实验内容
1.对称加密
2.散列函数
3.非对称加密
4.数字签名
5.证书
二.实验结果及分析
2.1 对称加密
(1)安装 OpenSSL:登录阿里云服务器,输入命令:“yum install openssl openssl-devel -y”,结果如下图所示,OpenSSL安装成功。
图2.1-1 安装OpenSSL
(2)创建lx.txt文件:输入“vi lx.txt”命令创建 lx.txt 文件,并写入“世事如书,我偏爱你这一句,愿做个逗号,待在你脚边。但你有自己的朗读者,而我只是个摆渡人”,然后输入命令“cat lx.txt” 查看 lx.txt 文件的内容。结果如下图所示:
图2.1-2 创建文件并写入内容的结果
(3)利用对称加密算法对lx.txt进行加密:输入“openssl enc -e -des -in lx.txt -out encrypt.txt -pass pass:666999”命 令,将 lx.txt 文件内容加密至 encrypt.txt 文件,输入“cat encrypt.txt”命令可查看加密后的内容。
图2.1-3 输入命令进行对称加密
图2.1-4 对称加密后的内容
(4)利用对称加密算法对lx.txt进行解密操作:输入“openssl enc -d -des -in encrypt.txt -out decrypt.txt -pass pass:666999” 命令,将 encrypt.txt 文件的内容解密至 decrypt.txt 文件,输入“cat decrypt.txt”命令可查看解密后的内容,结果如下图所示:
图2.1.5 解密
2.2 散列函数
(1)计算lx.txt的MD5散列值:输入“openssl md5 -out MD5.txt lx.txt”命令,再输入“cat MD5.txt”命令获取lx.txt 的MD5散列值——MD5(lx.txt)= 1e95c5673f5a8bda5b3101060c553f17。如下图所示:
图2.2-1 计算lx.txt的MD5散列值
(2)计算lx.txt的SHA256散列值:输入命令“openssl sha256 -out SHA256.txt lx.txt”,再输入命令“cat SHA256.txt” 即可获取 lx.txt 的 SHA256 散列值:42446b5fdf123b4ec47ea13b5207676bef7256b79db0a6d355226d1735f70419。
图2.2-2 计算lx.txt的SHA256散列值
2.3 非对称加密
(1)创建2048位的公钥密码体制RSA密钥对:首先输入命令“openssl genrsa -out private_key.pem 2048”,创建 2048 位的私钥。再输入命令“openssl rsa -in private_key.pem -pubout -out public_key.pem”,从而生成 2048 位的公钥密码体制 RSA 密钥对。
图2.3-1 创建 2048 位的私钥
图2.3-2 生成 2048 位的公钥密码体制 RSA 密钥对
(2)利用创建的公钥加密lx.txt:输入“openssl rsautl -encrypt -in lx.txt -inkey public_key.pem -pubin -out pb_lx.txt.encrypt”命令,加密 lx.txt 文件内容至 pb_lx.txt.encrypt 文件,输入“cat pb_lx.txt.encrypt”命令可查看加密后的内容。
图2.3-3 利用创建的公钥加密lx.txt
(3)私钥进行解密:输入“openssl rsautl -decrypt -in pb_lx.txt.encrypt -inkey private_key.pem -out pb_lx.txt.decrypt”命令,解密 pb_lx.txt.encrypt 文件内容至 pb_lx.txt.decrypt 文件, 输入“cat pb_lx.txt.decrypt”命令可查看解密后的内容
图2.3-4 私钥进行解密
2.4 数字签名
(1)对文件lx.txt进行数字签名:输入“openssl dgst -sha1 -sign private_key.pem -out pr_lx.txt.signed lx.txt” 命令,生成私钥签名。输入“cat pr_lx.txt.signed”命令查看文件的内容,结果如下图所示:
图2.4-1 对文件lx.txt进行数字签名
(2)鉴别:输入命令“openssl dgst -sha1 -verify public_key.pem -signature pr_lx.txt.signed lx.txt”,进行公钥验证签名。结果如下图所示:
图2.4-2 鉴别成功
2.5 证书
(1)创建根目录:输入命令“openssl genrsa -out rootCA.key 4096”。
图2.5-1 创建根目录
(2)创建并自签名根证书:输入命令:openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 365 -out rootCA.crt。
图2.5-2 创建并自签名根证书
(3)创建证书秘钥:输入命令“openssl genrsa -out Yho.com.key 4096”,结果如下图所示:
图2.5-3 创建证书密钥
(4)配置 certificate.conf 文件:输入命令“vi certificate.conf”,输入配置内容:
[req]
default_bits = 4096
prompt = no
req_extensions = req_ext
distinguished_name = dn
[dn]
C = CN
ST = Henan
L = nanyang
O = Yihao
OU =Yihao
emailAddress = 3351735653@qq.com
CN = xxx.com
[req_ext]
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = xxx.com
IP.1 = 139.196.253.242
结果如图2.5-4所示。
(5)创建签名:输入命令 “ openssl req -new -key Yho.com.key -config certificate.conf -out Yhoo.com.csr”
图2.5-5 创建签名
图4.5-4 配置 certificate.conf 文件
(6)生成证书:输入命令:openssl x509 -req -in Yhoo.com.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out Yhoo.com.crt -days 365 -sha256 -extfile certificate.conf -extensions req_ext
图2.5-5 生成证书文章来源:https://www.toymoban.com/news/detail-475629.html
3.注意事项
配置 certificate.conf 文件时,IP.1 = XXX是根据自己服务器来写的文章来源地址https://www.toymoban.com/news/detail-475629.html
到了这里,关于计算机网络实验之加密、数字签名与证书的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!