【fabric源码--peer】Endorser预处理签名提案消息
2021-07-20 13:53:13 1 举报
基于fabric2.1
作者其他创作
大纲/内容
F
core\\endorser\\endorser.go
err== \"\"
T
通过ACL检查 return nil
ChannelId == \"\"
preProcess
检查签名提案消息的唯一性 防止重放攻击
调用up.Validate,验证提案消息格式与签名的合法性
不需要检查签名提案消息的唯一性与验证通道访问权限策略,return nil
不检查系统链码的情况
未通过ACL检查 return 错误信息
1.消息类型必为HeaderType_ENDORSER_TRANSACTION或HeaderType_CONFIG中的一种2.Epoch不为03.随机数Nonce和消息签名者Creator不应该为nil,并且该对象字节数不为04.重新计算交易ID并进行对比5.根据Creator获得对应的msp身份6.调用creator.Validate()验证证书的合法性7.调用creator.Verify()验证消息签名的有效性
是用户链码,调用CheckACL()→defaultACLProvider. CheckACL()方法, 检查签名提案消息是否满足通道PROPOSE权限策略要求,以允许提交该消息到指定通道上继续进行处理
如果获取交易数据成功且没有错误,则说明账本中已经保存了指定交易ID的交易数据。因此,当前提案消息属于重复提交,报错返回。
IsSysCC调用链码不是系统链码
0 条评论
回复 删除
下一页