博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hyperledger Fabric密码模块系列之BCCSP(一)
阅读量:5101 次
发布时间:2019-06-13

本文共 1011 字,大约阅读时间需要 3 分钟。

   Fabric作为IBM主导的区块链平台,可谓是联盟链中的一枝独秀,现如今已经有100多个大型国际银行、金融以及科技公司的加盟。与其说Fabric是区块链的一种平台,倒不如说是一个区块链框架更加精确,因为如果你渐渐了解熟悉之后,你会发现他并不像Bitcoin和Ethereum一样,可以作为单独的应用来使用。而Fabric就像是其他框架一样,你必须通过智能合约来实现自己的业务才能使用,包括代币(如果你的业务场景需要的话)也需要自己小心翼翼的去自主实现。还有个重要的特点就是Fabric是插件化的,你可以方便的实现自己的共识算法、密码算法以及成员服务等,哪里需要换哪里。

  这里提到了密码算法插件化(可插拔),对,我们接下来的日子里就针对Fabric的密码算法模块BCCSP(blockchain crypto service provider)进行分析,并且将SMx(国密算法)系列算法进行适配。

————————————进入正题——————————————————

bccsp目录结构如下

简单介绍一下:

bccsp.go:  主要接口声明的文件,比如BCCSP、Key、各种Opts等, 其中BCCSP接口包含了Sign Verify Encrypt Decrypt Hash KeyGen KeyDerive等

sw: bccsp的纯软件实现,内部实现通过调用go原生支持的密码算法,并且提供了一个keystore来保存密钥,密钥默认保存在/tmp目录下

pkcs11: bccsp的pkcs11实现,通过调用pkcs11接口来实现相关的密码操作,仅支持ecdsa、rsa以及aes算法。密钥保存在pkcs11通过pin口令保护的数据库或者硬件设备中。

utils:工具包,密钥编码转换等

signer: 实现了go的crypto.signer接口

factory:factory是bccsp的一个工厂,可以通过这个工厂返回一个具体的bccsp实例,比如上面说的sw或者pkcs11,如果添加了自己的bccsp实现,也要讲该bccsp添加到factory中。

 

--------------------------------------------------

Well begun is half done.

 

转载于:https://www.cnblogs.com/informatics/p/7522445.html

你可能感兴趣的文章
ojective-C学习笔记(7)Foundation框架
查看>>
CDH5.14.0 安装失败,无法接受agent发出的检测信号
查看>>
CSS Reset的相关概念及实例
查看>>
数据库
查看>>
iOS开发UI篇—UIScrollView控件实现图片缩放功能
查看>>
如何制作富文本框
查看>>
第十节:Web爬虫之数据存储与MySQL8.0数据库安装和数据插入
查看>>
mysql主从复制与主主复制
查看>>
常用日期格式符(表格)
查看>>
Xcode CoreData 存储报错问题。
查看>>
学习Jammendo代码的心路历程(二)ViewFlipper数据的填充
查看>>
Quality in the Test Automation Review Process and Design Review Template
查看>>
高亮显示搜索的关键词(二)
查看>>
2. 知识图谱-命名实体识别(NER)详解
查看>>
344. Reverse String
查看>>
JAVA-初步认识-第四章-其他流程控制语句
查看>>
shell脚本中执行python脚本并接收其返回值的例子
查看>>
一次代码重构记录
查看>>
Windows10下安装MySQL8.0
查看>>
html/css静态网页制作
查看>>