public static final class SignedProposal.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<SignedProposal.Builder> implements SignedProposalOrBuilder
This structure is necessary to sign the proposal which contains the header and the payload. Without this structure, we would have to concatenate the header and the payload to verify the signature, which could be expensive with large payload When an endorser receives a SignedProposal message, it should verify the signature over the proposal bytes. This verification requires the following steps: 1. Verification of the validity of the certificate that was used to produce the signature. The certificate will be available once proposalBytes has been unmarshalled to a Proposal message, and Proposal.header has been unmarshalled to a Header message. While this unmarshalling-before-verifying might not be ideal, it is unavoidable because i) the signature needs to also protect the signing certificate; ii) it is desirable that Header is created once by the client and never changed (for the sake of accountability and non-repudiation). Note also that it is actually impossible to conclusively verify the validity of the certificate included in a Proposal, because the proposal needs to first be endorsed and ordered with respect to certificate expiration transactions. Still, it is useful to pre-filter expired certificates at this stage. 2. Verification that the certificate is trusted (signed by a trusted CA) and that it is allowed to transact with us (with respect to some ACLs); 3. Verification that the signature on proposalBytes is valid; 4. Detect replay attacks;Protobuf type
protos.SignedProposal
Modifier and Type | Method and Description |
---|---|
SignedProposal.Builder |
addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
Object value) |
SignedProposal |
build() |
SignedProposal |
buildPartial() |
SignedProposal.Builder |
clear() |
SignedProposal.Builder |
clearField(com.google.protobuf.Descriptors.FieldDescriptor field) |
SignedProposal.Builder |
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) |
SignedProposal.Builder |
clearProposalBytes()
The bytes of Proposal
|
SignedProposal.Builder |
clearSignature()
Signaure over proposalBytes; this signature is to be verified against
the creator identity contained in the header of the Proposal message
marshaled as proposalBytes
|
SignedProposal.Builder |
clone() |
SignedProposal |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
com.google.protobuf.Descriptors.Descriptor |
getDescriptorForType() |
com.google.protobuf.ByteString |
getProposalBytes()
The bytes of Proposal
|
com.google.protobuf.ByteString |
getSignature()
Signaure over proposalBytes; this signature is to be verified against
the creator identity contained in the header of the Proposal message
marshaled as proposalBytes
|
boolean |
isInitialized() |
SignedProposal.Builder |
mergeFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
SignedProposal.Builder |
mergeFrom(com.google.protobuf.Message other) |
SignedProposal.Builder |
mergeFrom(SignedProposal other) |
SignedProposal.Builder |
mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) |
SignedProposal.Builder |
setField(com.google.protobuf.Descriptors.FieldDescriptor field,
Object value) |
SignedProposal.Builder |
setProposalBytes(com.google.protobuf.ByteString value)
The bytes of Proposal
|
SignedProposal.Builder |
setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
int index,
Object value) |
SignedProposal.Builder |
setSignature(com.google.protobuf.ByteString value)
Signaure over proposalBytes; this signature is to be verified against
the creator identity contained in the header of the Proposal message
marshaled as proposalBytes
|
SignedProposal.Builder |
setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) |
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, newBuilderForField
findInitializationErrors, getInitializationErrorString, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, toString
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
public SignedProposal.Builder clear()
clear
in interface com.google.protobuf.Message.Builder
clear
in interface com.google.protobuf.MessageLite.Builder
clear
in class com.google.protobuf.GeneratedMessageV3.Builder<SignedProposal.Builder>
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
getDescriptorForType
in interface com.google.protobuf.Message.Builder
getDescriptorForType
in interface com.google.protobuf.MessageOrBuilder
getDescriptorForType
in class com.google.protobuf.GeneratedMessageV3.Builder<SignedProposal.Builder>
public SignedProposal getDefaultInstanceForType()
getDefaultInstanceForType
in interface com.google.protobuf.MessageLiteOrBuilder
getDefaultInstanceForType
in interface com.google.protobuf.MessageOrBuilder
public SignedProposal build()
build
in interface com.google.protobuf.Message.Builder
build
in interface com.google.protobuf.MessageLite.Builder
public SignedProposal buildPartial()
buildPartial
in interface com.google.protobuf.Message.Builder
buildPartial
in interface com.google.protobuf.MessageLite.Builder
public SignedProposal.Builder clone()
clone
in interface com.google.protobuf.Message.Builder
clone
in interface com.google.protobuf.MessageLite.Builder
clone
in class com.google.protobuf.GeneratedMessageV3.Builder<SignedProposal.Builder>
public SignedProposal.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
setField
in interface com.google.protobuf.Message.Builder
setField
in class com.google.protobuf.GeneratedMessageV3.Builder<SignedProposal.Builder>
public SignedProposal.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
clearField
in interface com.google.protobuf.Message.Builder
clearField
in class com.google.protobuf.GeneratedMessageV3.Builder<SignedProposal.Builder>
public SignedProposal.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
clearOneof
in interface com.google.protobuf.Message.Builder
clearOneof
in class com.google.protobuf.GeneratedMessageV3.Builder<SignedProposal.Builder>
public SignedProposal.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
setRepeatedField
in interface com.google.protobuf.Message.Builder
setRepeatedField
in class com.google.protobuf.GeneratedMessageV3.Builder<SignedProposal.Builder>
public SignedProposal.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
addRepeatedField
in interface com.google.protobuf.Message.Builder
addRepeatedField
in class com.google.protobuf.GeneratedMessageV3.Builder<SignedProposal.Builder>
public SignedProposal.Builder mergeFrom(com.google.protobuf.Message other)
mergeFrom
in interface com.google.protobuf.Message.Builder
mergeFrom
in class com.google.protobuf.AbstractMessage.Builder<SignedProposal.Builder>
public SignedProposal.Builder mergeFrom(SignedProposal other)
public final boolean isInitialized()
isInitialized
in interface com.google.protobuf.MessageLiteOrBuilder
isInitialized
in class com.google.protobuf.GeneratedMessageV3.Builder<SignedProposal.Builder>
public SignedProposal.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
mergeFrom
in interface com.google.protobuf.Message.Builder
mergeFrom
in interface com.google.protobuf.MessageLite.Builder
mergeFrom
in class com.google.protobuf.AbstractMessage.Builder<SignedProposal.Builder>
IOException
public com.google.protobuf.ByteString getProposalBytes()
The bytes of Proposal
bytes proposal_bytes = 1 [json_name = "proposalBytes"];
getProposalBytes
in interface SignedProposalOrBuilder
public SignedProposal.Builder setProposalBytes(com.google.protobuf.ByteString value)
The bytes of Proposal
bytes proposal_bytes = 1 [json_name = "proposalBytes"];
value
- The proposalBytes to set.public SignedProposal.Builder clearProposalBytes()
The bytes of Proposal
bytes proposal_bytes = 1 [json_name = "proposalBytes"];
public com.google.protobuf.ByteString getSignature()
Signaure over proposalBytes; this signature is to be verified against the creator identity contained in the header of the Proposal message marshaled as proposalBytes
bytes signature = 2 [json_name = "signature"];
getSignature
in interface SignedProposalOrBuilder
public SignedProposal.Builder setSignature(com.google.protobuf.ByteString value)
Signaure over proposalBytes; this signature is to be verified against the creator identity contained in the header of the Proposal message marshaled as proposalBytes
bytes signature = 2 [json_name = "signature"];
value
- The signature to set.public SignedProposal.Builder clearSignature()
Signaure over proposalBytes; this signature is to be verified against the creator identity contained in the header of the Proposal message marshaled as proposalBytes
bytes signature = 2 [json_name = "signature"];
public final SignedProposal.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
setUnknownFields
in interface com.google.protobuf.Message.Builder
setUnknownFields
in class com.google.protobuf.GeneratedMessageV3.Builder<SignedProposal.Builder>
public final SignedProposal.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
mergeUnknownFields
in interface com.google.protobuf.Message.Builder
mergeUnknownFields
in class com.google.protobuf.GeneratedMessageV3.Builder<SignedProposal.Builder>
Copyright © 2022. All rights reserved.