Update NSS to 3.35-RTM

This commit is contained in:
wolfbeast 2018-02-23 11:04:39 +01:00 committed by Roy Tam
commit 608f9fca02
388 changed files with 39075 additions and 20752 deletions

View file

@ -1400,6 +1400,84 @@ extern SECStatus
TLS_P_hash(HASH_HashType hashAlg, const SECItem *secret, const char *label,
SECItem *seed, SECItem *result, PRBool isFIPS);
/******************************************/
/*
** Implements the Blake2b hash function.
*/
/*
** Hash a null terminated string "src" into "dest" using Blake2b
*/
extern SECStatus BLAKE2B_Hash(unsigned char *dest, const char *src);
/*
** Hash a non-null terminated string "src" into "dest" using Blake2b
*/
extern SECStatus BLAKE2B_HashBuf(unsigned char *output,
const unsigned char *input, PRUint32 inlen);
extern SECStatus BLAKE2B_MAC_HashBuf(unsigned char *output,
const unsigned char *input,
unsigned int inlen,
const unsigned char *key,
unsigned int keylen);
/*
** Create a new Blake2b context
*/
extern BLAKE2BContext *BLAKE2B_NewContext();
/*
** Destroy a Blake2b secure hash context.
** "ctx" the context
** "freeit" if PR_TRUE then free the object as well as its sub-objects
*/
extern void BLAKE2B_DestroyContext(BLAKE2BContext *ctx, PRBool freeit);
/*
** Reset a Blake2b context, preparing it for a fresh round of hashing
*/
extern SECStatus BLAKE2B_Begin(BLAKE2BContext *ctx);
extern SECStatus BLAKE2B_MAC_Begin(BLAKE2BContext *ctx, const PRUint8 *key,
const size_t keylen);
/*
** Update the Blake hash function with more data.
*/
extern SECStatus BLAKE2B_Update(BLAKE2BContext *ctx, const unsigned char *in,
unsigned int inlen);
/*
** Finish the Blake hash function. Produce the digested results in "digest"
*/
extern SECStatus BLAKE2B_End(BLAKE2BContext *ctx, unsigned char *out,
unsigned int *digestLen, size_t maxDigestLen);
/*
* Return the size of a buffer needed to flatten the Blake2b Context into
* "ctx" the context
* returns size;
*/
extern unsigned int BLAKE2B_FlattenSize(BLAKE2BContext *ctx);
/*
* Flatten the Blake2b Context into a buffer:
* "ctx" the context
* "space" the buffer to flatten to
* returns status;
*/
extern SECStatus BLAKE2B_Flatten(BLAKE2BContext *ctx, unsigned char *space);
/*
* Resurrect a flattened context into a Blake2b Context
* "space" the buffer of the flattend buffer
* "arg" ptr to void used by cryptographic resurrect
* returns resurected context
*/
extern BLAKE2BContext *BLAKE2B_Resurrect(unsigned char *space, void *arg);
extern void BLAKE2B_Clone(BLAKE2BContext *dest, BLAKE2BContext *src);
/******************************************/
/*
** Pseudo Random Number Generation. FIPS compliance desirable.