fabric1.4.x国密改造过程全记录(一)
接到任务:对hyperledger进行国密改造,上网查资料,但却没找到现成的,只能站在巨人的肩膀上自己改啦,在github搜到对自己有用的源码,一、https://github.com/tjfoc/hyperledger-fabric-gm(同济研究院基于fabric1.0.x,版本过于陈旧,大家也都是基于他的思路来修改的),二、https://github.com/gwanted/fabric-gm(基于fabric1.4.0-rc2改造,已经非常接近正确答案了,只要研究下他怎么改的,再在最新版本的基础上修改就好了)。这篇文章算是对自己修改过程的总结,也为其他需要国密改造的同学们指条明路,少绕点弯。
过程如下:
一、用beyond compare对比https://github.com/gwanted/fabric-gm/tree/v1.4.0-rc2的代码和fabric官网上fabric-1.4.0-rc2版本源码的区别,找到需要修改的点。下面罗列出来:
1 bccsp文件夹
1.1 bccsp/factory
需要修改的文件有5个
1.1.1 修改bccsp/factory/factory.go
修改如图
1.1.2 新增bccsp/factory/gmfactory.go
1.1.3 修改bccsp/factory/nopkcs11.go
1.1.4 修改bccsp/factory/opts.go
1.1.5 修改bccsp/factory/pkcs.go
bccsp/factory 文件夹需要修改的就这些。
1.2 新增bccsp/gm文件夹
下一篇https://blog.csdn.net/dyj5841619/article/details/90638997
fabric1.4.x国密改造过程全记录(一)相关推荐
- 赋能金融领域,国密改造让安全合规更加牢固
随着中国人民银行关于推进国产密码在金融领域应用的实施方案的不断深入,以及信创生态持续健全.技术环境日趋成熟,基于国产商用密码的数字证书已在银行.证券.保险等多领域加速普及,国密改造成为银行和金融机构筑 ...
- httpclient 不支持国密ssl_Hyperledger Fabric成都见面会:TWGC国密改造介绍
会议介绍 2020年12月5日,第一次参加线下成都区域的线下见面会,此次见面会中,嘉宾分享了"货信云动产数字化和管理一体化的解决方案"."从区块链到空间区块链" ...
- 国密加密算法 java 开源_Hyperledger Fabric 国密改造项目介绍
引言 密码学是区块链实施中最重要的组成部分之一.然而,每个国家都有自己的国家加密算法,因此,在实施联盟链方案時支持国密算法尤其重要.Hyperledger Fabric在包括中国在内的世界范围内得到广 ...
- Hyperleder Fabric国密改造一键部署工具区块链网络修改工具
A.Fabric国密改造(以2.2版本为例) A.1.golang国密改造修改文件清单 └─src └─crypto │ crypto.go │ ...
- Web应用国密改造方案
国密改造的背景 一.网络安全形势不容乐观 1)网络安全事件日趋严重,HTTP网站存在被伪造.中间人劫持等安全风险 -美国白宫通过2015年<HTTPS-ONLY备忘录>达到政府类网站全覆盖 ...
- 密码应用安全性评估-应用层国密改造
1.身份鉴别 系统用户使用合规第三方提供的基于国密算法的数字证书+智能密码钥匙的方式,实现基于数字签名技术的"挑战-响应"机制进行身份鉴别,保证用户身份的真实性. 流程如下:客户端 ...
- Hyperledger Fabric国密改造
Fabric国密改造是个什么概念?我们来思考以下4个问题: 为什么偏偏是密码算法?(WHY?) 什么是国密算法?(WHAT?) 改造切入点什么?(WHERE?) 如何实现国密支持?(HOW?) 1.为 ...
- 商业银行金融IC卡国密改造安全建设方案
一.背景 金融和重要领域国密改造是我国大力推进自主国产密码应用的重要政策.2011年3月,人民银行发布了<关于推进金融IC卡应用工作的意见>,开始全面启动我国金融IC卡迁移,要求2015年 ...
- fabric 国密改造
背景 最近应公司项目需求,需要对fabric中的加密相关模块进行改造,主要目的是使fabric底层加密服务支持国密算法sm2.sm3以及sm4等.借这次机会,顺便熟悉一下fabric加密模块的源码实现 ...
最新文章
- Tungsten Fabric SDN — Service Chain — Basic Service Chain and Policy-Based Steering
- 微信好友个性标签词云--微信数据分析(四)
- rcmd: socket: Permission denied
- oracle巡检 博客,自己总结了一下巡检的工作 for Oracle RAC
- wp7技术类网站汇总
- 交叉编译ncurses5.6
- FTP 时代已逝:Firefox、Chrome 等多个浏览器均已弃用!
- python 栈和队列_python实现栈和队列
- Letter Combinations of a Phone Number
- 同样的c代码,为何在windows下和linux下执行结果不一样?
- 图解Linux字符设备驱动
- Mac上Jupyter之notebook快捷键
- markdown编辑软件Ulysses 24.5 for Mac
- python集合类型
- pve 虚拟环境 vi/vim不能右键粘贴设置方法
- Pycharm下载安装 以及配置python环境变量
- 变分法证明两点之间线段最短
- 项目配置文件----.eslintignore,eslint在做风格检查的时候忽略 dist 和 vender(第三方库) 不去检查。
- Django笔记教程:三、Model进阶
- 使用JOL工具直接查看出java对象大小