]> git.kaiwu.me - njs.git/commitdiff
Added base64url encoding for crypto hash and HMAC digests.
authorDmitry Volyntsev <xeioex@nginx.com>
Mon, 2 Apr 2018 14:12:52 +0000 (17:12 +0300)
committerDmitry Volyntsev <xeioex@nginx.com>
Mon, 2 Apr 2018 14:12:52 +0000 (17:12 +0300)
njs/njs_crypto.c
njs/test/njs_unit_test.c

index ae63d93b6c30d674bf052be748b9a24bd62c391f..db359e47113baccfa3a5d5e431226e793cd63aba 100644 (file)
@@ -126,6 +126,11 @@ static njs_crypto_enc_t njs_encodings[] = {
      njs_string_base64
    },
 
+   {
+     nxt_string("base64url"),
+     njs_string_base64url
+   },
+
    {
     nxt_null_string,
     NULL
index 73ed0a72bfdcb17df656ad2c375bcaa6428779bd..900074c10552b81ef40c0c6a614147289f23447a 100644 (file)
@@ -9087,6 +9087,10 @@ static njs_unit_test_t  njs_test[] =
                  "h.update('AB').digest('base64')"),
       nxt_string("BtlFlCqiamG+GMPiK/GbvKjdK10=") },
 
+    { nxt_string("var h = require('crypto').createHash('sha1');"
+                 "h.update('AB').digest('base64url')"),
+      nxt_string("BtlFlCqiamG-GMPiK_GbvKjdK10") },
+
     { nxt_string("var h = require('crypto').createHash('sha1');"
                  "h.update('AB').digest().toString('base64')"),
       nxt_string("BtlFlCqiamG+GMPiK/GbvKjdK10=") },
@@ -9165,6 +9169,10 @@ static njs_unit_test_t  njs_test[] =
                  "h.update('AB').digest('base64')"),
       nxt_string("rcYOA0WcS6589OttlzAAPpSQsi8=") },
 
+    { nxt_string("var h = require('crypto').createHmac('sha1', 'secret key');"
+                 "h.update('AB').digest('base64url')"),
+      nxt_string("rcYOA0WcS6589OttlzAAPpSQsi8") },
+
     { nxt_string("var h = require('crypto').createHmac('sha1', 'secret key');"
                  "h.update('AB').digest().toString('base64')"),
       nxt_string("rcYOA0WcS6589OttlzAAPpSQsi8=") },