adding canonical flag
This commit is contained in:
parent
e5ca765f15
commit
eaa763aff1
2 changed files with 3 additions and 3 deletions
|
|
@ -123,7 +123,7 @@ namespace fc {
|
|||
fc::sha512 get_shared_secret( const public_key& pub )const;
|
||||
|
||||
// signature sign( const fc::sha256& digest )const;
|
||||
compact_signature sign_compact( const fc::sha256& digest )const;
|
||||
compact_signature sign_compact( const fc::sha256& digest, bool require_canonical = true )const;
|
||||
// bool verify( const fc::sha256& digest, const signature& sig );
|
||||
|
||||
public_key get_public_key()const;
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ namespace fc { namespace ecc {
|
|||
return secp256k1_nonce_function_default( nonce32, msg32, key32, *extra, nullptr );
|
||||
}
|
||||
|
||||
compact_signature private_key::sign_compact( const fc::sha256& digest )const
|
||||
compact_signature private_key::sign_compact( const fc::sha256& digest, bool require_canonical )const
|
||||
{
|
||||
FC_ASSERT( my->_key != empty_priv );
|
||||
compact_signature result;
|
||||
|
|
@ -94,7 +94,7 @@ namespace fc { namespace ecc {
|
|||
do
|
||||
{
|
||||
FC_ASSERT( secp256k1_ecdsa_sign_compact( detail::_get_context(), (unsigned char*) digest.data(), (unsigned char*) result.begin() + 1, (unsigned char*) my->_key.data(), extended_nonce_function, &counter, &recid ));
|
||||
} while( !public_key::is_canonical( result ) );
|
||||
} while( require_canonical && !public_key::is_canonical( result ) );
|
||||
result.begin()[0] = 27 + 4 + recid;
|
||||
return result;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue