Ensure that ECDSA constant sizes are correctly-sized
This commit is contained in:
parent
48abe78e51
commit
1ce9f0a952
2 changed files with 6 additions and 0 deletions
|
@ -92,6 +92,9 @@ static int ec_privkey_import_der(const secp256k1_context* ctx, unsigned char *ou
|
||||||
*/
|
*/
|
||||||
static int ec_privkey_export_der(const secp256k1_context *ctx, unsigned char *privkey, size_t *privkeylen, const unsigned char *key32, int compressed) {
|
static int ec_privkey_export_der(const secp256k1_context *ctx, unsigned char *privkey, size_t *privkeylen, const unsigned char *key32, int compressed) {
|
||||||
assert(*privkeylen >= PRIVATE_KEY_SIZE);
|
assert(*privkeylen >= PRIVATE_KEY_SIZE);
|
||||||
|
static_assert(
|
||||||
|
PRIVATE_KEY_SIZE >= COMPRESSED_PRIVATE_KEY_SIZE,
|
||||||
|
"COMPRESSED_PRIVATE_KEY_SIZE is larger than PRIVATE_KEY_SIZE");
|
||||||
secp256k1_pubkey pubkey;
|
secp256k1_pubkey pubkey;
|
||||||
size_t pubkeylen = 0;
|
size_t pubkeylen = 0;
|
||||||
if (!secp256k1_ec_pubkey_create(ctx, &pubkey, key32)) {
|
if (!secp256k1_ec_pubkey_create(ctx, &pubkey, key32)) {
|
||||||
|
|
|
@ -48,6 +48,9 @@ private:
|
||||||
* Its length can very cheaply be computed from the first byte.
|
* Its length can very cheaply be computed from the first byte.
|
||||||
*/
|
*/
|
||||||
unsigned char vch[PUBLIC_KEY_SIZE];
|
unsigned char vch[PUBLIC_KEY_SIZE];
|
||||||
|
static_assert(
|
||||||
|
PUBLIC_KEY_SIZE >= COMPRESSED_PUBLIC_KEY_SIZE,
|
||||||
|
"COMPRESSED_PUBLIC_KEY_SIZE is larger than PUBLIC_KEY_SIZE");
|
||||||
|
|
||||||
//! Compute the length of a pubkey with a given first byte.
|
//! Compute the length of a pubkey with a given first byte.
|
||||||
unsigned int static GetLen(unsigned char chHeader)
|
unsigned int static GetLen(unsigned char chHeader)
|
||||||
|
|
Loading…
Reference in a new issue