# PBOC Study **Repository Path**: LanceChen/pboc_study ## Basic Information - **Project Name**: PBOC Study - **Description**: PBOC 3.0标准的研究试验代码 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2025-01-09 - **Last Updated**: 2025-09-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PBOC 3.0 非接触式卡认证 ## 介绍 根据PBOC 3.0标准实现的非接触式金融卡的读卡和认证过程。 本项目旨在对PBOC 3.0标准进行学习研究,并非适用于生产环境。适用于有智能卡技术基础,可以合规获得金融CA认证公钥的开发人员参考。 ## 使用 ### 下载 ``` git clone https://gitee.com/LanceChen/pboc_study.git ``` ### 硬件要求 需要安装PC/SC标准读卡器。本项目开发使用的是identiv MCR4000P双界面读卡器,Windows系统。 ### 依赖库 - 通过pip安装 - pyca/cryptography: SHA1哈希算法 - tomlkit: toml文件读写 - pyscard: PC/SC智能卡读写 - 通过源码安装 - asn1util: 作者的ASN.1编解码工具库 - https://gitee.com/LanceChen/asn1 ## 功能 - PBOCContactlessUtil.adpu: ISO/IEEE 7816规定的命令-响应对格式 - PBOCContactlessUtil.cardops: 读写卡的命令操作,使用了pyscard库。 - PBOCContactlessUtil.dataauth: PBOC 3.0借记/贷记的数据认证算法(SDA/DDA/fDDA) - PBOCContactlessUtil.posutil: PBOC 3.0借记/贷记的操作命令和流程 - PBOCContactlessUtil.offcardveri: 对写入日志的操作命令及数据结果的认证 - 可以用于不具备智能卡读写器时的学习验证 - datasamples中提供了若干张银行卡的数据样本 - 调用方式参见reader_test.py中ReaderTest.test_offcard函数 ## 参考文献 - 《中国金融集成电路(IC)卡规范 第4部分:借记贷记应用规范》(JR/T 0025.4-2018) - 《中国金融集成电路(IC)卡规范 第5部分:借记贷记应用卡片规范》(JR/T 0025.5-2018) - 《中国金融集成电路(IC)卡规范 第6部分:借记贷记应用终端规范》(JR/T 0025.6-2018) - 《中国金融集成电路(IC)卡规范 第7部分:借记贷记应用安全规范》(JR/T 0025.7-2018) - 《中国金融集成电路(IC)卡规范 第12部分:非接触式IC卡支付规范》(JR/T 0025.12-2018) - 李东荣主编《<中国金融集成电路(IC)卡规范(3.0版)>解读》 ## 待完善内容 - PBOC 3.0的借记/贷记的数据认证过程的详细说明 - 国密算法SM2/SM3/SM4的实现和验证