# PKI_blockchain **Repository Path**: weiether/pki_blockchain ## Basic Information - **Project Name**: PKI_blockchain - **Description**: 基于区块链的车联网PKI - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-02-21 - **Last Updated**: 2024-04-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 服务器端负责更新MPT(证书更新)并将最新root hash上传到区块链并广播(UDP)给客户端 服务请求方,提供自己公钥以及认证路径 认证方根据对方提供的信息检索和root hash验证对方root hash是否在MPT中 本模型实现了证书请求、分布式认证、证书撤销三个场景 操作说明: 修改.env文件,设置服务器端、客户端的IP地址 服务器端运行 python3 pki_server_v2.py ![输入图片说明](readme_jpg/%E5%9B%BE%E7%89%87%201.png) 客服端A运行 python3 clientA.py(显示加密部分运行clientA_true.py) ![输入图片说明](readme_jpg/%E5%9B%BE%E7%89%87%202.png) 输入register A端进行注册 ![输入图片说明](readme_jpg/%E5%9B%BE%E7%89%87%203.png) 等待区块链广播 ![输入图片说明](readme_jpg/%E5%9B%BE%E7%89%87%204.png) 客服端B运行 python3 clientB_2.py 输入register进行注册 等待区块链广播结束后A和B可通信,在光标处输入传输的消息即可 ![输入图片说明](readme_jpg/%E5%9B%BE%E7%89%87%206.png) 例:A端输入hello car B ![输入图片说明](readme_jpg/%E5%9B%BE%E7%89%87%207.png) ![输入图片说明](readme_jpg/%E5%9B%BE%E7%89%87%208.png) 在A(B)端输入remove后,A(B)的证书被撤销 ![输入图片说明](readme_jpg/%E5%9B%BE%E7%89%87%209.png) 等待区块链广播 ![输入图片说明](readme_jpg/%E5%9B%BE%E7%89%87%2010.png) A端再输入消息,B端认证不成功 ![输入图片说明](readme_jpg/%E5%9B%BE%E7%89%87%2011.png) ![输入图片说明](readme_jpg/%E5%9B%BE%E7%89%87%2012.png) 在A和B都未撤销的情况下 A(B)端输入ping可在B(A)端查看一次验签和AU认证的时间 ![输入图片说明](readme_jpg/%E5%9B%BE%E7%89%87%2013.png) B端 ![输入图片说明](readme_jpg/%E5%9B%BE%E7%89%87%2014.png)