![]() |
Bitcoin Core 22.99.0
P2P Digital Currency
|
#include <pubkey.h>
#include <hash.h>
#include <secp256k1.h>
#include <secp256k1_extrakeys.h>
#include <secp256k1_recovery.h>
#include <secp256k1_schnorrsig.h>
#include <span.h>
#include <uint256.h>
#include <algorithm>
#include <cassert>
Go to the source code of this file.
Functions | |
int | ecdsa_signature_parse_der_lax (const secp256k1_context *ctx, secp256k1_ecdsa_signature *sig, const unsigned char *input, size_t inputlen) |
This function is taken from the libsecp256k1 distribution and implements DER parsing for ECDSA signatures, while supporting an arbitrary subset of format violations. More... | |
const secp256k1_context * | GetVerifyContext () |
Access to the internal secp256k1 context used for verification. More... | |
Variables | |
static const CHashWriter | HASHER_TAPTWEAK = TaggedHash("TapTweak") |
int ecdsa_signature_parse_der_lax | ( | const secp256k1_context * | ctx, |
secp256k1_ecdsa_signature * | sig, | ||
const unsigned char * | input, | ||
size_t | inputlen | ||
) |
This function is taken from the libsecp256k1 distribution and implements DER parsing for ECDSA signatures, while supporting an arbitrary subset of format violations.
Parse a signature in "lax DER" format.
Supported violations include negative integers, excessive padding, garbage at the end, and overly long length descriptors. This is safe to use in Bitcoin because since the activation of BIP66, signatures are verified to be strict DER before being passed to this module, and we know it supports all violations present in the blockchain before that point.
Definition at line 35 of file pubkey.cpp.
const secp256k1_context * GetVerifyContext | ( | ) |
Access to the internal secp256k1 context used for verification.
Only intended to be used by key.cpp.
Definition at line 394 of file pubkey.cpp.
|
static |
Definition at line 214 of file pubkey.cpp.