mirror of
https://github.com/yuzu-emu/mbedtls
synced 2024-11-24 23:08:11 +00:00
Make a helpful constant public
This commit is contained in:
parent
b8cfe3f0d9
commit
63e931902b
2 changed files with 21 additions and 21 deletions
|
@ -30,6 +30,25 @@
|
||||||
#include "md.h"
|
#include "md.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* RFC 4492 page 20:
|
||||||
|
*
|
||||||
|
* Ecdsa-Sig-Value ::= SEQUENCE {
|
||||||
|
* r INTEGER,
|
||||||
|
* s INTEGER
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* Size is at most
|
||||||
|
* 1 (tag) + 1 (len) + 1 (initial 0) + ECP_MAX_BYTES for each of r and s,
|
||||||
|
* twice that + 1 (tag) + 2 (len) for the sequence
|
||||||
|
* (assuming ECP_MAX_BYTES is less than 126 for r and s,
|
||||||
|
* and less than 124 (total len <= 255) for the sequence)
|
||||||
|
*/
|
||||||
|
#if POLARSSL_ECP_MAX_BYTES > 124
|
||||||
|
#error "POLARSSL_ECP_MAX_BYTES bigger than expected, please fix POLARSSL_ECDSA_MAX_LEN"
|
||||||
|
#endif
|
||||||
|
#define POLARSSL_ECDSA_MAX_LEN ( 3 + 2 * ( 3 + POLARSSL_ECP_MAX_BYTES ) )
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief ECDSA context structure
|
* \brief ECDSA context structure
|
||||||
*
|
*
|
||||||
|
@ -124,7 +143,7 @@ int ecdsa_verify( ecp_group *grp,
|
||||||
*
|
*
|
||||||
* \note The "sig" buffer must be at least as large as twice the
|
* \note The "sig" buffer must be at least as large as twice the
|
||||||
* size of the curve used, plus 7 (eg. 71 bytes if a 256-bit
|
* size of the curve used, plus 7 (eg. 71 bytes if a 256-bit
|
||||||
* curve is used).
|
* curve is used). POLARSSL_ECDSA_MAX_LEN is always safe.
|
||||||
*
|
*
|
||||||
* \return 0 if successful,
|
* \return 0 if successful,
|
||||||
* or a POLARSSL_ERR_ECP, POLARSSL_ERR_MPI or
|
* or a POLARSSL_ERR_ECP, POLARSSL_ERR_MPI or
|
||||||
|
|
|
@ -281,25 +281,6 @@ cleanup:
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* RFC 4492 page 20:
|
|
||||||
*
|
|
||||||
* Ecdsa-Sig-Value ::= SEQUENCE {
|
|
||||||
* r INTEGER,
|
|
||||||
* s INTEGER
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* Size is at most
|
|
||||||
* 1 (tag) + 1 (len) + 1 (initial 0) + ECP_MAX_BYTES for each of r and s,
|
|
||||||
* twice that + 1 (tag) + 2 (len) for the sequence
|
|
||||||
* (assuming ECP_MAX_BYTES is less than 126 for r and s,
|
|
||||||
* and less than 124 (total len <= 255) for the sequence)
|
|
||||||
*/
|
|
||||||
#if POLARSSL_ECP_MAX_BYTES > 124
|
|
||||||
#error "POLARSSL_ECP_MAX_BYTES bigger than expected, please fix MAX_SIG_LEN"
|
|
||||||
#endif
|
|
||||||
#define MAX_SIG_LEN ( 3 + 2 * ( 3 + POLARSSL_ECP_MAX_BYTES ) )
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Convert a signature (given by context) to ASN.1
|
* Convert a signature (given by context) to ASN.1
|
||||||
*/
|
*/
|
||||||
|
@ -307,7 +288,7 @@ static int ecdsa_signature_to_asn1( ecdsa_context *ctx,
|
||||||
unsigned char *sig, size_t *slen )
|
unsigned char *sig, size_t *slen )
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
unsigned char buf[MAX_SIG_LEN];
|
unsigned char buf[POLARSSL_ECDSA_MAX_LEN];
|
||||||
unsigned char *p = buf + sizeof( buf );
|
unsigned char *p = buf + sizeof( buf );
|
||||||
size_t len = 0;
|
size_t len = 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue