1
0
mirror of https://github.com/bitcoin/bips.git synced 2024-11-19 01:40:05 +01:00

Clarify handling of default fields for signing.

This commit is contained in:
Gavin Andresen 2014-06-04 19:11:04 -04:00
parent 1534482827
commit b2c0b87a9c

View File

@ -124,7 +124,11 @@ A PaymentRequest is PaymentDetails optionally tied to a merchant's identity:
|-
| serialized_payment_details || A protocol-buffer serialized PaymentDetails message.
|-
| signature || digital signature over a hash of the protocol buffer serialized variation of the PaymentRequest message, with all fields serialized in numerical order (all current protocol buffer implementations serialize fields in numerical order) and signed using the public key in pki_data. Before serialization, the signature field must be set to an empty value so that the field is included in the signed PaymentRequest hash but contains no data.
| signature || digital signature over a hash of the protocol buffer serialized variation of the PaymentRequest message,
with all serialized fields serialized in numerical order (all current protocol buffer implementations serialize
fields in numerical order) and signed using the public key in pki_data. Optional fields that are not set
are not serialized (however, setting a field to its default value will cause it to be serialized and will affect
the signature). Before serialization, the signature field must be set to an empty value so that the field is included in the signed PaymentRequest hash but contains no data.
|}
When a Bitcoin wallet application receives a PaymentRequest, it must authorize payment by doing the following: