def create_envelope_for_msg(directory, nodeAdminTuple, chainId, msg, typeAsString):
payloadChainHeader = make_chain_header(type=common_dot_common_pb2.HeaderType.Value(typeAsString), channel_id=chainId)
# Now the SignatureHeader
org = directory.getOrganization(nodeAdminTuple.organization)
user = directory.getUser(nodeAdminTuple.user)
cert = directory.findCertForNodeAdminTuple(nodeAdminTuple)
serializedIdentity = identities_pb2.SerializedIdentity(mspid=org.name, id_bytes=crypto.dump_certificate(crypto.FILETYPE_PEM, cert))
serializedCreatorCertChain = serializedIdentity.SerializeToString()
nonce = None
payloadSignatureHeader = common_dot_common_pb2.SignatureHeader(
creator=serializedCreatorCertChain,
nonce=BootstrapHelper.getNonce(),
)
payloadHeader = common_dot_common_pb2.Header(
channel_header=payloadChainHeader.SerializeToString(),
signature_header=payloadSignatureHeader.SerializeToString(),
)
payload = common_dot_common_pb2.Payload(header=payloadHeader, data=msg.SerializeToString())
payloadBytes = payload.SerializeToString()
envelope = common_dot_common_pb2.Envelope(payload=payloadBytes, signature=user.sign(payloadBytes))
return envelope
return configEnvelope
评论列表
文章目录