diff options
Diffstat (limited to 'lib/nss.c')
-rw-r--r-- | lib/nss.c | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -1533,4 +1533,24 @@ int Curl_nss_seed(struct SessionHandle *data) return 0; } +void Curl_nss_random(struct SessionHandle *data, + unsigned char *entropy, + size_t length) +{ + Curl_nss_seed(data); /* Initiate the seed if not already done */ + PK11_GenerateRandom(entropy, length); +} + +void Curl_nss_md5sum(unsigned char *tmp, /* input */ + size_t tmplen, + unsigned char *md5sum, /* output */ + size_t md5len) +{ + PK11Context *MD5pw = PK11_CreateDigestContext(SEC_OID_MD5); + unsigned int MD5out; + PK11_DigestOp(MD5pw, tmp, tmplen); + PK11_DigestFinal(MD5pw, md5sum, &MD5out, md5len); + PK11_DestroyContext(MD5pw, PR_TRUE); +} + #endif /* USE_NSS */ |