summaryrefslogtreecommitdiff
path: root/alarm/node_modules/node-forge/nodejs/test/asn1.js
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-10-18 08:59:09 +0200
committerMinteck <contact@minteck.org>2022-10-18 08:59:09 +0200
commit2c4ae43e688a9873e86211ea0e7aeb9ba770dd77 (patch)
tree17848d95522dab25d3cdeb9c4a6450e2a234861f /alarm/node_modules/node-forge/nodejs/test/asn1.js
parent108525534c28013cfe1897c30e4565f9893f3766 (diff)
downloadpluralconnect-2c4ae43e688a9873e86211ea0e7aeb9ba770dd77.tar.gz
pluralconnect-2c4ae43e688a9873e86211ea0e7aeb9ba770dd77.tar.bz2
pluralconnect-2c4ae43e688a9873e86211ea0e7aeb9ba770dd77.zip
Update
Diffstat (limited to 'alarm/node_modules/node-forge/nodejs/test/asn1.js')
-rw-r--r--alarm/node_modules/node-forge/nodejs/test/asn1.js262
1 files changed, 262 insertions, 0 deletions
diff --git a/alarm/node_modules/node-forge/nodejs/test/asn1.js b/alarm/node_modules/node-forge/nodejs/test/asn1.js
new file mode 100644
index 0000000..7d0880e
--- /dev/null
+++ b/alarm/node_modules/node-forge/nodejs/test/asn1.js
@@ -0,0 +1,262 @@
+(function() {
+
+function Tests(ASSERT, ASN1, UTIL) {
+ describe('asn1', function() {
+ // TODO: add more ASN.1 coverage
+
+ it('should convert an OID to DER', function() {
+ ASSERT.equal(ASN1.oidToDer('1.2.840.113549').toHex(), '2a864886f70d');
+ });
+
+ it('should convert an OID from DER', function() {
+ var der = UTIL.hexToBytes('2a864886f70d');
+ ASSERT.equal(ASN1.derToOid(der), '1.2.840.113549');
+ });
+
+ it('should convert INTEGER 0 to DER', function() {
+ ASSERT.equal(ASN1.integerToDer(0).toHex(), '00');
+ });
+
+ it('should convert INTEGER 1 to DER', function() {
+ ASSERT.equal(ASN1.integerToDer(1).toHex(), '01');
+ });
+
+ it('should convert INTEGER 127 to DER', function() {
+ ASSERT.equal(ASN1.integerToDer(127).toHex(), '7f');
+ });
+
+ it('should convert INTEGER 128 to DER', function() {
+ ASSERT.equal(ASN1.integerToDer(128).toHex(), '0080');
+ });
+
+ it('should convert INTEGER 256 to DER', function() {
+ ASSERT.equal(ASN1.integerToDer(256).toHex(), '0100');
+ });
+
+ it('should convert INTEGER -128 to DER', function() {
+ ASSERT.equal(ASN1.integerToDer(-128).toHex(), '80');
+ });
+
+ it('should convert INTEGER -129 to DER', function() {
+ ASSERT.equal(ASN1.integerToDer(-129).toHex(), 'ff7f');
+ });
+
+ it('should convert INTEGER 32768 to DER', function() {
+ ASSERT.equal(ASN1.integerToDer(32768).toHex(), '008000');
+ });
+
+ it('should convert INTEGER -32768 to DER', function() {
+ ASSERT.equal(ASN1.integerToDer(-32768).toHex(), '8000');
+ });
+
+ it('should convert INTEGER -32769 to DER', function() {
+ ASSERT.equal(ASN1.integerToDer(-32769).toHex(), 'ff7fff');
+ });
+
+ it('should convert INTEGER 8388608 to DER', function() {
+ ASSERT.equal(ASN1.integerToDer(8388608).toHex(), '00800000');
+ });
+
+ it('should convert INTEGER -8388608 to DER', function() {
+ ASSERT.equal(ASN1.integerToDer(-8388608).toHex(), '800000');
+ });
+
+ it('should convert INTEGER -8388609 to DER', function() {
+ ASSERT.equal(ASN1.integerToDer(-8388609).toHex(), 'ff7fffff');
+ });
+
+ it('should convert INTEGER 2147483647 to DER', function() {
+ ASSERT.equal(ASN1.integerToDer(2147483647).toHex(), '7fffffff');
+ });
+
+ it('should convert INTEGER -2147483648 to DER', function() {
+ ASSERT.equal(ASN1.integerToDer(-2147483648).toHex(), '80000000');
+ });
+
+ it('should convert INTEGER 0 from DER', function() {
+ var der = UTIL.hexToBytes('00');
+ ASSERT.equal(ASN1.derToInteger(der), 0);
+ });
+
+ it('should convert INTEGER 1 from DER', function() {
+ var der = UTIL.hexToBytes('01');
+ ASSERT.equal(ASN1.derToInteger(der), 1);
+ });
+
+ it('should convert INTEGER 127 from DER', function() {
+ var der = UTIL.hexToBytes('7f');
+ ASSERT.equal(ASN1.derToInteger(der), 127);
+ });
+
+ it('should convert INTEGER 128 from DER', function() {
+ var der = UTIL.hexToBytes('0080');
+ ASSERT.equal(ASN1.derToInteger(der), 128);
+ });
+
+ it('should convert INTEGER 256 from DER', function() {
+ var der = UTIL.hexToBytes('0100');
+ ASSERT.equal(ASN1.derToInteger(der), 256);
+ });
+
+ it('should convert INTEGER -128 from DER', function() {
+ var der = UTIL.hexToBytes('80');
+ ASSERT.equal(ASN1.derToInteger(der), -128);
+ });
+
+ it('should convert INTEGER -129 from DER', function() {
+ var der = UTIL.hexToBytes('ff7f');
+ ASSERT.equal(ASN1.derToInteger(der), -129);
+ });
+
+ it('should convert INTEGER 32768 from DER', function() {
+ var der = UTIL.hexToBytes('008000');
+ ASSERT.equal(ASN1.derToInteger(der), 32768);
+ });
+
+ it('should convert INTEGER -32768 from DER', function() {
+ var der = UTIL.hexToBytes('8000');
+ ASSERT.equal(ASN1.derToInteger(der), -32768);
+ });
+
+ it('should convert INTEGER -32769 from DER', function() {
+ var der = UTIL.hexToBytes('ff7fff');
+ ASSERT.equal(ASN1.derToInteger(der), -32769);
+ });
+
+ it('should convert INTEGER 8388608 from DER', function() {
+ var der = UTIL.hexToBytes('00800000');
+ ASSERT.equal(ASN1.derToInteger(der), 8388608);
+ });
+
+ it('should convert INTEGER -8388608 from DER', function() {
+ var der = UTIL.hexToBytes('800000');
+ ASSERT.equal(ASN1.derToInteger(der), -8388608);
+ });
+
+ it('should convert INTEGER -8388609 from DER', function() {
+ var der = UTIL.hexToBytes('ff7fffff');
+ ASSERT.equal(ASN1.derToInteger(der), -8388609);
+ });
+
+ it('should convert INTEGER 2147483647 from DER', function() {
+ var der = UTIL.hexToBytes('7fffffff');
+ ASSERT.equal(ASN1.derToInteger(der), 2147483647);
+ });
+
+ it('should convert INTEGER -2147483648 from DER', function() {
+ var der = UTIL.hexToBytes('80000000');
+ ASSERT.equal(ASN1.derToInteger(der), -2147483648);
+ });
+
+ (function() {
+ var tests = [{
+ in: '20110223123400',
+ out: 1298464440000
+ }, {
+ in: '20110223123400.1',
+ out: 1298464440100
+ }, {
+ in: '20110223123400.123',
+ out: 1298464440123
+ }];
+ for(var i = 0; i < tests.length; ++i) {
+ var test = tests[i];
+ it('should convert local generalized time "' + test.in + '" to a Date', function() {
+ var d = ASN1.generalizedTimeToDate(test.in);
+ var localOffset = d.getTimezoneOffset() * 60000;
+ ASSERT.equal(d.getTime(), test.out + localOffset);
+ });
+ }
+ })();
+
+ (function() {
+ var tests = [{
+ in: '20110223123400Z', // Wed Feb 23 12:34:00.000 UTC 2011
+ out: 1298464440000
+ }, {
+ in: '20110223123400.1Z', // Wed Feb 23 12:34:00.100 UTC 2011
+ out: 1298464440100
+ }, {
+ in: '20110223123400.123Z', // Wed Feb 23 12:34:00.123 UTC 2011
+ out: 1298464440123
+ }, {
+ in: '20110223123400+0200', // Wed Feb 23 10:34:00.000 UTC 2011
+ out: 1298457240000
+ }, {
+ in: '20110223123400.1+0200', // Wed Feb 23 10:34:00.100 UTC 2011
+ out: 1298457240100
+ }, {
+ in: '20110223123400.123+0200', // Wed Feb 23 10:34:00.123 UTC 2011
+ out: 1298457240123
+ }, {
+ in: '20110223123400-0200', // Wed Feb 23 14:34:00.000 UTC 2011
+ out: 1298471640000
+ }, {
+ in: '20110223123400.1-0200', // Wed Feb 23 14:34:00.100 UTC 2011
+ out: 1298471640100
+ }, {
+ in: '20110223123400.123-0200', // Wed Feb 23 14:34:00.123 UTC 2011
+ out: 1298471640123
+ }];
+ for(var i = 0; i < tests.length; ++i) {
+ var test = tests[i];
+ it('should convert utc generalized time "' + test.in + '" to a Date', function() {
+ var d = ASN1.generalizedTimeToDate(test.in);
+ ASSERT.equal(d.getTime(), test.out);
+ });
+ }
+ })();
+
+ (function() {
+ var tests = [{
+ in: '1102231234Z', // Wed Feb 23 12:34:00 UTC 2011
+ out: 1298464440000
+ }, {
+ in: '1102231234+0200', // Wed Feb 23 10:34:00 UTC 2011
+ out: 1298457240000
+ }, {
+ in: '1102231234-0200', // Wed Feb 23 14:34:00 UTC 2011
+ out: 1298471640000
+ }, {
+ in: '110223123456Z', // Wed Feb 23 12:34:56 UTC 2011
+ out: 1298464496000
+ }, {
+ in: '110223123456+0200', // Wed Feb 23 10:34:56 UTC 2011
+ out: 1298457296000
+ }, {
+ in: '110223123456-0200', // Wed Feb 23 14:34:56 UTC 2011
+ out: 1298471696000
+ }];
+ for(var i = 0; i < tests.length; ++i) {
+ var test = tests[i];
+ it('should convert utc time "' + test.in + '" to a Date', function() {
+ var d = ASN1.utcTimeToDate(test.in);
+ ASSERT.equal(d.getTime(), test.out);
+ });
+ }
+ })();
+ });
+}
+
+// check for AMD
+if(typeof define === 'function') {
+ define([
+ 'forge/asn1',
+ 'forge/util'
+ ], function(ASN1, UTIL) {
+ Tests(
+ // Global provided by test harness
+ ASSERT,
+ ASN1(),
+ UTIL()
+ );
+ });
+} else if(typeof module === 'object' && module.exports) {
+ // assume NodeJS
+ Tests(
+ require('assert'),
+ require('../../js/asn1')(),
+ require('../../js/util')());
+}
+
+})();