aboutsummaryrefslogtreecommitdiff
path: root/lib/vtls/nss.c
diff options
context:
space:
mode:
authormoparisthebest <admin@moparisthebest.com>2015-06-30 20:23:54 -0400
committerDaniel Stenberg <daniel@haxx.se>2015-07-01 19:43:47 +0200
commit55b78c5ae94852ffb942ff979e6f25aebfeedb16 (patch)
tree73c9f909baac1e3f6bc9c3f09ed5819d4be18653 /lib/vtls/nss.c
parentc00b18d5406375627b98b47e68261ace85d1a581 (diff)
SSL: Pinned public key hash support
Diffstat (limited to 'lib/vtls/nss.c')
-rw-r--r--lib/vtls/nss.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/vtls/nss.c b/lib/vtls/nss.c
index 5434ce382..91727c7c3 100644
--- a/lib/vtls/nss.c
+++ b/lib/vtls/nss.c
@@ -2041,6 +2041,19 @@ void Curl_nss_md5sum(unsigned char *tmp, /* input */
PK11_DestroyContext(MD5pw, PR_TRUE);
}
+void Curl_nss_sha256sum(const unsigned char *tmp, /* input */
+ size_t tmplen,
+ unsigned char *sha256sum, /* output */
+ size_t sha256len)
+{
+ PK11Context *SHA256pw = PK11_CreateDigestContext(SEC_OID_SHA256);
+ unsigned int SHA256out;
+
+ PK11_DigestOp(SHA256pw, tmp, curlx_uztoui(tmplen));
+ PK11_DigestFinal(SHA256pw, sha256sum, &SHA256out, curlx_uztoui(sha256len));
+ PK11_DestroyContext(SHA256pw, PR_TRUE);
+}
+
bool Curl_nss_cert_status_request(void)
{
#ifdef SSL_ENABLE_OCSP_STAPLING