node-opcua-crypto 2.2.0 → 3.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/{dist → dist-cjs}/source/asn1.js +95 -151
  2. package/dist-cjs/source/asn1.js.map +1 -0
  3. package/dist-cjs/source/buffer_utils.js +9 -0
  4. package/dist-cjs/source/buffer_utils.js.map +1 -0
  5. package/dist-cjs/source/common.js +11 -0
  6. package/dist-cjs/source/common.js.map +1 -0
  7. package/dist-cjs/source/crypto_explore_certificate.js +367 -0
  8. package/dist-cjs/source/crypto_explore_certificate.js.map +1 -0
  9. package/{dist → dist-cjs}/source/crypto_utils.js +80 -141
  10. package/dist-cjs/source/crypto_utils.js.map +1 -0
  11. package/dist-cjs/source/derived_keys.js +133 -0
  12. package/dist-cjs/source/derived_keys.js.map +1 -0
  13. package/{dist → dist-cjs}/source/explore_certificate.js +10 -17
  14. package/dist-cjs/source/explore_certificate.js.map +1 -0
  15. package/dist-cjs/source/explore_certificate_revocation_list.js +69 -0
  16. package/dist-cjs/source/explore_certificate_revocation_list.js.map +1 -0
  17. package/dist-cjs/source/explore_certificate_signing_request.js +45 -0
  18. package/dist-cjs/source/explore_certificate_signing_request.js.map +1 -0
  19. package/dist-cjs/source/explore_private_key.js +75 -0
  20. package/dist-cjs/source/explore_private_key.js.map +1 -0
  21. package/dist-cjs/source/index.js +32 -0
  22. package/dist-cjs/source/index.js.map +1 -0
  23. package/{dist → dist-cjs}/source/oid_map.js +0 -4
  24. package/dist-cjs/source/oid_map.js.map +1 -0
  25. package/dist-cjs/source/public_private_match.js +32 -0
  26. package/dist-cjs/source/public_private_match.js.map +1 -0
  27. package/dist-cjs/source/subject.js +92 -0
  28. package/dist-cjs/source/subject.js.map +1 -0
  29. package/dist-cjs/source/verify_certificate_signature.js +120 -0
  30. package/dist-cjs/source/verify_certificate_signature.js.map +1 -0
  31. package/dist-cjs/source/x509/_build_public_key.js +69 -0
  32. package/dist-cjs/source/x509/_build_public_key.js.map +1 -0
  33. package/dist-cjs/source/x509/_crypto.js +50 -0
  34. package/dist-cjs/source/x509/_crypto.js.map +1 -0
  35. package/dist-cjs/source/x509/_get_attributes.js +35 -0
  36. package/dist-cjs/source/x509/_get_attributes.js.map +1 -0
  37. package/dist-cjs/source/x509/create_certificate_signing_request.js +92 -0
  38. package/dist-cjs/source/x509/create_certificate_signing_request.js.map +1 -0
  39. package/dist-cjs/source/x509/create_key_pair.js +123 -0
  40. package/dist-cjs/source/x509/create_key_pair.js.map +1 -0
  41. package/dist-cjs/source/x509/create_self_signed_certificate.js +102 -0
  42. package/dist-cjs/source/x509/create_self_signed_certificate.js.map +1 -0
  43. package/dist-cjs/source_nodejs/generate_private_key_filename.js +67 -0
  44. package/dist-cjs/source_nodejs/generate_private_key_filename.js.map +1 -0
  45. package/{dist → dist-cjs}/source_nodejs/index.js +4 -3
  46. package/{dist → dist-cjs}/source_nodejs/index.js.map +1 -1
  47. package/{dist → dist-cjs}/source_nodejs/read.js +32 -43
  48. package/dist-cjs/source_nodejs/read.js.map +1 -0
  49. package/dist-cjs/source_nodejs/read_certificate_revocation_list.js +64 -0
  50. package/dist-cjs/source_nodejs/read_certificate_revocation_list.js.map +1 -0
  51. package/dist-cjs/source_nodejs/read_certificate_signing_request.js +64 -0
  52. package/dist-cjs/source_nodejs/read_certificate_signing_request.js.map +1 -0
  53. package/dist-esm/source/asn1.js +275 -0
  54. package/dist-esm/source/asn1.js.map +1 -0
  55. package/dist-esm/source/buffer_utils.js +6 -0
  56. package/dist-esm/source/buffer_utils.js.map +1 -0
  57. package/dist-esm/source/common.js +8 -0
  58. package/dist-esm/source/common.js.map +1 -0
  59. package/dist-esm/source/crypto_explore_certificate.js +356 -0
  60. package/dist-esm/source/crypto_explore_certificate.js.map +1 -0
  61. package/dist-esm/source/crypto_utils.js +242 -0
  62. package/dist-esm/source/crypto_utils.js.map +1 -0
  63. package/dist-esm/source/derived_keys.js +117 -0
  64. package/dist-esm/source/derived_keys.js.map +1 -0
  65. package/dist-esm/source/explore_certificate.js +29 -0
  66. package/dist-esm/source/explore_certificate.js.map +1 -0
  67. package/dist-esm/source/explore_certificate_revocation_list.js +64 -0
  68. package/dist-esm/source/explore_certificate_revocation_list.js.map +1 -0
  69. package/dist-esm/source/explore_certificate_signing_request.js +40 -0
  70. package/dist-esm/source/explore_certificate_signing_request.js.map +1 -0
  71. package/dist-esm/source/explore_private_key.js +71 -0
  72. package/dist-esm/source/explore_private_key.js.map +1 -0
  73. package/dist-esm/source/index.js +16 -0
  74. package/dist-esm/source/index.js.map +1 -0
  75. package/{source/oid_map.ts → dist-esm/source/oid_map.js} +2 -15
  76. package/dist-esm/source/oid_map.js.map +1 -0
  77. package/dist-esm/source/public_private_match.js +27 -0
  78. package/dist-esm/source/public_private_match.js.map +1 -0
  79. package/dist-esm/source/subject.js +89 -0
  80. package/dist-esm/source/subject.js.map +1 -0
  81. package/dist-esm/source/verify_certificate_signature.js +110 -0
  82. package/dist-esm/source/verify_certificate_signature.js.map +1 -0
  83. package/dist-esm/source/x509/_build_public_key.js +65 -0
  84. package/dist-esm/source/x509/_build_public_key.js.map +1 -0
  85. package/dist-esm/source/x509/_crypto.js +23 -0
  86. package/dist-esm/source/x509/_crypto.js.map +1 -0
  87. package/dist-esm/source/x509/_get_attributes.js +31 -0
  88. package/dist-esm/source/x509/_get_attributes.js.map +1 -0
  89. package/dist-esm/source/x509/create_certificate_signing_request.js +88 -0
  90. package/dist-esm/source/x509/create_certificate_signing_request.js.map +1 -0
  91. package/dist-esm/source/x509/create_key_pair.js +115 -0
  92. package/dist-esm/source/x509/create_key_pair.js.map +1 -0
  93. package/dist-esm/source/x509/create_self_signed_certificate.js +98 -0
  94. package/dist-esm/source/x509/create_self_signed_certificate.js.map +1 -0
  95. package/dist-esm/source_nodejs/generate_private_key_filename.js +60 -0
  96. package/dist-esm/source_nodejs/generate_private_key_filename.js.map +1 -0
  97. package/dist-esm/source_nodejs/index.js +5 -0
  98. package/dist-esm/source_nodejs/index.js.map +1 -0
  99. package/dist-esm/source_nodejs/read.js +81 -0
  100. package/dist-esm/source_nodejs/read.js.map +1 -0
  101. package/dist-esm/source_nodejs/read_certificate_revocation_list.js +57 -0
  102. package/dist-esm/source_nodejs/read_certificate_revocation_list.js.map +1 -0
  103. package/dist-esm/source_nodejs/read_certificate_signing_request.js +57 -0
  104. package/dist-esm/source_nodejs/read_certificate_signing_request.js.map +1 -0
  105. package/{dist → dist-types}/source/common.d.ts +6 -0
  106. package/{dist → dist-types}/source/crypto_explore_certificate.d.ts +3 -3
  107. package/{dist → dist-types}/source/crypto_utils.d.ts +2 -2
  108. package/{dist → dist-types}/source/derived_keys.d.ts +2 -2
  109. package/{dist → dist-types}/source/explore_certificate.d.ts +3 -6
  110. package/{dist → dist-types}/source/explore_certificate_revocation_list.d.ts +2 -2
  111. package/{dist → dist-types}/source/explore_certificate_signing_request.d.ts +2 -2
  112. package/{dist → dist-types}/source/explore_private_key.d.ts +1 -1
  113. package/dist-types/source/index.d.ts +18 -0
  114. package/{dist → dist-types}/source/public_private_match.d.ts +1 -1
  115. package/dist-types/source/subject.d.ts +27 -0
  116. package/{dist → dist-types}/source/verify_certificate_signature.d.ts +1 -1
  117. package/dist-types/source/x509/_build_public_key.d.ts +1 -0
  118. package/dist-types/source/x509/_crypto.d.ts +2 -0
  119. package/dist-types/source/x509/_get_attributes.d.ts +8 -0
  120. package/dist-types/source/x509/create_certificate_signing_request.d.ts +18 -0
  121. package/dist-types/source/x509/create_key_pair.d.ts +8 -0
  122. package/dist-types/source/x509/create_self_signed_certificate.d.ts +17 -0
  123. package/dist-types/source_nodejs/generate_private_key_filename.d.ts +1 -0
  124. package/dist-types/source_nodejs/index.d.ts +4 -0
  125. package/{dist → dist-types}/source_nodejs/read.d.ts +1 -1
  126. package/{dist → dist-types}/source_nodejs/read_certificate_revocation_list.d.ts +1 -1
  127. package/index.d.ts +2 -2
  128. package/index.js +2 -2
  129. package/index_web.d.ts +1 -0
  130. package/index_web.js +1 -1
  131. package/package.json +31 -7
  132. package/web/esbuild.mjs +15 -0
  133. package/web/index.html +9 -0
  134. package/web/main.js +28 -0
  135. package/web/rollup.config.mjs +20 -0
  136. package/.fossa.yml +0 -18
  137. package/.github/FUNDING.yml +0 -12
  138. package/.github/workflows/main.yml +0 -106
  139. package/.prettierrc.js +0 -7
  140. package/dist/source/asn1.js.map +0 -1
  141. package/dist/source/buffer_utils.js +0 -22
  142. package/dist/source/buffer_utils.js.map +0 -1
  143. package/dist/source/common.js +0 -3
  144. package/dist/source/common.js.map +0 -1
  145. package/dist/source/crypto_explore_certificate.js +0 -602
  146. package/dist/source/crypto_explore_certificate.js.map +0 -1
  147. package/dist/source/crypto_utils.js.map +0 -1
  148. package/dist/source/derived_keys.js +0 -249
  149. package/dist/source/derived_keys.js.map +0 -1
  150. package/dist/source/explore_certificate.js.map +0 -1
  151. package/dist/source/explore_certificate_revocation_list.js +0 -70
  152. package/dist/source/explore_certificate_revocation_list.js.map +0 -1
  153. package/dist/source/explore_certificate_signing_request.js +0 -45
  154. package/dist/source/explore_certificate_signing_request.js.map +0 -1
  155. package/dist/source/explore_private_key.js +0 -98
  156. package/dist/source/explore_private_key.js.map +0 -1
  157. package/dist/source/index.d.ts +0 -13
  158. package/dist/source/index.js +0 -30
  159. package/dist/source/index.js.map +0 -1
  160. package/dist/source/oid_map.js.map +0 -1
  161. package/dist/source/public_private_match.js +0 -37
  162. package/dist/source/public_private_match.js.map +0 -1
  163. package/dist/source/verify_certificate_signature.js +0 -102
  164. package/dist/source/verify_certificate_signature.js.map +0 -1
  165. package/dist/source_nodejs/index.d.ts +0 -3
  166. package/dist/source_nodejs/read.js.map +0 -1
  167. package/dist/source_nodejs/read_certificate_revocation_list.js +0 -28
  168. package/dist/source_nodejs/read_certificate_revocation_list.js.map +0 -1
  169. package/dist/source_nodejs/read_certificate_signing_request.js +0 -28
  170. package/dist/source_nodejs/read_certificate_signing_request.js.map +0 -1
  171. package/source/asn1.ts +0 -404
  172. package/source/buffer_utils.ts +0 -18
  173. package/source/common.ts +0 -15
  174. package/source/crypto_explore_certificate.ts +0 -764
  175. package/source/crypto_utils.ts +0 -376
  176. package/source/derived_keys.ts +0 -287
  177. package/source/explore_certificate.ts +0 -66
  178. package/source/explore_certificate_revocation_list.ts +0 -122
  179. package/source/explore_certificate_signing_request.ts +0 -58
  180. package/source/explore_private_key.ts +0 -119
  181. package/source/index.ts +0 -13
  182. package/source/public_private_match.ts +0 -37
  183. package/source/verify_certificate_signature.ts +0 -105
  184. package/source_nodejs/index.ts +0 -3
  185. package/source_nodejs/read.ts +0 -105
  186. package/source_nodejs/read_certificate_revocation_list.ts +0 -14
  187. package/source_nodejs/read_certificate_signing_request.ts +0 -17
  188. package/test_certificate.ts +0 -34
  189. package/tsconfig.json +0 -18
  190. package/tslint.json +0 -35
  191. /package/{dist → dist-types}/source/asn1.d.ts +0 -0
  192. /package/{dist → dist-types}/source/buffer_utils.d.ts +0 -0
  193. /package/{dist → dist-types}/source/oid_map.d.ts +0 -0
  194. /package/{dist → dist-types}/source_nodejs/read_certificate_signing_request.d.ts +0 -0
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports._readTime = exports._findBlockAtIndex = exports._readDirectoryName = exports.compactDirectoryName = exports._readValue = exports._readVersionValue = exports._readBooleanValue = exports._readIntegerValue = exports._readLongIntegerValue = exports._readSignatureValue = exports._readSignatureValueBin = exports._readECCAlgorithmIdentifier = exports._readAlgorithmIdentifier = exports._readObjectIdentifier = exports._readListOfInteger = exports._readIntegerAsByteString = exports._getBlock = exports._readOctetString = exports.formatBuffer2DigitHexWithColum = exports._readBitString = exports.parseBitString = exports._readStruct = exports.readTag = exports.TagType = void 0;
4
- const assert = require("assert");
5
- const oid_map_1 = require("./oid_map");
6
- // https://github.com/lapo-luchini/asn1js/blob/master/asn1.js
7
+ var assert_1 = __importDefault(require("assert"));
8
+ var oid_map_js_1 = require("./oid_map.js");
7
9
  var TagType;
8
10
  (function (TagType) {
9
11
  TagType[TagType["BOOLEAN"] = 1] = "BOOLEAN";
@@ -29,35 +31,33 @@ var TagType;
29
31
  TagType[TagType["A3"] = 163] = "A3";
30
32
  })(TagType = exports.TagType || (exports.TagType = {}));
31
33
  function readTag(buf, pos) {
32
- assert(buf instanceof Buffer);
33
- assert(Number.isFinite(pos) && pos >= 0);
34
- // istanbul ignore next
34
+ (0, assert_1.default)(buf instanceof Buffer);
35
+ (0, assert_1.default)(Number.isFinite(pos) && pos >= 0);
35
36
  if (buf.length <= pos) {
36
37
  throw new Error("Invalid position : buf.length=" + buf.length + " pos =" + pos);
37
38
  }
38
- const tag = buf.readUInt8(pos);
39
+ var tag = buf.readUInt8(pos);
39
40
  pos += 1;
40
- let length = buf.readUInt8(pos);
41
+ var length = buf.readUInt8(pos);
41
42
  pos += 1;
42
- // tslint:disable:no-bitwise
43
43
  if (length > 127) {
44
- const nbBytes = length & 0x7f;
44
+ var nbBytes = length & 0x7f;
45
45
  length = 0;
46
- for (let i = 0; i < nbBytes; i++) {
46
+ for (var i = 0; i < nbBytes; i++) {
47
47
  length = length * 256 + buf.readUInt8(pos);
48
48
  pos += 1;
49
49
  }
50
50
  }
51
- return { tag, position: pos, length };
51
+ return { tag: tag, position: pos, length: length };
52
52
  }
53
53
  exports.readTag = readTag;
54
54
  function _readStruct(buf, blockInfo) {
55
- const length = blockInfo.length;
56
- let cursor = blockInfo.position;
57
- const end = blockInfo.position + length;
58
- const blocks = [];
55
+ var length = blockInfo.length;
56
+ var cursor = blockInfo.position;
57
+ var end = blockInfo.position + length;
58
+ var blocks = [];
59
59
  while (cursor < end) {
60
- const inner = readTag(buf, cursor);
60
+ var inner = readTag(buf, cursor);
61
61
  cursor = inner.position + inner.length;
62
62
  blocks.push(inner);
63
63
  }
@@ -65,25 +65,23 @@ function _readStruct(buf, blockInfo) {
65
65
  }
66
66
  exports._readStruct = _readStruct;
67
67
  function parseBitString(buffer, start, end, maxLength) {
68
- const unusedBit = buffer.readUInt8(start), lenBit = ((end - start - 1) << 3) - unusedBit, intro = "(" + lenBit + " bit)\n";
69
- let s = "", skip = unusedBit;
70
- for (let i = end - 1; i > start; --i) {
71
- const b = buffer.readUInt8(i);
72
- for (let j = skip; j < 8; ++j) {
73
- // noinspection JSBitwiseOperatorUsage
68
+ var unusedBit = buffer.readUInt8(start), lenBit = ((end - start - 1) << 3) - unusedBit, intro = "(" + lenBit + " bit)\n";
69
+ var s = "", skip = unusedBit;
70
+ for (var i = end - 1; i > start; --i) {
71
+ var b = buffer.readUInt8(i);
72
+ for (var j = skip; j < 8; ++j) {
74
73
  s += (b >> j) & 1 ? "1" : "0";
75
74
  }
76
75
  skip = 0;
77
- assert(s.length <= maxLength);
76
+ (0, assert_1.default)(s.length <= maxLength);
78
77
  }
79
78
  return intro + s;
80
79
  }
81
80
  exports.parseBitString = parseBitString;
82
81
  function _readBitString(buffer, block) {
83
- assert(block.tag === TagType.BIT_STRING);
84
- const data = _getBlock(buffer, block);
85
- // number of skipped bits
86
- const ignore_bits = data.readUInt8(0);
82
+ (0, assert_1.default)(block.tag === TagType.BIT_STRING);
83
+ var data = _getBlock(buffer, block);
84
+ var ignore_bits = data.readUInt8(0);
87
85
  return {
88
86
  lengthInBits: data.length * 8 - ignore_bits,
89
87
  lengthInBytes: data.length - 1,
@@ -93,11 +91,10 @@ function _readBitString(buffer, block) {
93
91
  }
94
92
  exports._readBitString = _readBitString;
95
93
  function formatBuffer2DigitHexWithColum(buffer) {
96
- const value = [];
97
- for (let i = 0; i < buffer.length; i++) {
94
+ var value = [];
95
+ for (var i = 0; i < buffer.length; i++) {
98
96
  value.push(("00" + buffer.readUInt8(i).toString(16)).substr(-2, 2));
99
97
  }
100
- // remove leading 00
101
98
  return value
102
99
  .join(":")
103
100
  .toUpperCase()
@@ -105,18 +102,18 @@ function formatBuffer2DigitHexWithColum(buffer) {
105
102
  }
106
103
  exports.formatBuffer2DigitHexWithColum = formatBuffer2DigitHexWithColum;
107
104
  function _readOctetString(buffer, block) {
108
- assert(block.tag === TagType.OCTET_STRING);
109
- const tag = readTag(buffer, block.position);
110
- assert(tag.tag === TagType.OCTET_STRING);
111
- const nbBytes = tag.length;
112
- const pos = tag.position;
113
- const b = buffer.slice(pos, pos + nbBytes);
105
+ (0, assert_1.default)(block.tag === TagType.OCTET_STRING);
106
+ var tag = readTag(buffer, block.position);
107
+ (0, assert_1.default)(tag.tag === TagType.OCTET_STRING);
108
+ var nbBytes = tag.length;
109
+ var pos = tag.position;
110
+ var b = buffer.slice(pos, pos + nbBytes);
114
111
  return b;
115
112
  }
116
113
  exports._readOctetString = _readOctetString;
117
114
  function _getBlock(buffer, block) {
118
- const start = block.position;
119
- const end = block.position + block.length;
115
+ var start = block.position;
116
+ var end = block.position + block.length;
120
117
  return buffer.slice(start, end);
121
118
  }
122
119
  exports._getBlock = _getBlock;
@@ -125,28 +122,22 @@ function _readIntegerAsByteString(buffer, block) {
125
122
  }
126
123
  exports._readIntegerAsByteString = _readIntegerAsByteString;
127
124
  function _readListOfInteger(buffer) {
128
- const block = readTag(buffer, 0);
129
- const inner_blocks = _readStruct(buffer, block);
130
- return inner_blocks.map((bblock) => {
125
+ var block = readTag(buffer, 0);
126
+ var inner_blocks = _readStruct(buffer, block);
127
+ return inner_blocks.map(function (bblock) {
131
128
  return _readIntegerAsByteString(buffer, bblock);
132
129
  });
133
130
  }
134
131
  exports._readListOfInteger = _readListOfInteger;
135
132
  function parseOID(buffer, start, end) {
136
- // ASN.1 JavaScript decoder
137
- // Copyright (c) 2008-2014 Lapo Luchini <lapo@lapo.it>
138
- let s = "", n = 0, bits = 0;
139
- for (let i = start; i < end; ++i) {
140
- const v = buffer.readUInt8(i);
141
- // tslint:disable-next-line: no-bitwise
133
+ var s = "", n = 0, bits = 0;
134
+ for (var i = start; i < end; ++i) {
135
+ var v = buffer.readUInt8(i);
142
136
  n = n * 128 + (v & 0x7f);
143
137
  bits += 7;
144
- // noinspection JSBitwiseOperatorUsage
145
- // tslint:disable-next-line: no-bitwise
146
138
  if (!(v & 0x80)) {
147
- // finished
148
139
  if (s === "") {
149
- const m = n < 80 ? (n < 40 ? 0 : 1) : 2;
140
+ var m = n < 80 ? (n < 40 ? 0 : 1) : 2;
150
141
  s = m + "." + (n - m * 40);
151
142
  }
152
143
  else {
@@ -156,21 +147,21 @@ function parseOID(buffer, start, end) {
156
147
  bits = 0;
157
148
  }
158
149
  }
159
- assert(bits === 0); // if (bits > 0) { s += ".incomplete"; }
150
+ (0, assert_1.default)(bits === 0);
160
151
  return s;
161
152
  }
162
153
  function _readObjectIdentifier(buffer, block) {
163
- assert(block.tag === TagType.OBJECT_IDENTIFIER);
164
- const b = buffer.slice(block.position, block.position + block.length);
165
- const oid = parseOID(b, 0, block.length);
154
+ (0, assert_1.default)(block.tag === TagType.OBJECT_IDENTIFIER);
155
+ var b = buffer.subarray(block.position, block.position + block.length);
156
+ var oid = parseOID(b, 0, block.length);
166
157
  return {
167
- oid,
168
- name: oid_map_1.oid_map[oid] ? oid_map_1.oid_map[oid].d : oid,
158
+ oid: oid,
159
+ name: oid_map_js_1.oid_map[oid] ? oid_map_js_1.oid_map[oid].d : oid,
169
160
  };
170
161
  }
171
162
  exports._readObjectIdentifier = _readObjectIdentifier;
172
163
  function _readAlgorithmIdentifier(buffer, block) {
173
- const inner_blocks = _readStruct(buffer, block);
164
+ var inner_blocks = _readStruct(buffer, block);
174
165
  return {
175
166
  identifier: _readObjectIdentifier(buffer, inner_blocks[0]).name,
176
167
  };
@@ -178,9 +169,9 @@ function _readAlgorithmIdentifier(buffer, block) {
178
169
  exports._readAlgorithmIdentifier = _readAlgorithmIdentifier;
179
170
  ;
180
171
  function _readECCAlgorithmIdentifier(buffer, block) {
181
- const inner_blocks = _readStruct(buffer, block);
172
+ var inner_blocks = _readStruct(buffer, block);
182
173
  return {
183
- identifier: _readObjectIdentifier(buffer, inner_blocks[1]).name, // difference with RSA as algorithm is second element of nested block
174
+ identifier: _readObjectIdentifier(buffer, inner_blocks[1]).name,
184
175
  };
185
176
  }
186
177
  exports._readECCAlgorithmIdentifier = _readECCAlgorithmIdentifier;
@@ -194,20 +185,20 @@ function _readSignatureValue(buffer, block) {
194
185
  }
195
186
  exports._readSignatureValue = _readSignatureValue;
196
187
  function _readLongIntegerValue(buffer, block) {
197
- assert(block.tag === TagType.INTEGER, "expecting a INTEGER tag");
198
- const pos = block.position;
199
- const nbBytes = block.length;
200
- const buf = buffer.slice(pos, pos + nbBytes);
188
+ (0, assert_1.default)(block.tag === TagType.INTEGER, "expecting a INTEGER tag");
189
+ var pos = block.position;
190
+ var nbBytes = block.length;
191
+ var buf = buffer.slice(pos, pos + nbBytes);
201
192
  return buf;
202
193
  }
203
194
  exports._readLongIntegerValue = _readLongIntegerValue;
204
195
  function _readIntegerValue(buffer, block) {
205
- assert(block.tag === TagType.INTEGER, "expecting a INTEGER tag");
206
- let pos = block.position;
207
- const nbBytes = block.length;
208
- assert(nbBytes < 4);
209
- let value = 0;
210
- for (let i = 0; i < nbBytes; i++) {
196
+ (0, assert_1.default)(block.tag === TagType.INTEGER, "expecting a INTEGER tag");
197
+ var pos = block.position;
198
+ var nbBytes = block.length;
199
+ (0, assert_1.default)(nbBytes < 4);
200
+ var value = 0;
201
+ for (var i = 0; i < nbBytes; i++) {
211
202
  value = value * 256 + buffer.readUInt8(pos);
212
203
  pos += 1;
213
204
  }
@@ -215,11 +206,11 @@ function _readIntegerValue(buffer, block) {
215
206
  }
216
207
  exports._readIntegerValue = _readIntegerValue;
217
208
  function _readBooleanValue(buffer, block) {
218
- assert(block.tag === TagType.BOOLEAN, "expecting a BOOLEAN tag. got " + TagType[block.tag]);
219
- const pos = block.position;
220
- const nbBytes = block.length;
221
- assert(nbBytes < 4);
222
- const value = buffer.readUInt8(pos) ? true : false;
209
+ (0, assert_1.default)(block.tag === TagType.BOOLEAN, "expecting a BOOLEAN tag. got " + TagType[block.tag]);
210
+ var pos = block.position;
211
+ var nbBytes = block.length;
212
+ (0, assert_1.default)(nbBytes < 4);
213
+ var value = buffer.readUInt8(pos) ? true : false;
223
214
  return value;
224
215
  }
225
216
  exports._readBooleanValue = _readBooleanValue;
@@ -228,75 +219,31 @@ function _readVersionValue(buffer, block) {
228
219
  return _readIntegerValue(buffer, block);
229
220
  }
230
221
  exports._readVersionValue = _readVersionValue;
231
- /*
232
- 4.1.2.5.2 GeneralizedTime
233
-
234
- The generalized time type, GeneralizedTime, is a standard ASN.1 type
235
- for variable precision representation of time. Optionally, the
236
- GeneralizedTime field can include a representation of the time
237
- differential between local and Greenwich Mean Time.
238
-
239
- For the purposes of this profile, GeneralizedTime values MUST be
240
- expressed Greenwich Mean Time (Zulu) and MUST include seconds (i.e.,
241
- times are YYYYMMDDHHMMSSZ), even where the number of seconds is zero.
242
- GeneralizedTime values MUST NOT include fractional seconds.
243
-
244
- */
245
222
  function convertGeneralizedTime(str) {
246
- const year = parseInt(str.substr(0, 4), 10);
247
- const month = parseInt(str.substr(4, 2), 10) - 1;
248
- const day = parseInt(str.substr(6, 2), 10);
249
- const hours = parseInt(str.substr(8, 2), 10);
250
- const mins = parseInt(str.substr(10, 2), 10);
251
- const secs = parseInt(str.substr(12, 2), 10);
223
+ var year = parseInt(str.substr(0, 4), 10);
224
+ var month = parseInt(str.substr(4, 2), 10) - 1;
225
+ var day = parseInt(str.substr(6, 2), 10);
226
+ var hours = parseInt(str.substr(8, 2), 10);
227
+ var mins = parseInt(str.substr(10, 2), 10);
228
+ var secs = parseInt(str.substr(12, 2), 10);
252
229
  return new Date(Date.UTC(year, month, day, hours, mins, secs));
253
230
  }
254
231
  function _readBMPString(buffer, block) {
255
- const strBuff = _getBlock(buffer, block);
256
- let str = "";
257
- for (let i = 0; i < strBuff.length; i += 2) {
258
- const word = strBuff.readUInt16BE(i);
232
+ var strBuff = _getBlock(buffer, block);
233
+ var str = "";
234
+ for (var i = 0; i < strBuff.length; i += 2) {
235
+ var word = strBuff.readUInt16BE(i);
259
236
  str += String.fromCharCode(word);
260
237
  }
261
238
  return str;
262
239
  }
263
- /*
264
- http://tools.ietf.org/html/rfc5280
265
-
266
- 4.1.2.5. Validity
267
- [...]
268
- As conforming to this profile MUST always encode certificate
269
- validity dates through the year 2049 as UTCTime; certificate validity
270
- dates in 2050 or later MUST be encoded as GeneralizedTime.
271
- Conforming applications MUST be able to process validity dates that
272
- are encoded in either UTCTime or GeneralizedTime.
273
- [...]
274
-
275
- 4.1.2.5.1 UTCTime
276
-
277
- The universal time type, UTCTime, is a standard ASN.1 type intended
278
- for representation of dates and time. UTCTime specifies the year
279
- through the two low order digits and time is specified to the
280
- precision of one minute or one second. UTCTime includes either Z
281
- (for Zulu, or Greenwich Mean Time) or a time differential.
282
-
283
- For the purposes of this profile, UTCTime values MUST be expressed
284
- Greenwich Mean Time (Zulu) and MUST include seconds (i.e., times are
285
- YYMMDDHHMMSSZ), even where the number of seconds is zero. Conforming
286
- systems MUST interpret the year field (YY) as follows:
287
-
288
- Where YY is greater than or equal to 50, the year SHALL be
289
- interpreted as 19YY; and
290
-
291
- Where YY is less than 50, the year SHALL be interpreted as 20YY.
292
- */
293
240
  function convertUTCTime(str) {
294
- let year = parseInt(str.substr(0, 2), 10);
295
- const month = parseInt(str.substr(2, 2), 10) - 1;
296
- const day = parseInt(str.substr(4, 2), 10);
297
- const hours = parseInt(str.substr(6, 2), 10);
298
- const mins = parseInt(str.substr(8, 2), 10);
299
- const secs = parseInt(str.substr(10, 2), 10);
241
+ var year = parseInt(str.substr(0, 2), 10);
242
+ var month = parseInt(str.substr(2, 2), 10) - 1;
243
+ var day = parseInt(str.substr(4, 2), 10);
244
+ var hours = parseInt(str.substr(6, 2), 10);
245
+ var mins = parseInt(str.substr(8, 2), 10);
246
+ var secs = parseInt(str.substr(10, 2), 10);
300
247
  year += year >= 50 ? 1900 : 2000;
301
248
  return new Date(Date.UTC(year, month, day, hours, mins, secs));
302
249
  }
@@ -318,7 +265,6 @@ function _readValue(buffer, block) {
318
265
  return convertGeneralizedTime(_getBlock(buffer, block).toString("ascii"));
319
266
  default:
320
267
  throw new Error("Invalid tag 0x" + block.tag.toString(16) + "");
321
- //xx return " ??? <" + block.tag + ">";
322
268
  }
323
269
  }
324
270
  exports._readValue = _readValue;
@@ -327,26 +273,24 @@ function compactDirectoryName(d) {
327
273
  }
328
274
  exports.compactDirectoryName = compactDirectoryName;
329
275
  function _readDirectoryName(buffer, block) {
330
- // AttributeTypeAndValue ::= SEQUENCE {
331
- // type ATTRIBUTE.&id({SupportedAttributes}),
332
- // value ATTRIBUTE.&Type({SupportedAttributes}{@type}),
333
- const set_blocks = _readStruct(buffer, block);
334
- const names = {};
335
- for (const set_block of set_blocks) {
336
- assert(set_block.tag === 0x31);
337
- const blocks = _readStruct(buffer, set_block);
338
- assert(blocks.length === 1);
339
- assert(blocks[0].tag === 0x30);
340
- const sequenceBlock = _readStruct(buffer, blocks[0]);
341
- assert(sequenceBlock.length === 2);
342
- const type = _readObjectIdentifier(buffer, sequenceBlock[0]);
276
+ var set_blocks = _readStruct(buffer, block);
277
+ var names = {};
278
+ for (var _i = 0, set_blocks_1 = set_blocks; _i < set_blocks_1.length; _i++) {
279
+ var set_block = set_blocks_1[_i];
280
+ (0, assert_1.default)(set_block.tag === 0x31);
281
+ var blocks = _readStruct(buffer, set_block);
282
+ (0, assert_1.default)(blocks.length === 1);
283
+ (0, assert_1.default)(blocks[0].tag === 0x30);
284
+ var sequenceBlock = _readStruct(buffer, blocks[0]);
285
+ (0, assert_1.default)(sequenceBlock.length === 2);
286
+ var type = _readObjectIdentifier(buffer, sequenceBlock[0]);
343
287
  names[type.name] = _readValue(buffer, sequenceBlock[1]);
344
288
  }
345
289
  return names;
346
290
  }
347
291
  exports._readDirectoryName = _readDirectoryName;
348
292
  function _findBlockAtIndex(blocks, index) {
349
- const tmp = blocks.filter((b) => b.tag === 0xa0 + index || b.tag === 0x80 + index);
293
+ var tmp = blocks.filter(function (b) { return b.tag === 0xa0 + index || b.tag === 0x80 + index; });
350
294
  if (tmp.length === 0) {
351
295
  return null;
352
296
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asn1.js","sourceRoot":"","sources":["../../source/asn1.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createFastUninitializedBuffer = void 0;
4
+ exports.createFastUninitializedBuffer = Buffer.allocUnsafe
5
+ ? Buffer.allocUnsafe
6
+ : function (size) {
7
+ return new Buffer(size);
8
+ };
9
+ //# sourceMappingURL=buffer_utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffer_utils.js","sourceRoot":"","sources":["../../source/buffer_utils.ts"],"names":[],"mappings":";;;AAkCa,QAAA,6BAA6B,GAAG,MAAM,CAAC,WAAW;IAC3D,CAAC,CAAC,MAAM,CAAC,WAAW;IACpB,CAAC,CAAC,UAAC,IAAY;QAET,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CertificatePurpose = void 0;
4
+ var CertificatePurpose;
5
+ (function (CertificatePurpose) {
6
+ CertificatePurpose[CertificatePurpose["NotSpecified"] = 0] = "NotSpecified";
7
+ CertificatePurpose[CertificatePurpose["ForCertificateAuthority"] = 1] = "ForCertificateAuthority";
8
+ CertificatePurpose[CertificatePurpose["ForApplication"] = 2] = "ForApplication";
9
+ CertificatePurpose[CertificatePurpose["ForUserAuthentication"] = 3] = "ForUserAuthentication";
10
+ })(CertificatePurpose = exports.CertificatePurpose || (exports.CertificatePurpose = {}));
11
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../source/common.ts"],"names":[],"mappings":";;;AAsCA,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC1B,2EAAgB,CAAA;IAChB,iGAA2B,CAAA;IAC3B,+EAAkB,CAAA;IAClB,6FAAyB,CAAA;AAC7B,CAAC,EALW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAK7B"}