IM在使用斜角操作员的HyperLeDger面料上工作的用户界面。在Fabric的默认实现中,CA创建了为每个用户签署交易的钥匙。我想通过允许用户用自己的私钥签署交易来删除此过程。我发现您可以首先创建交易来分开提交交易过程,但是我不知道如何在签名后提交。我该怎么做才能实施?
我在签署后尝试提交它,但是由于没有用钱包钥匙签名,它返回错误
通过FabricGateway客户端API中的细粒交易流,您可以在发送流程之前明确签署每个消息:提案,交易和提交。在您的应用程序作为中介机构运行以允许远程客户端与Fabric网络交互的情况下,这样做的方法记录为off-lineSigning。有关更详细的描述和一些示例代码段 总而言之,客户需要为您的中介申请提供其公共证书:X.509证书和与之关联的会员服务提供商ID。您可以使用这些来创建网关实例。执行离线签名: 从网关获得的合同用于创建交易建议。
您从提案中获取摘要(
Go,
java客户端将签名返回给您,然后使用网关创建一个新的签名建议(Go,node,java
),并从签名和原始(Unsigned)建议的序列化字节中。然后可以发送签名的提案以进行认可。您按照相同的步骤签署所得的交易并随着流动的进展提交对象。 默认情况下,摘要是消息内容的SHA256哈希。如果您的签名实现需要不同的哈希算法或整个消息字节,则可以设置适当的哈希算法或在创建网关实例时指定无(或no-op)哈希算法。