Skip to content

Commit 10dab90

Browse files
committed
Merge #1741: doc: clarify API doc of secp256k1_ecdsa_recover return value
7321bdf doc: clarify API doc of `secp256k1_ecdsa_recover` return value (Jonas Nick) Pull request description: ACKs for top commit: jonasnick: ACK 7321bdf Tree-SHA512: a7bac228cf504f6c8a53fdc15c7f3241ac27c214e10b9aabdf962e8d7c4c5107d0c0898467bd3f491cecf0ca2851c604da1ec5520a353b27c8aa02ce3daf2334
2 parents b475654 + 7321bdf commit 10dab90

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

include/secp256k1_recovery.h

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,17 @@ SECP256K1_API int secp256k1_ecdsa_sign_recoverable(
9292

9393
/** Recover an ECDSA public key from a signature.
9494
*
95-
* Returns: 1: public key successfully recovered (which guarantees a correct signature).
95+
* Successful public key recovery guarantees that the signature, after normalization,
96+
* passes `secp256k1_ecdsa_verify`. Thus, explicit verification is not necessary.
97+
*
98+
* However, a recoverable signature that successfully passes `secp256k1_ecdsa_recover`,
99+
* when converted to a non-recoverable signature (using
100+
* `secp256k1_ecdsa_recoverable_signature_convert`), is not guaranteed to be
101+
* normalized and thus not guaranteed to pass `secp256k1_ecdsa_verify`. If a
102+
* normalized signature is required, call `secp256k1_ecdsa_signature_normalize`
103+
* after `secp256k1_ecdsa_recoverable_signature_convert`.
104+
*
105+
* Returns: 1: public key successfully recovered
96106
* 0: otherwise.
97107
* Args: ctx: pointer to a context object.
98108
* Out: pubkey: pointer to the recovered public key.

0 commit comments

Comments
 (0)