You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Fabric Node SDK 2.2实现离线交易签名时提案签名无效报错如何解决

报错根因及解决方法

从Peer节点日志可以确定,错误本质是提案携带的用户签名验证不通过,常见原因及排查方案如下:

常见触发原因

  • 待签名内容与实际提案字节不一致:离线签名环节传入的待签名buffer不是官方要求的proposal.getProposalBytes()返回值,或是传输、序列化过程中修改了原始提案字节内容
  • 签名私钥与身份证书不匹配:构造提案时使用的用户身份证书,和离线签名时使用的私钥不属于同一密钥对
  • 身份配置错误:构造用户身份时填写的MSPID与证书所属组织MSPID不符,或是使用了过期、已吊销的组织证书
  • 编码错误:跨环境传输待签名字节时使用了UTF-8等字符编码转换,导致字节丢失、篡改,签名时的内容与原始提案字节不一致

排查步骤

  • 分别打印提案生成后待签名的proposal.getProposalBytes()哈希值、离线签名环节收到的待签名内容哈希值,确认二者完全一致
  • 单独验证密钥对有效性:用签名私钥签名任意测试字符串,再用构造身份的对应证书验签,确认公私钥匹配
  • 检查身份构造参数:确认填写的MSPID为Org1MSP、所用证书是当前通道已加入的Org1MSP下的有效用户证书
  • 跨端传输待签名内容时统一使用Base64或Hex编码,禁止直接将二进制buffer转为普通字符串传输

内容的提问来源于stack exchange,提问作者sohaib ali gill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 20:27:04