CA 系统开发

一、CA系统的设计和实现

​ 注:CA,Certificate Authority,电子认证服务或机构,为电子签名相关各方提供真实性和可靠性验证,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验责任。

项目完整源码下载:

https://download.csdn.net/download/DeepLearning_/87280066

二、功能要求:实现一个CA系统

  1. 接受用户提交的认证申请,包括用户信息的表单和公钥等,提交时让用户自己产生公钥对;

  2. 在对用户实施认证的过程中,储存相应的用户信息,如证书、营业执照的扫描文档等。这些文档应经过安全的加密(加密算法任选);

  3. 给通过认证的用户颁发证书;

  4. 用户密钥丢失时,可以吊销证书,密钥作废。

  5. 选做且加分项:交互友好的程序界面。

三、性能要求

  1. 能抵抗大多数的常见攻击,如重放攻击、生日攻击、字典攻击等。

  2. 对该系统进行详细测试,给出测试用例或方案,并以实验的方式给出该系统针对上述攻击的结果。详细的测试和实验是评分的重要依据。

  3. 选做且加分项:1)测试数据可来自真实测试集;2)可自拟客观指标对测试结果进行衡量;3)对测试结果可进行加密位数、密钥空间、攻击时空复杂性等数学分析或算法分析;4)针对测试结果可改进该系统。

四、文件介绍

  1. data 文件夹:存放系统生成数据的文件夹;
  2. .pem 文件:用户的公钥、私钥文件;
  3. data/sourceFile 文件夹:存放用户原始数据的文件夹,若使用到加解密功能则会直接对文件进行更改;
  4. yyzz.txt 文件:一个简单的营业执照示例,用于测试代码;
  5. 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系统的设计和实现(附源码)相关推荐

  1. springboot+基于微信小程序的心理医生系统的设计实现 毕业设计-附源码191610

    小程序springboot心理医生系统 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难 ...

  2. 基于Vue的在线购物系统的设计与实现(论文+源码)_kaic

    目录 摘要 一.绪论 (一)选题背景意义 (二)国内外研究现状 1.国内研究现状 2.国外研究现状 (三)研究内容 二.系统相关技术 (一)Vue.js框架 (二)Mysql数据库 (三)JavaSc ...

  3. 基于SSM红色教育系统的设计与实现毕业设计源码211757

    SSM红色教育系统的开发 摘 要 红色文化在高校廉政文化建设中具有重要价值,为高校廉政文化建设提供了本源性优质资源和优秀文化根基,提供了正确的价值观导问.积极挖掘和深入研究红色文化资源,运用红色文化研 ...

  4. 基于web网上订餐系统的设计与实现(论文+源码)_kaic

    目录 1绪论 1.1课题研究背景 1.2研究现状 1.3主要内容 1.4本文结构 2网上订餐系统需求分析 2.1系统业务流程分析 2.2消费者用户业务流程分析 2.3商户业务流程分析 2.4管理员用户 ...

  5. (毕业设计)springboot大学生健康报送系统的设计与实现 附源码091005

    目 录 摘要 1 1 绪论 1 1.1研究背景与意义 1 1.2开发现状与发展趋势 1 1.3系统开发技术的特色 1 1.4论文结构与章节安排 1 2 大学生健康报送系统系统分析 3 2.1 可行性分 ...

  6. 基于Python的多平台音乐下载器(附源码软件)

    写在前面 本软件所有功能均由Python实现 本软件由本人原创,所用的图标来自iconfont.cn 本软件仅供大家参考与学习,请支持正版音乐! 软件下载: https://wwx.lanzoux.c ...

  7. ASP.NET基于web的视频点播系统的设计与实现1629源码、说明文档

    近年来,随着网络的快速发展,信息技术的时代已经来临,越来越多的便捷.高效的视频网站是当前社会深受大众喜爱,它可以使用户通过视频网站,足不出户,随时随地可进行在线浏览.观看各类有趣的视频,用户也能在线进 ...

  8. 基于Python的数据分析系统的设计和实现

    <基于Python的数据分析系统的设计和实现>该项目采用技术Python的django框架.mysql数据库 ,项目含有源码.论文.PPT.配套开发软件.软件安装教程.项目发布教程.核心代 ...

  9. 基于Python的汽车销售系统的设计和实现

    <基于Python的汽车销售系统的设计和实现>该项目采用技术Python的django框架.mysql数据库,项目含有源码.论文.PPT.配套开发软件.软件安装教程.项目发布教程.核心代码 ...

  10. 基于python食品安全溯源管理系统django框架计算机毕业设计源码+系统+数据库+lw文档+调试部署

    基于python食品安全溯源管理系统django框架计算机毕业设计源码+系统+数据库+lw文档+调试部署 基于python食品安全溯源管理系统django框架计算机毕业设计源码+系统+数据库+lw文档 ...

最新文章

  1. CDMA核心技术专利人是谁?
  2. UCZProgressView CALayer旋转
  3. python基础知识资料-学习Python列表的基础知识汇总
  4. MIT CSAIL最新研究:将AI应用于流媒体视频,可获得更好的播放体验
  5. POJ 2800 垂直直方图 解题报告
  6. java 数据 权限_Java如何利用Mybatis进行数据权限控制详解
  7. jmeter环境配置
  8. Visual Studio 内存泄漏检测方法
  9. response对象设置返回状态_postman 设置全局变量
  10. securecrt调试c语言程序,SecureCRT脚本编写常用函数之WaitForString
  11. 双11背后的黑科技:大数据实时计算如何为你量身定制?
  12. 通讯录 C语言分类,C语言 通讯录
  13. 谷歌浏览器去除广告--广告终结者
  14. 微信对接会员管理系统搭建体系
  15. android 关闭jack_编译Android时禁用Jack Server
  16. Apple新发布的APFS文件系统对用户意味着什么
  17. Kali aircrack-ng 暴破wifi
  18. hdu1176 免费馅饼 ( 数塔(DP))
  19. 5年测试开发工程师感悟——写给还在迷茫中的朋友
  20. C盘扩容(使用DiskGenius软件进行操作)

热门文章

  1. 第九课 k8s网络CNI插件学习-Flannel网络插件
  2. 用EditPlus来编辑网页代码 写网页代码 网页软件安装包大小1.91MB JQ代码编辑软件
  3. 厕所自动系统 c语言程序,智能卫生间控制系统.doc
  4. c++2046替换字母
  5. Visio 导出 PDF 文件 图片分辨率被降采样怎么解决
  6. QT button立体感
  7. flaot 数据类型的一些坑(大数吃小数)
  8. 编译原理之词法分析实验(附完整C/C++代码与总结)
  9. 使用Selenium+Chrome爬取淘宝美食
  10. html固定页眉页脚,html-固定的页眉/页脚内容高度100%导致不希望的垂直滚动