GithubHelp home page GithubHelp logo

certificate-management-system's Introduction

基于联盟链的电子证书管理系统

启动命令

cd 项目路径/network && ./stop.sh && ./start.sh && cd ../application && ./stop.sh && ./build.sh && ./start.sh && cd ../network/explorer && ./stop.sh && ./start.sh

系统介绍

基于区块链的电子证书管理系统包括三个部分:前端、后端、区块链。前端以web页面的形式,由管理系统的主页面可导航至不同机构的主页;不同机构以及管理系统拥有独立的后端,每一个后端包含了API Server和数据库服务器,所有机构利用同一个IPFS节点服务器上传加密后的证书;后端通过fabric sdk调用区块链的链码,将证书的哈希地址以及metadata上传至联盟链账本,联盟链由每个机构的peer节点以及一个orderer节点组成。该系统基于国家商用密码标准体系,可以实现数据安全、隐私保护和合法监管等功能,支持链上链下一体化的区块链数据和用户身份隐私保护与合法监管。

软件基于区块链,主要包含以下模块:

1)成员身份管理模块:对于访问系统的各类用户进行角色和权限的管理,保证只有得到合法权限的用户才能够访问证书,并且只有特定的证书颁发机构才能够用户证书上传的权限。

2)后台连接模块:提供数据库、IPFS、加解密、链码调用服务,连接客户端和区块链。

3)区块链模块:由众多节点组成区块链网络,每个节点维护一份证书的副本是区块链不可篡改的核心原理,接受成员的请求,进行证书的存储和访问管理。

及如下接口:

4)与证书颁发机构接口:

通过该接口,证书颁发机构可以将本机构颁发的证书上传至区块链网络。

5)与访问证书用户的接口:

通过该接口,需要访问证书的用户可以查询证书并验证证书是否被篡改。

系统概述

基于区块链的电子证书管理系统包括三个部分:前端、后端、区块链。前端以web页面的形式,由管理系统的主页面可导航至不同机构的主页;不同机构以及管理系统拥有独立的后端,每一个后端包含了API Server和数据库服务器,所有机构利用同一个IPFS节点服务器上传加密后的证书;后端通过fabric sdk调用区块链的链码,将证书的哈希地址以及metadata上传至区块链账本,区块链由每个机构的peer节点以及一个orderer节点组成。总体框架如下图所示。

总体框架图

业务流程

整个业务流程分为:业务部署流程、基于区块链的组织机构电子证书验证流程、单机构管理系统流程。业务部署流程包括搭建Hyperledger Fabric网络、安装链码、配置IPFS和CA服务,以及建立RESTful API通信。组织机构电子证书验证流程通过服务端处理HTTP 请求,使用SDK与链码交互,确保证书的真实性和有效性。单机构管理系统流程使得管理员能够通过HTTP请求进行证书的增删改查,服务端与链码和IPFS协作,确保每项操作的不可篡改性和记录的完整性。这三大流程共同构成了电子证书管理系统的完整业务操作架构。具体如下图所示

image-20240403004445341

具体功能模块如下:

  1. 用户/管理员模块:主要实现用户以及管理员的账号注册登录功能
    • 用户注册与登录
    • 管理员注册与登录
  2. 证书查询模块:包括了机构内的用户进行自己的证书查询以及机构内的管理员查询机构所认证的证书两个功能,这里查询的证书都是经管理员认证后上链的证书
    • 主管理系统证书验证
    • 用户查询证书
    • 管理员查看证书
  3. 用户申请模块:包含了用户提交申请、用户查看申请状态、用户撤销未审核申请或者删除已审核申请的接口
    • 提交申请
    • 查看申请状态
    • 撤销/删除申请
  4. 文件操作模块:包含了用户上传证书时的文件上传以及用户查询证书时的文件下载相关接口
    • 文件上传
    • 文件下载
  5. 管理员审核模块:包括审核通过与审核不通过两个接口
    • 审核通过
    • 审核不通过
  6. 消息通知模块:管理员审核完成后通知用户

certificate-management-system's People

Contributors

jeremyhua1931 avatar crashcar avatar raymond-li0518 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.