UNPKG

jsrsasign

Version:

opensource free pure JavaScript cryptographic library supports RSA/RSAPSS/ECDSA/DSA signing/validation, ASN.1, PKCS#1/5/8 private/public key, X.509 certificate, CRL, OCSP, CMS SignedData, TimeStamp and CAdES and JSON Web Signature(JWS)/Token(JWT)/Key(JWK)

33 lines (31 loc) 1.04 kB
var assert = require('assert'); var rs = require('../lib/jsrsasign.js'); describe("base64x", function() { describe("hextorstr", function() { it('should return aaa', function() { assert.equal("aaa", rs.hextorstr("616161")); }); }); describe("utf8tob64u, b64utoutf8", function() { it('utf8tob64u', function() { assert.equal(rs.utf8tob64u("あ"), "44GC"); assert.equal(rs.utf8tob64u("aaa"), "YWFh"); }); it('b64utoutf8', function() { assert.equal(rs.b64utoutf8("44GC"), "あ"); assert.equal(rs.b64utoutf8("YWFh"), "aaa"); }); }); describe("timingSafeEqualImpl", function() { it('should compare equal and unequal digests safely', function() { assert.equal(rs.timingSafeEqual("abcd", "abcd"), true); assert.equal(rs.timingSafeEqual("abcd", "abce"), false); assert.throws( () => {rs.rs.timingSafeEqual("abcd", "abc");}, Error ); assert.throws( () => {rs.rs.timingSafeEqual("abcd", null);}, Error ); }); }); });