欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 实验8 加密、数字签名与证书

实验8 加密、数字签名与证书

2025/5/25 11:14:33 来源:https://blog.csdn.net/m0_73996189/article/details/148194096  浏览:    关键词:实验8 加密、数字签名与证书

实验8 加密、数字签名与证书

1、实验目的

  • 了解对称加密、非对称加密体制概念

  • 了解散列函数、数字签名和数字证书的概念和理论

  • 掌握基于Openssl的对称加密、密钥对的创建和应用

  • 掌握基于Openssl数字签名和数字证书的创建和应用

2、实验环境

  • 硬件要求:阿里云云主机ECS 一台。
  • 软件要求:Linux/Windows 操作系统

3、实验内容

OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。

参考资料:

https://www.openssl.org/

https://gitee.com/mirrors/openssl?utm_source=alading&utm_campaign=repo#download

https://www.jianshu.com/p/fb2ae3dc7986

https://slproweb.com/products/Win32OpenSSL.html

https://www.tencentcloud.com/zh/document/product/1007/30185

3.1对称加密

安装Openssl,并准备任意内容的文本文档lx.txt,利用对称加密算法对lx.txt进行加密和解密操作。

要求:要有过程描述文字,解释当前操作以及参数含义,并提供相应操作截图

3.2 散列函数

计算lx.txt的MD5和SHA256散列值

3.3 非对称加密

创建2048位的公钥密码体制RSA密钥对。利用创建的公钥加密lx.txt,私钥进行解密操作

3.4 数字签名

对文件lx.txt进行数字签名并鉴别

3.5 证书

使用openssl创建自签名证书

4、实验结果与分析

4.1 对称加密

4.1.1 安装Openssl
yum install Openssl Openssl devel -y

在这里插入图片描述

4.1.2 创建lx.txt文件

输入下方命令,编辑txt文本,

vi lx.txt

在这里插入图片描述

输入指令查看txt的内容

cat lx.txt

在这里插入图片描述

4.1.3 加密操作
openssl enc -e -des -in lx.txt -out encrypt.txt -pass pass:123456

在这里插入图片描述

4.1.4 解密操作
openssl enc -d -des -in encrypt.txt -out decrypt.txt -pass pass:123456

在这里插入图片描述

4.2 散列函数

4.2.1 计算lx.txt的MD5散列值
openssl md5 -out MD5.txt lx.txt

在这里插入图片描述

4.2.2 计算SHA256散列值
openssl sha256 -out SHA256.txt lx.txt

在这里插入图片描述

4.3 非对称加密

利用创建的公钥加密lx.txt,私钥进行解密操作

4.3.1 创建 2048 位的私钥
openssl genrsa -out private_key.pem 2048

在这里插入图片描述

4.3.2 创建2048位的公钥密码体制RSA密钥对
openssl rsa -in private_key.pem -pubout -out public_key.pem

在这里插入图片描述

4.3.3 用公钥加密

利用公钥加密lx.txt文件的内容保存为“pb_lx.txt.encrypt”,然后输入cat命令查看加密后的内容。

openssl rsautl -encrypt -in lx.txt -inkey public_key.pem -pubin -out pb_lx.txt.encrypt
cat pb_lx.txt.encrypt

在这里插入图片描述

4.3.4 用私钥解密

利用私钥解密“pb_lx.txt.encrypt”文件中的内容保存到“pb_lx.txt.decrypt”,再利用cat命令查看解密后的内容。

openssl rsautl -decrypt -in pb_lx.txt.encrypt -inkey private_key.pem -out pb_lx.txt.decrypt
cat pb_lx.txt.decrypt

在这里插入图片描述

4.4 数字签名

4.4.1 私钥签名

输入openssl命令生成私钥签名保存为“pr_lx.txt.signed”,再输入cat命令查看文件中的内容。

openssl dgst -sha1 -sign private_key.pem -out pr_lx.txt.signed lx.txt
cat pr_lx.txt.signed

在这里插入图片描述

4.4.2 公钥鉴别验证
openssl dgst -sha1 -verify public_key.pem -signature pr_lx.txt.signed lx.txt

在这里插入图片描述

4.5 证书

4.5.1 创建根目录
openssl genrsa -out rootCA.key 4096

在这里插入图片描述

4.5.2 使用 CSR 生成自签名证书
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 365 -out certificate.crt

在这里插入图片描述

4.5.3 创建证书密钥
openssl genrsa -out xju.com.key 4096

在这里插入图片描述

4.5.4 配置certificate.conf文件

输入vi命令进入编辑模式,配置如下内容,其中IP.1为服务器地址。编辑完成后输入“:wq”退出编辑模式,

vi certificate.conf

[req]

default_bits = 4096

prompt = no

req_extensions = req_ext

distinguished_name = dn

[dn]

C = CN

ST = HuBei

L = XiangYang

O = xju

OU =xju

emailAddress = 2638801586@qq.com

CN = xxx.com

[req_ext]

extendedKeyUsage = serverAuth

subjectAltName = @alt_names

[alt_names]

DNS.1 = xxx.com

IP.1 = 47.116.112.218

在这里插入图片描述

4.5.5创建签名,生成证书
openssl req -new -key xju.com.key -config certificate.conf -out xju.com.csr
openssl x509 -req -in xju.com.csr -CA certificate.crt -CAkey rootCA.key -CAcreateserial -out xju.com.crt -days 365 -sha256 -extfile certificate.conf -extensions req_ext

在这里插入图片描述

5、实验小结

(包括遇到的特定问题和解决办法、心得体会、意见与建议等)

5.1问题与解决办法:

问题1、openssl解密时,提示找不到文件。

解决方法:仔细查看命令是否正确,文件名是否输入正确。

问题2、配置certificate.conf文件不知道配置内容。

解决方法:查询资料,内容与证书签名一致,IP.1为服务器地址。

5.2心得体会:

通过这次实验,我深入了解了 OpenSSL 的基本用法和其在加密、解密、签名和证书管理方面的强大功能。我意识到网络安全在现代社会中的重要性,并更加尊重那些为保护我们数据安全而工作的专业人员。

在实验过程中,我遇到了一些挑战,比如理解复杂的命令参数和处理错误消息。但是,通过查阅文档、尝试不同的命令选项和从错误中学习,我逐渐克服了这些困难,并从中获得了宝贵的经验。

此外,我还意识到安全实践的重要性,比如使用强密码、定期更新证书和保持软件的最新版本。这些实践可以帮助我们保护自己的数据和系统免受潜在的安全威胁。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词