基于Python完成CA系统的设计和实现(附源码)
CA 系统开发
一、CA系统的设计和实现
注:CA,Certificate Authority,电子认证服务或机构,为电子签名相关各方提供真实性和可靠性验证,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验责任。
项目完整源码下载:
https://download.csdn.net/download/DeepLearning_/87280066
二、功能要求:实现一个CA系统
接受用户提交的认证申请,包括用户信息的表单和公钥等,提交时让用户自己产生公钥对;
在对用户实施认证的过程中,储存相应的用户信息,如证书、营业执照的扫描文档等。这些文档应经过安全的加密(加密算法任选);
给通过认证的用户颁发证书;
用户密钥丢失时,可以吊销证书,密钥作废。
选做且加分项:交互友好的程序界面。
三、性能要求
能抵抗大多数的常见攻击,如重放攻击、生日攻击、字典攻击等。
对该系统进行详细测试,给出测试用例或方案,并以实验的方式给出该系统针对上述攻击的结果。详细的测试和实验是评分的重要依据。
选做且加分项:1)测试数据可来自真实测试集;2)可自拟客观指标对测试结果进行衡量;3)对测试结果可进行加密位数、密钥空间、攻击时空复杂性等数学分析或算法分析;4)针对测试结果可改进该系统。
四、文件介绍
data
文件夹:存放系统生成数据的文件夹;.pem
文件:用户的公钥、私钥文件;data/sourceFile
文件夹:存放用户原始数据的文件夹,若使用到加解密功能则会直接对文件进行更改;yyzz.txt
文件:一个简单的营业执照示例,用于测试代码;config.py
文件:内置了系统需要用到或生成的文件路径,可根据需要自行更改。
五、使用
如果图像显示失效,请将项目下载到本地并查看 README.md
文件。
由于系统较为简陋,没有考虑多用户的实际使用情况,因此不建议创建多个用户进行测试。如果您有兴趣,可自行修改代码并对本仓库做出贡献!
1. 签名
用户使用 CA 系统的签名功能;
运行
run.py
,按下述步骤进行交互:
运行后系统生成系统公私钥文件,并对用户私钥进行签名;
此时系统可以将系统公钥
data/CApubkey.pem
公开,系统私钥data/CAprivkey.pem
通过可靠的方式告知其他用户;签名后的用户私钥为
data/test.pem
:
2. 认证
用户 2 持有 CA 系统签发的系统私钥,可对系统进行认证;
运行
run.py
,按下述步骤进行交互:
- 认证后的用户公钥文件如下所示
data/test.pem
:
- 可以发现认证后的文件与用户私钥一致;
3. 吊销证书
特别提醒,此步骤应在加解密文件操作之后使用(因为文件解密会使用到证书);
就是删除系统中有关某用户签名或认证的文件;
运行
run.py
,按下述步骤进行交互:
4. 加密
使用用户公钥对
data/sourceFile/yyzz.txt
文件进行加密,原文件内容如下:运行
run.py
,按下述步骤进行交互:
- 加密后的
yyzz.txt
文件如下所示:
5. 解密
使用 CA 系统通过用户登录的方式来工作,系统会自行核验用户身份,若通过则使用系统密钥与用户密钥对文件进行解密。
运行
run.py
,按下述步骤进行交互:
解密后的
yyzz.txt
文件如下所示:
基于Python完成CA系统的设计和实现(附源码)相关推荐
- springboot+基于微信小程序的心理医生系统的设计实现 毕业设计-附源码191610
小程序springboot心理医生系统 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难 ...
- 基于Vue的在线购物系统的设计与实现(论文+源码)_kaic
目录 摘要 一.绪论 (一)选题背景意义 (二)国内外研究现状 1.国内研究现状 2.国外研究现状 (三)研究内容 二.系统相关技术 (一)Vue.js框架 (二)Mysql数据库 (三)JavaSc ...
- 基于SSM红色教育系统的设计与实现毕业设计源码211757
SSM红色教育系统的开发 摘 要 红色文化在高校廉政文化建设中具有重要价值,为高校廉政文化建设提供了本源性优质资源和优秀文化根基,提供了正确的价值观导问.积极挖掘和深入研究红色文化资源,运用红色文化研 ...
- 基于web网上订餐系统的设计与实现(论文+源码)_kaic
目录 1绪论 1.1课题研究背景 1.2研究现状 1.3主要内容 1.4本文结构 2网上订餐系统需求分析 2.1系统业务流程分析 2.2消费者用户业务流程分析 2.3商户业务流程分析 2.4管理员用户 ...
- (毕业设计)springboot大学生健康报送系统的设计与实现 附源码091005
目 录 摘要 1 1 绪论 1 1.1研究背景与意义 1 1.2开发现状与发展趋势 1 1.3系统开发技术的特色 1 1.4论文结构与章节安排 1 2 大学生健康报送系统系统分析 3 2.1 可行性分 ...
- 基于Python的多平台音乐下载器(附源码软件)
写在前面 本软件所有功能均由Python实现 本软件由本人原创,所用的图标来自iconfont.cn 本软件仅供大家参考与学习,请支持正版音乐! 软件下载: https://wwx.lanzoux.c ...
- ASP.NET基于web的视频点播系统的设计与实现1629源码、说明文档
近年来,随着网络的快速发展,信息技术的时代已经来临,越来越多的便捷.高效的视频网站是当前社会深受大众喜爱,它可以使用户通过视频网站,足不出户,随时随地可进行在线浏览.观看各类有趣的视频,用户也能在线进 ...
- 基于Python的数据分析系统的设计和实现
<基于Python的数据分析系统的设计和实现>该项目采用技术Python的django框架.mysql数据库 ,项目含有源码.论文.PPT.配套开发软件.软件安装教程.项目发布教程.核心代 ...
- 基于Python的汽车销售系统的设计和实现
<基于Python的汽车销售系统的设计和实现>该项目采用技术Python的django框架.mysql数据库,项目含有源码.论文.PPT.配套开发软件.软件安装教程.项目发布教程.核心代码 ...
- 基于python食品安全溯源管理系统django框架计算机毕业设计源码+系统+数据库+lw文档+调试部署
基于python食品安全溯源管理系统django框架计算机毕业设计源码+系统+数据库+lw文档+调试部署 基于python食品安全溯源管理系统django框架计算机毕业设计源码+系统+数据库+lw文档 ...
最新文章
- CDMA核心技术专利人是谁?
- UCZProgressView CALayer旋转
- python基础知识资料-学习Python列表的基础知识汇总
- MIT CSAIL最新研究:将AI应用于流媒体视频,可获得更好的播放体验
- POJ 2800 垂直直方图 解题报告
- java 数据 权限_Java如何利用Mybatis进行数据权限控制详解
- jmeter环境配置
- Visual Studio 内存泄漏检测方法
- response对象设置返回状态_postman 设置全局变量
- securecrt调试c语言程序,SecureCRT脚本编写常用函数之WaitForString
- 双11背后的黑科技:大数据实时计算如何为你量身定制?
- 通讯录 C语言分类,C语言 通讯录
- 谷歌浏览器去除广告--广告终结者
- 微信对接会员管理系统搭建体系
- android 关闭jack_编译Android时禁用Jack Server
- Apple新发布的APFS文件系统对用户意味着什么
- Kali aircrack-ng 暴破wifi
- hdu1176 免费馅饼 ( 数塔(DP))
- 5年测试开发工程师感悟——写给还在迷茫中的朋友
- C盘扩容(使用DiskGenius软件进行操作)
热门文章
- 第九课 k8s网络CNI插件学习-Flannel网络插件
- 用EditPlus来编辑网页代码 写网页代码 网页软件安装包大小1.91MB JQ代码编辑软件
- 厕所自动系统 c语言程序,智能卫生间控制系统.doc
- c++2046替换字母
- Visio 导出 PDF 文件 图片分辨率被降采样怎么解决
- QT button立体感
- flaot 数据类型的一些坑(大数吃小数)
- 编译原理之词法分析实验(附完整C/C++代码与总结)
- 使用Selenium+Chrome爬取淘宝美食
- html固定页眉页脚,html-固定的页眉/页脚内容高度100%导致不希望的垂直滚动