mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 14:38:29 +01:00
Always create 70 byte signatures with low R values
When extra entropy is not specified by the caller, CKey::Sign will now always create a signature that has a low R value and is at most 70 bytes. The resulting signature on the stack will be 71 bytes when the sighash byte is included. Using low R signatures means that the resulting DER encoded signature will never need to have additional padding to account for high R values.
This commit is contained in:
@@ -369,7 +369,7 @@ public:
|
||||
std::vector<unsigned char> vchSig, r, s;
|
||||
uint32_t iter = 0;
|
||||
do {
|
||||
key.Sign(hash, vchSig, iter++);
|
||||
key.Sign(hash, vchSig, false, iter++);
|
||||
if ((lenS == 33) != (vchSig[5 + vchSig[3]] == 33)) {
|
||||
NegateSignatureS(vchSig);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user