Fabric 2.1 国密改造笔记(详解)(一) ——总体思路
源代码:https://github.com/paul-lee-attorney/fabric-2.1-gm
导入的国密算法原创代码: https://github.com/ZZMarquis/gm
联系方式:
paul_lee0919@163.com
声明: 源代码仅仅做了单元测试,没有做编译、Docker等系统测试。哪位大牛会做,帮忙测试一下。有啥问题,帮忙指教一下!非常感谢!; )
基于业务需要和个人兴趣,尝试着基于Fabric 2.1做了一下BCCSP的国密改造。仅仅改造了BCCSP模块,且没有动idexmix方案和基于硬件的pkcs11方案,仅仅将GM系列算法,尽量以**“只添加不修改”** 的方式解决问题。
一、总体思路:
- 在BCCSP根目录加入gmopts.go,加入所需要的SM系列选项类;
- 在Factory文件夹,加入了gmfactory.go,直接从具体工厂层面将GM系列切分出来;这么做的初衷在于区分SM4秘钥和AES秘钥,否则对于这种没有结构的秘钥,除了在PEM的头部加标签之外,实在不知道怎么区分为好。从具体工厂层面切分,比较干净,使得配套的接口实现代码可以相对完整的放在一个目录中,尽量不碰Fabric的其他代码模块。
- 加入gm文件夹,实现CSP全部接口,其中: