diff options
author | Peter Todd <pete@petertodd.org> | 2015-01-09 05:52:57 -0500 |
---|---|---|
committer | Peter Todd <pete@petertodd.org> | 2015-01-09 06:03:22 -0500 |
commit | 2fa9a8ec86033b809a1c48f0396c3482c0d5d33c (patch) | |
tree | 4cd6abf6979cf22bc9962accb7472083e6daa830 /src/test/data/script_valid.json | |
parent | d0c97bbe70a6876dadedfbf672387371c9c849d1 (diff) |
Make empty byte arrays pass CheckSignatureEncoding()
Makes it possible to compactly provide a delibrately invalid signature
for use with CHECK(MULTI)SIG. For instance with BIP19 if m != n invalid
signatures need to be provided in the scriptSig; prior to this change
those invalid signatures would need to be large DER-encoded signatures.
Note that we may want to further expand on this change in the future by
saying that only OP_0 is a "valid" invalid signature; BIP19 even with
this change is inherently malleable as the invalid signatures can be any
validly encoded DER signature.
Diffstat (limited to 'src/test/data/script_valid.json')
-rw-r--r-- | src/test/data/script_valid.json | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/test/data/script_valid.json b/src/test/data/script_valid.json index 5253d5e39e..a187401cd4 100644 --- a/src/test/data/script_valid.json +++ b/src/test/data/script_valid.json @@ -662,6 +662,11 @@ ["0 0 0x02 0x0000", "CHECKMULTISIGVERIFY 1", ""], ["0 0x02 0x0000 0", "CHECKMULTISIGVERIFY 1", ""], +["While not really correctly DER encoded, the empty signature is allowed by"], +["STRICTENC to provide a compact way to provide a delibrately invalid signature."], +["0", "0x21 0x02865c40293a680cb9c020e7b1e106d8c1916d3cef99aa431a56d253e69256dac0 CHECKSIG NOT", "STRICTENC"], +["0 0", "1 0x21 0x02865c40293a680cb9c020e7b1e106d8c1916d3cef99aa431a56d253e69256dac0 1 CHECKMULTISIG NOT", "STRICTENC"], + ["CHECKMULTISIG evaluation order tests. CHECKMULTISIG evaluates signatures and"], ["pubkeys in a specific order, and will exit early if the number of signatures"], ["left to check is greater than the number of keys left. As STRICTENC fails the"], |