fabric国密支持

百味纯净水 · · 1407 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

介绍

        本文主要介绍fabric国密改造要点、国密改造已完成版本、国密改造后的使用方法,同时,会给出完成国密改造的版本地址,分享给大家使用。

修改要点

    1 签名验签改造

        这部分改造主要是修改密钥的生命周期管理,包含:密钥生成(keygen.go)、密钥派生(kederiv.go)、密钥加载(keyimport.go)。这些部分添加国密支持后,在sw/new.go的bccsp实例化过程中加入对应的国密处理器类。另外,在sw/fileks.go中将密钥写入文件或者从文件中载入密钥的部分添加国密类型密钥的支持。

    2 证书改造

        这部分改造相对比较简单,对原逻辑侵入性非常小。我们自研了一套扩展了国密证书格式的x509库,只需将原来依赖的golang自带的x509库路径替换成我们提供的库路径即可。

    3 grpc改造

        这部分改造与证书类型,对原逻辑侵入性小。我们提供了一套支持国密tls证书的grpc库,替换了vendor目录下原来的库。

国密改造后项目使用说明

        编译方式:经过国密改造后的fabric项目,编译过程与原方式相同,通过make peer-docker/orderer-docker/tools-docker 编译好镜像后即可正常使用。
        证书工具:cryptogen工具新添加了一个参数sm2,类型为bool,默认为true。sm2参数为true的情况下生成国密证书,sm2参数为false情况下生成的是ecdsa证书。

项目路径

这部分主要提供两个路径,分别为国密库的项目路径和fabric国密改造后的项目路径

    1 国密操作库

https://github.com/cetcxinlian/cryptogm

此项目包含sm2、sm3、sm4的国密算法,以及支持国密的x509证书操作库。

    1 fabric国密支持代码库

https://gitee.com/suchongming/fabric

此代码库目前针对两个fabric版本做了国密支持,分别为1.4.6和2.0.0。库中的代码编译后可正常运行,使用fabric-sample中的脚本测试,可正常启动和运行。


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:百味纯净水

查看原文:fabric国密支持

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1407 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传