Added API for external hashing of ServerKeyExchange, and signature algorithm identifiers in the 0x080* format (preparatory steps for EdDSA support).

This commit is contained in:
Thomas Pornin 2017-01-13 21:46:28 +01:00
parent 44c79c1add
commit ef318ef83a
11 changed files with 933 additions and 729 deletions

View file

@ -230,7 +230,7 @@ make_pms_ecdh(br_ssl_client_context *ctx, unsigned ecdhe, int prf_id)
{
int curve;
unsigned char key[66], point[133];
const unsigned char *generator, *order, *point_src;
const unsigned char *order, *point_src;
size_t glen, olen, point_len;
unsigned char mask;
@ -271,7 +271,7 @@ make_pms_ecdh(br_ssl_client_context *ctx, unsigned ecdhe, int prf_id)
* Compute the common ECDH point, whose X coordinate is the
* pre-master secret.
*/
generator = ctx->eng.iec->generator(curve, &glen);
ctx->eng.iec->generator(curve, &glen);
if (glen != point_len) {
return -BR_ERR_INVALID_ALGORITHM;
}
@ -1023,7 +1023,7 @@ cc: get-client-chain ( auth_types -- ) {
\ - There is an explicit list of supported sign+hash.
\ - The ECDH flags must be adjusted for RSA/ECDSA
\ support.
read-list-sign-algos dup addr-hashes set16
read-list-sign-algos dup addr-hashes set32
\ Trim down the list depending on what hash functions
\ we support (since the hashing itself is done by the SSL