node-opcua-crypto 3.1.0 → 4.0.0

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 (47) hide show
  1. package/dist-cjs/source/common.js.map +1 -1
  2. package/dist-cjs/source/crypto_utils.js +9 -13
  3. package/dist-cjs/source/crypto_utils.js.map +1 -1
  4. package/dist-cjs/source/crypto_utils2.js +16 -45
  5. package/dist-cjs/source/crypto_utils2.js.map +1 -1
  6. package/dist-cjs/source/explore_private_key.js +4 -2
  7. package/dist-cjs/source/explore_private_key.js.map +1 -1
  8. package/dist-cjs/source/index.js +1 -0
  9. package/dist-cjs/source/index.js.map +1 -1
  10. package/dist-cjs/source/make_private_key_from_pem.js +8 -0
  11. package/dist-cjs/source/make_private_key_from_pem.js.map +1 -0
  12. package/dist-cjs/source/x509/_crypto.js +2 -0
  13. package/dist-cjs/source/x509/_crypto.js.map +1 -1
  14. package/dist-cjs/source/x509/coerce_private_key.js +8 -7
  15. package/dist-cjs/source/x509/coerce_private_key.js.map +1 -1
  16. package/dist-cjs/source_nodejs/generate_private_key_filename.js +1 -1
  17. package/dist-cjs/source_nodejs/generate_private_key_filename.js.map +1 -1
  18. package/dist-cjs/source_nodejs/read.js +25 -6
  19. package/dist-cjs/source_nodejs/read.js.map +1 -1
  20. package/dist-esm/source/common.js.map +1 -1
  21. package/dist-esm/source/crypto_utils.js +7 -12
  22. package/dist-esm/source/crypto_utils.js.map +1 -1
  23. package/dist-esm/source/crypto_utils2.js +15 -21
  24. package/dist-esm/source/crypto_utils2.js.map +1 -1
  25. package/dist-esm/source/explore_private_key.js +4 -2
  26. package/dist-esm/source/explore_private_key.js.map +1 -1
  27. package/dist-esm/source/index.js +1 -0
  28. package/dist-esm/source/index.js.map +1 -1
  29. package/dist-esm/source/make_private_key_from_pem.js +4 -0
  30. package/dist-esm/source/make_private_key_from_pem.js.map +1 -0
  31. package/dist-esm/source/x509/_crypto.js +2 -0
  32. package/dist-esm/source/x509/_crypto.js.map +1 -1
  33. package/dist-esm/source/x509/coerce_private_key.js +6 -5
  34. package/dist-esm/source/x509/coerce_private_key.js.map +1 -1
  35. package/dist-esm/source_nodejs/generate_private_key_filename.js +1 -1
  36. package/dist-esm/source_nodejs/generate_private_key_filename.js.map +1 -1
  37. package/dist-esm/source_nodejs/read.js +24 -6
  38. package/dist-esm/source_nodejs/read.js.map +1 -1
  39. package/dist-types/source/common.d.ts +5 -1
  40. package/dist-types/source/crypto_utils.d.ts +4 -3
  41. package/dist-types/source/crypto_utils2.d.ts +6 -6
  42. package/dist-types/source/explore_private_key.d.ts +1 -1
  43. package/dist-types/source/index.d.ts +1 -0
  44. package/dist-types/source/make_private_key_from_pem.d.ts +2 -0
  45. package/dist-types/source/x509/coerce_private_key.d.ts +5 -3
  46. package/dist-types/source_nodejs/read.d.ts +7 -1
  47. package/package.json +6 -2
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../source/common.ts"],"names":[],"mappings":";;;AAuCA,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC1B,2EAAgB,CAAA;IAChB,iGAA2B,CAAA;IAC3B,+EAAkB,CAAA;IAClB,6FAAyB,CAAA;AAC7B,CAAC,EALW,kBAAkB,kCAAlB,kBAAkB,QAK7B"}
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,kCAAlB,kBAAkB,QAK7B"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.extractPublicKeyFromCertificate = exports.extractPublicKeyFromCertificateSync = exports.coerceCertificatePem = exports.privateDecrypt_long = exports.publicEncrypt_long = exports.privateDecrypt = exports.publicEncrypt = exports.privateDecrypt_native = exports.publicEncrypt_native = exports.PaddingAlgorithm = exports.RSA_PKCS1_PADDING = exports.RSA_PKCS1_OAEP_PADDING = exports.makeSHA1Thumbprint = exports.verifyMessageChunkSignature = exports.makeMessageChunkSignature = exports.hexDump = exports.convertPEMtoDER = exports.toPem = exports.identifyPemType = void 0;
6
+ exports.extractPublicKeyFromCertificate = exports.extractPublicKeyFromCertificateSync = exports.coerceCertificatePem = exports.privateDecrypt_long = exports.publicEncrypt_long = exports.privateDecrypt = exports.publicEncrypt = exports.privateDecrypt_native = exports.publicEncrypt_native = exports.PaddingAlgorithm = exports.RSA_PKCS1_PADDING = exports.RSA_PKCS1_OAEP_PADDING = exports.makeSHA1Thumbprint = exports.verifyMessageChunkSignature = exports.makeMessageChunkSignature = exports.hexDump = exports.convertPEMtoDER = exports.toPem = exports.removeTrailingLF = exports.identifyPemType = void 0;
7
7
  var constants_1 = __importDefault(require("constants"));
8
8
  var assert_1 = __importDefault(require("assert"));
9
9
  var crypto_1 = require("crypto");
@@ -21,12 +21,17 @@ function identifyPemType(rawKey) {
21
21
  return !match ? undefined : match[2];
22
22
  }
23
23
  exports.identifyPemType = identifyPemType;
24
+ function removeTrailingLF(str) {
25
+ var tmp = str.replace(/(\r|\n)+$/m, "").replace(/\r\n/gm, "\n");
26
+ return tmp;
27
+ }
28
+ exports.removeTrailingLF = removeTrailingLF;
24
29
  function toPem(raw_key, pem) {
25
30
  (0, assert_1.default)(raw_key, "expecting a key");
26
31
  (0, assert_1.default)(typeof pem === "string");
27
32
  var pemType = identifyPemType(raw_key);
28
33
  if (pemType) {
29
- return raw_key instanceof Buffer ? raw_key.toString("utf8") : raw_key;
34
+ return raw_key instanceof Buffer ? removeTrailingLF(raw_key.toString("utf8")) : removeTrailingLF(raw_key);
30
35
  }
31
36
  else {
32
37
  pemType = pem;
@@ -38,7 +43,6 @@ function toPem(raw_key, pem) {
38
43
  b = b.substring(64);
39
44
  }
40
45
  str += "-----END " + pemType + "-----";
41
- str += "\n";
42
46
  return str;
43
47
  }
44
48
  }
@@ -74,16 +78,12 @@ exports.hexDump = hexDump;
74
78
  function makeMessageChunkSignature(chunk, options) {
75
79
  var signer = (0, crypto_1.createSign)(options.algorithm);
76
80
  signer.update(chunk);
77
- var signature = signer.sign(options.privateKey);
81
+ var signature = signer.sign(options.privateKey.hidden);
78
82
  (0, assert_1.default)(!options.signatureLength || signature.length === options.signatureLength);
79
83
  return signature;
80
84
  }
81
85
  exports.makeMessageChunkSignature = makeMessageChunkSignature;
82
86
  function verifyMessageChunkSignature(blockToVerify, signature, options) {
83
- (0, assert_1.default)(blockToVerify instanceof Buffer);
84
- (0, assert_1.default)(signature instanceof Buffer);
85
- (0, assert_1.default)(typeof options.publicKey === "string");
86
- (0, assert_1.default)(identifyPemType(options.publicKey));
87
87
  var verify = (0, crypto_1.createVerify)(options.algorithm);
88
88
  verify.update(blockToVerify);
89
89
  return verify.verify(options.publicKey, signature);
@@ -106,8 +106,6 @@ function publicEncrypt_native(buffer, publicKey, algorithm) {
106
106
  if (algorithm === undefined) {
107
107
  algorithm = PaddingAlgorithm.RSA_PKCS1_PADDING;
108
108
  }
109
- (0, assert_1.default)(algorithm === exports.RSA_PKCS1_PADDING || algorithm === exports.RSA_PKCS1_OAEP_PADDING);
110
- (0, assert_1.default)(buffer instanceof Buffer, "Expecting a buffer");
111
109
  return (0, crypto_1.publicEncrypt)({
112
110
  key: publicKey,
113
111
  padding: algorithm,
@@ -118,11 +116,9 @@ function privateDecrypt_native(buffer, privateKey, algorithm) {
118
116
  if (algorithm === undefined) {
119
117
  algorithm = PaddingAlgorithm.RSA_PKCS1_PADDING;
120
118
  }
121
- (0, assert_1.default)(algorithm === exports.RSA_PKCS1_PADDING || algorithm === exports.RSA_PKCS1_OAEP_PADDING);
122
- (0, assert_1.default)(buffer instanceof Buffer, "Expecting a buffer");
123
119
  try {
124
120
  return (0, crypto_1.privateDecrypt)({
125
- key: privateKey,
121
+ key: privateKey.hidden,
126
122
  padding: algorithm,
127
123
  }, buffer);
128
124
  }
@@ -1 +1 @@
1
- {"version":3,"file":"crypto_utils.js","sourceRoot":"","sources":["../../source/crypto_utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crypto_utils.js","sourceRoot":"","sources":["../../source/crypto_utils.ts"],"names":[],"mappings":"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"}
@@ -1,64 +1,31 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
4
  };
28
5
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.rsaLengthRsaPublicKey = exports.rsaLengthPublicKey = exports.coerceRsaPublicKeyPem = exports.coercePublicKeyPem = exports.toPem2 = exports.rsaLengthPrivateKey = exports.coercePrivateKeyPem = void 0;
6
+ exports.rsaLengthRsaPublicKey = exports.rsaLengthPublicKey = exports.coerceRsaPublicKeyPem = exports.coercePublicKeyPem = exports.coercePrivateKeyPem = exports.toPem2 = exports.rsaLengthPrivateKey = void 0;
30
7
  var assert_1 = __importDefault(require("assert"));
31
- var crypto = __importStar(require("crypto"));
32
- var createPrivateKey = crypto.createPrivateKey;
8
+ var crypto_1 = require("crypto");
33
9
  var crypto_utils_js_1 = require("./crypto_utils.js");
34
- var coerce_private_key_js_1 = require("./x509/coerce_private_key.js");
35
10
  var jsrsasign = require("jsrsasign");
36
- function coercePrivateKeyPem(privateKey) {
37
- if (privateKey instanceof Buffer) {
38
- var o = createPrivateKey({ key: privateKey, format: "der", type: "pkcs1" });
39
- var e = o.export({ format: "der", type: "pkcs1" });
40
- privateKey = (0, crypto_utils_js_1.toPem)(e, "RSA PRIVATE KEY");
41
- }
42
- (0, assert_1.default)(typeof privateKey === "string");
43
- return privateKey;
44
- }
45
- exports.coercePrivateKeyPem = coercePrivateKeyPem;
46
11
  function rsaLengthPrivateKey(key) {
47
- key = (0, coerce_private_key_js_1.coercePrivateKey)(key);
48
- var key2 = key.export({ type: "pkcs1", format: "pem" }).toString();
49
- var a = jsrsasign.KEYUTIL.getKey(key2);
12
+ var keyPem = typeof key.hidden === "string" ? key.hidden : key.hidden.export({ type: "pkcs1", format: "pem" }).toString();
13
+ var a = jsrsasign.KEYUTIL.getKey(keyPem);
50
14
  return a.n.toString(16).length / 2;
51
15
  }
52
16
  exports.rsaLengthPrivateKey = rsaLengthPrivateKey;
53
17
  function toPem2(raw_key, pem) {
18
+ if (raw_key.hidden) {
19
+ return toPem2(raw_key.hidden, pem);
20
+ }
54
21
  (0, assert_1.default)(raw_key, "expecting a key");
55
22
  (0, assert_1.default)(typeof pem === "string");
56
- if (raw_key instanceof crypto.KeyObject) {
23
+ if (raw_key instanceof crypto_1.KeyObject) {
57
24
  if (pem === "RSA PRIVATE KEY") {
58
- return raw_key.export({ format: "pem", type: "pkcs1" }).toString();
25
+ return (0, crypto_utils_js_1.removeTrailingLF)(raw_key.export({ format: "pem", type: "pkcs1" }).toString());
59
26
  }
60
27
  else if (pem === "PRIVATE KEY") {
61
- return raw_key.export({ format: "pem", type: "pkcs8" }).toString();
28
+ return (0, crypto_utils_js_1.removeTrailingLF)(raw_key.export({ format: "pem", type: "pkcs8" }).toString());
62
29
  }
63
30
  else {
64
31
  throw new Error("Unsupported case!");
@@ -67,8 +34,12 @@ function toPem2(raw_key, pem) {
67
34
  return (0, crypto_utils_js_1.toPem)(raw_key, pem);
68
35
  }
69
36
  exports.toPem2 = toPem2;
37
+ function coercePrivateKeyPem(privateKey) {
38
+ return toPem2(privateKey, "PRIVATE KEY");
39
+ }
40
+ exports.coercePrivateKeyPem = coercePrivateKeyPem;
70
41
  function coercePublicKeyPem(publicKey) {
71
- if (publicKey instanceof crypto.KeyObject) {
42
+ if (publicKey instanceof crypto_1.KeyObject) {
72
43
  return publicKey.export({ format: "pem", type: "spki" }).toString();
73
44
  }
74
45
  (0, assert_1.default)(typeof publicKey === "string");
@@ -76,7 +47,7 @@ function coercePublicKeyPem(publicKey) {
76
47
  }
77
48
  exports.coercePublicKeyPem = coercePublicKeyPem;
78
49
  function coerceRsaPublicKeyPem(publicKey) {
79
- if (publicKey instanceof crypto.KeyObject) {
50
+ if (publicKey instanceof crypto_1.KeyObject) {
80
51
  return publicKey.export({ format: "pem", type: "spki" }).toString();
81
52
  }
82
53
  (0, assert_1.default)(typeof publicKey === "string");
@@ -1 +1 @@
1
- {"version":3,"file":"crypto_utils2.js","sourceRoot":"","sources":["../../source/crypto_utils2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crypto_utils2.js","sourceRoot":"","sources":["../../source/crypto_utils2.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.explorePrivateKey = void 0;
4
4
  var asn1_js_1 = require("./asn1.js");
5
+ var crypto_utils_js_1 = require("./crypto_utils.js");
5
6
  function f(buffer, b) {
6
7
  return buffer.subarray(b.position + 1, b.position + b.length);
7
8
  }
8
9
  var doDebug = !!process.env.DEBUG;
9
- function explorePrivateKey(privateKey1) {
10
- var privateKey = privateKey1.export({ format: "der", type: "pkcs1" });
10
+ function explorePrivateKey(privateKey2) {
11
+ var privateKey1 = privateKey2.hidden;
12
+ var privateKey = typeof privateKey1 === "string" ? (0, crypto_utils_js_1.convertPEMtoDER)(privateKey1) : privateKey1.export({ format: "der", type: "pkcs1" });
11
13
  var block_info = (0, asn1_js_1.readTag)(privateKey, 0);
12
14
  var blocks = (0, asn1_js_1._readStruct)(privateKey, block_info);
13
15
  if (blocks.length === 9) {
@@ -1 +1 @@
1
- {"version":3,"file":"explore_private_key.js","sourceRoot":"","sources":["../../source/explore_private_key.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explore_private_key.js","sourceRoot":"","sources":["../../source/explore_private_key.ts"],"names":[],"mappings":"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"}
@@ -34,4 +34,5 @@ __exportStar(require("./x509/create_self_signed_certificate.js"), exports);
34
34
  __exportStar(require("./x509/coerce_private_key.js"), exports);
35
35
  __exportStar(require("./subject.js"), exports);
36
36
  __exportStar(require("./asn1.js"), exports);
37
+ __exportStar(require("./make_private_key_from_pem.js"), exports);
37
38
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AA0BA,8CAA4B;AAC5B,oDAAkC;AAClC,2DAAyC;AACzC,oDAAkC;AAClC,qDAAmC;AACnC,kEAAgD;AAChD,oEAAkD;AAClD,2EAAyD;AACzD,2EAAyD;AACzD,2DAAyC;AACzC,qEAAwG;AAA/F,wIAAA,6BAA6B,OAAA;AAAE,uIAAA,4BAA4B,OAAA;AACpE,4DAA0C;AAC1C,+EAA6D;AAC7D,2EAAyD;AACzD,+DAA6C;AAC7C,+CAA6B;AAC7B,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AA0BA,8CAA4B;AAC5B,oDAAkC;AAClC,2DAAyC;AACzC,oDAAkC;AAClC,qDAAmC;AACnC,kEAAgD;AAChD,oEAAkD;AAClD,2EAAyD;AACzD,2EAAyD;AACzD,2DAAyC;AACzC,qEAAwG;AAA/F,wIAAA,6BAA6B,OAAA;AAAE,uIAAA,4BAA4B,OAAA;AACpE,4DAA0C;AAC1C,+EAA6D;AAC7D,2EAAyD;AACzD,+DAA6C;AAC7C,+CAA6B;AAC7B,4CAA0B;AAC1B,iEAA+C"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makePrivateKeyFromPem = void 0;
4
+ function makePrivateKeyFromPem(privateKeyInPem) {
5
+ return { hidden: privateKeyInPem };
6
+ }
7
+ exports.makePrivateKeyFromPem = makePrivateKeyFromPem;
8
+ //# sourceMappingURL=make_private_key_from_pem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make_private_key_from_pem.js","sourceRoot":"","sources":["../../source/make_private_key_from_pem.ts"],"names":[],"mappings":";;;AAGA,SAAgB,qBAAqB,CAAC,eAAuB;IACzD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;AACvC,CAAC;AAFD,sDAEC"}
@@ -31,8 +31,10 @@ if (typeof window === "undefined") {
31
31
  _crypto = require("crypto");
32
32
  if (!(_crypto === null || _crypto === void 0 ? void 0 : _crypto.subtle)) {
33
33
  _crypto = new webcrypto_1.Crypto();
34
+ console.warn("using @peculiar/webcrypto");
34
35
  }
35
36
  else {
37
+ console.warn("using nodejs crypto (native)");
36
38
  }
37
39
  x509.cryptoProvider.set(_crypto);
38
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"_crypto.js","sourceRoot":"","sources":["../../../source/x509/_crypto.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACvC,iDAA6C;AAE7C,IAAI,OAA2B,CAAC;AAKhC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IAC/B,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5B,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA,EAAE;QAClB,OAAO,GAAG,IAAI,kBAAM,EAAE,CAAC;KAE1B;SAAM;KAEN;IACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACpC;KAAM;IAEH,OAAO,GAAG,MAAM,CAAC;IACjB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACnC;AAGD,SAAgB,SAAS;IACrB,OAAO,OAAO,IAAI,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;AAClD,CAAC;AAFD,8BAEC;AACD,uDAAuC"}
1
+ {"version":3,"file":"_crypto.js","sourceRoot":"","sources":["../../../source/x509/_crypto.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACvC,iDAA6C;AAE7C,IAAI,OAA2B,CAAC;AAKhC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IAC/B,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5B,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA,EAAE;QAClB,OAAO,GAAG,IAAI,kBAAM,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;KAC7C;SAAM;QACH,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;KAChD;IACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACpC;KAAM;IAEH,OAAO,GAAG,MAAM,CAAC;IACjB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACnC;AAGD,SAAgB,SAAS;IACrB,OAAO,OAAO,IAAI,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;AAClD,CAAC;AAFD,8BAEC;AACD,uDAAuC"}
@@ -36,19 +36,20 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports._coercePrivateKey = exports.coercePrivateKey = void 0;
39
+ exports._coercePrivateKey = exports.coercePEMorDerToPrivateKey = void 0;
40
+ var crypto_1 = require("crypto");
40
41
  var _crypto_1 = require("./_crypto");
41
42
  var create_key_pair_1 = require("./create_key_pair");
42
- var crypto_1 = require("crypto");
43
43
  var crypto = (0, _crypto_1.getCrypto)();
44
44
  var doDebug = false;
45
- function coercePrivateKey(privateKey) {
46
- if (typeof privateKey === "string") {
47
- return (0, crypto_1.createPrivateKey)(privateKey);
45
+ function coercePEMorDerToPrivateKey(privateKeyInDerOrPem) {
46
+ if (typeof privateKeyInDerOrPem === "string") {
47
+ var hidden = (0, crypto_1.createPrivateKey)(privateKeyInDerOrPem);
48
+ return { hidden: hidden };
48
49
  }
49
- return privateKey;
50
+ throw new Error("not implemented");
50
51
  }
51
- exports.coercePrivateKey = coercePrivateKey;
52
+ exports.coercePEMorDerToPrivateKey = coercePEMorDerToPrivateKey;
52
53
  function _coercePrivateKey(privateKey) {
53
54
  return __awaiter(this, void 0, void 0, function () {
54
55
  var KeyObject, privateKey1, privateKey1, err_1;
@@ -1 +1 @@
1
- {"version":3,"file":"coerce_private_key.js","sourceRoot":"","sources":["../../../source/x509/coerce_private_key.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,qCAAsC;AACtC,qDAAqE;AAErE,iCAAsE;AACtE,IAAM,MAAM,GAAG,IAAA,mBAAS,GAAE,CAAC;AAE3B,IAAM,OAAO,GAAG,KAAK,CAAC;AAEtB,SAAgB,gBAAgB,CAAC,UAAsC;IACnE,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;QAChC,OAAO,IAAA,yBAAwB,EAAC,UAAU,CAAC,CAAC;KAC/C;IACD,OAAO,UAAU,CAAC;AACtB,CAAC;AALD,4CAKC;AAED,SAAsB,iBAAiB,CAAC,UAAe;;;;;;oBAC7C,SAAS,GAAI,MAAc,CAAC,SAAS,CAAC;yBACxC,CAAA,UAAU,YAAY,MAAM,CAAA,EAA5B,cAA4B;oBACR,WAAM,IAAA,iCAAe,EAAC,UAAU,CAAC,EAAA;;oBAA/C,WAAW,GAAG,SAAiC;oBACrD,WAAO,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAC;;yBAC5B,CAAA,OAAO,UAAU,KAAK,QAAQ,CAAA,EAA9B,cAA8B;;;;oBAGb,WAAM,IAAA,iCAAe,EAAC,UAAU,CAAC,EAAA;;oBAA/C,WAAW,GAAG,SAAiC;oBACrD,WAAO,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAC;;;oBAEnC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACnC,MAAM,KAAG,CAAC;;;oBAEX,IAAI,UAAU,YAAY,SAAS,EAAE;wBACxC,WAAO,UAAU,EAAC;qBACrB;;wBACD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;;;;CACzC;AAlBD,8CAkBC"}
1
+ {"version":3,"file":"coerce_private_key.js","sourceRoot":"","sources":["../../../source/x509/coerce_private_key.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,iCAAyF;AACzF,qCAAsC;AAEtC,qDAAqE;AAGrE,IAAM,MAAM,GAAG,IAAA,mBAAS,GAAE,CAAC;AAE3B,IAAM,OAAO,GAAG,KAAK,CAAC;AAGtB,SAAgB,0BAA0B,CAAC,oBAAoC;IAC3E,IAAI,OAAO,oBAAoB,KAAK,QAAQ,EAAE;QAC1C,IAAM,MAAM,GAAG,IAAA,yBAAgC,EAAC,oBAAoB,CAAC,CAAC;QACtE,OAAO,EAAE,MAAM,QAAA,EAAC,CAAC;KACpB;IAED,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAEvC,CAAC;AARD,gEAQC;AAED,SAAsB,iBAAiB,CAAC,UAAe;;;;;;oBAC7C,SAAS,GAAI,MAAc,CAAC,SAAS,CAAC;yBACxC,CAAA,UAAU,YAAY,MAAM,CAAA,EAA5B,cAA4B;oBACR,WAAM,IAAA,iCAAe,EAAC,UAAU,CAAC,EAAA;;oBAA/C,WAAW,GAAG,SAAiC;oBACrD,WAAO,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAC;;yBAC5B,CAAA,OAAO,UAAU,KAAK,QAAQ,CAAA,EAA9B,cAA8B;;;;oBAGb,WAAM,IAAA,iCAAe,EAAC,UAAU,CAAC,EAAA;;oBAA/C,WAAW,GAAG,SAAiC;oBACrD,WAAO,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAC;;;oBAEnC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACnC,MAAM,KAAG,CAAC;;;oBAEX,IAAI,UAAU,YAAY,SAAS,EAAE;wBACxC,WAAO,UAAU,EAAC;qBACrB;;wBACD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;;;;CACzC;AAlBD,8CAkBC"}
@@ -53,7 +53,7 @@ function generatePrivateKeyFile(privateKeyFilename, modulusLength) {
53
53
  return [4, (0, index_js_1.privateKeyToPEM)(keys.privateKey)];
54
54
  case 2:
55
55
  privateKeyPem = _a.sent();
56
- return [4, fs_1.default.promises.writeFile(privateKeyFilename, privateKeyPem.privPem)];
56
+ return [4, fs_1.default.promises.writeFile(privateKeyFilename, privateKeyPem.privPem, "utf-8")];
57
57
  case 3:
58
58
  _a.sent();
59
59
  privateKeyPem.privPem = "";
@@ -1 +1 @@
1
- {"version":3,"file":"generate_private_key_filename.js","sourceRoot":"","sources":["../../source_nodejs/generate_private_key_filename.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,0CAAoB;AACpB,+CAAsE;AAEtE,SAAsB,sBAAsB,CAAC,kBAA0B,EAAE,aAAwC;;;;;wBAChG,WAAM,IAAA,0BAAe,EAAC,aAAa,CAAC,EAAA;;oBAA3C,IAAI,GAAG,SAAoC;oBAC3B,WAAM,IAAA,0BAAe,EAAC,IAAI,CAAC,UAAU,CAAC,EAAA;;oBAAtD,aAAa,GAAG,SAAsC;oBAC5D,WAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,EAAE,aAAa,CAAC,OAAO,CAAC,EAAA;;oBAAtE,SAAsE,CAAC;oBACvE,aAAa,CAAC,OAAO,GAAG,EAAE,CAAC;oBAC3B,aAAa,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;;;;;CAC7C;AAND,wDAMC"}
1
+ {"version":3,"file":"generate_private_key_filename.js","sourceRoot":"","sources":["../../source_nodejs/generate_private_key_filename.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,0CAAoB;AACpB,+CAAsE;AAEtE,SAAsB,sBAAsB,CAAC,kBAA0B,EAAE,aAAwC;;;;;wBAChG,WAAM,IAAA,0BAAe,EAAC,aAAa,CAAC,EAAA;;oBAA3C,IAAI,GAAG,SAAoC;oBAC3B,WAAM,IAAA,0BAAe,EAAC,IAAI,CAAC,UAAU,CAAC,EAAA;;oBAAtD,aAAa,GAAG,SAAsC;oBAC5D,WAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EAAA;;oBAA/E,SAA+E,CAAC;oBAChF,aAAa,CAAC,OAAO,GAAG,EAAE,CAAC;oBAC3B,aAAa,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;;;;;CAC7C;AAND,wDAMC"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.readPublicRsaKey = exports.readPrivateRsaKey = exports.setCertificateStore = exports.readPrivateKeyPEM = exports.readPublicKeyPEM = exports.readCertificatePEM = exports.readPrivateKey = exports.readPublicKey = exports.readCertificate = void 0;
6
+ exports.readPublicRsaKey = exports.readPrivateRsaKey = exports.setCertificateStore = exports.readPrivateKeyPEM = exports.readPublicKeyPEM = exports.readCertificatePEM = exports.readPrivateKey = exports.makePrivateKeyThumbPrint = exports.readPublicKey = exports.readCertificate = void 0;
7
7
  var assert_1 = __importDefault(require("assert"));
8
8
  var fs_1 = __importDefault(require("fs"));
9
9
  var path_1 = __importDefault(require("path"));
@@ -12,7 +12,7 @@ var crypto_utils_js_1 = require("../source/crypto_utils.js");
12
12
  var sshpk = require("sshpk");
13
13
  function _readPemFile(filename) {
14
14
  (0, assert_1.default)(typeof filename === "string");
15
- return fs_1.default.readFileSync(filename, "ascii");
15
+ return (0, crypto_utils_js_1.removeTrailingLF)(fs_1.default.readFileSync(filename, "utf-8"));
16
16
  }
17
17
  function _readPemOrDerFileAsDER(filename) {
18
18
  if (filename.match(/.*\.der/)) {
@@ -37,11 +37,26 @@ function readPublicKey(filename) {
37
37
  }
38
38
  exports.readPublicKey = readPublicKey;
39
39
  function myCreatePrivateKey(rawKey) {
40
+ if (!crypto_1.createPrivateKey || process.env.NO_CREATE_PRIVATEKEY) {
41
+ if (rawKey instanceof Buffer) {
42
+ var pemKey = (0, crypto_utils_js_1.toPem)(rawKey, "PRIVATE KEY");
43
+ (0, assert_1.default)(["RSA PRIVATE KEY", "PRIVATE KEY"].indexOf((0, crypto_utils_js_1.identifyPemType)(pemKey)) >= 0);
44
+ return { hidden: pemKey };
45
+ }
46
+ return { hidden: ensureTrailingLF(rawKey) };
47
+ }
40
48
  var backup = process.env.OPENSSL_CONF;
41
49
  process.env.OPENSSL_CONF = "/dev/null";
42
50
  var retValue = (0, crypto_1.createPrivateKey)(rawKey);
43
51
  process.env.OPENSSL_CONF = backup;
44
- return retValue;
52
+ return { hidden: retValue };
53
+ }
54
+ function makePrivateKeyThumbPrint(privateKey) {
55
+ return Buffer.alloc(0);
56
+ }
57
+ exports.makePrivateKeyThumbPrint = makePrivateKeyThumbPrint;
58
+ function ensureTrailingLF(str) {
59
+ return str.match(/\n$/) ? str : str + "\n";
45
60
  }
46
61
  function readPrivateKey(filename) {
47
62
  if (filename.match(/.*\.der/)) {
@@ -74,20 +89,24 @@ function setCertificateStore(store) {
74
89
  }
75
90
  exports.setCertificateStore = setCertificateStore;
76
91
  function readPrivateRsaKey(filename) {
92
+ if (!crypto_1.createPrivateKey) {
93
+ throw new Error("createPrivateKey is not supported in this environment");
94
+ }
77
95
  if (filename.substring(0, 1) !== "." && !fs_1.default.existsSync(filename)) {
78
96
  filename = __certificate_store + filename;
79
97
  }
80
- var content = fs_1.default.readFileSync(filename, "ascii");
98
+ var content = fs_1.default.readFileSync(filename, "utf8");
81
99
  var sshKey = sshpk.parsePrivateKey(content, "auto");
82
100
  var key = sshKey.toString("pkcs1");
83
- return (0, crypto_1.createPrivateKey)({ format: "pem", type: "pkcs1", key: key });
101
+ var hidden = (0, crypto_1.createPrivateKey)({ format: "pem", type: "pkcs1", key: key });
102
+ return { hidden: hidden };
84
103
  }
85
104
  exports.readPrivateRsaKey = readPrivateRsaKey;
86
105
  function readPublicRsaKey(filename) {
87
106
  if (filename.substring(0, 1) !== "." && !fs_1.default.existsSync(filename)) {
88
107
  filename = __certificate_store + filename;
89
108
  }
90
- var content = fs_1.default.readFileSync(filename, "ascii");
109
+ var content = fs_1.default.readFileSync(filename, "utf-8");
91
110
  var sshKey = sshpk.parseKey(content, "ssh");
92
111
  var key = sshKey.toString("pkcs1");
93
112
  return (0, crypto_1.createPublicKey)({ format: "pem", type: "pkcs1", key: key });
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../source_nodejs/read.ts"],"names":[],"mappings":";;;;;;AAuBA,kDAA4B;AAC5B,0CAAoB;AACpB,8CAAwB;AACxB,iCAA2D;AAE3D,6DAA4D;AAE5D,IAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAE/B,SAAS,YAAY,CAAC,QAAgB;IAClC,IAAA,gBAAM,EAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC;IACrC,OAAO,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAgB;IAC5C,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QAC3B,OAAO,YAAE,CAAC,YAAY,CAAC,QAAQ,CAAW,CAAC;KAC9C;IACD,IAAM,OAAO,GAAW,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC/C,OAAO,IAAA,iCAAe,EAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAKD,SAAgB,eAAe,CAAC,QAAgB;IAC5C,OAAO,sBAAsB,CAAC,QAAQ,CAAgB,CAAC;AAC3D,CAAC;AAFD,0CAEC;AAKD,SAAgB,aAAa,CAAC,QAAgB;IAC1C,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QAC3B,IAAM,GAAG,GAAG,YAAE,CAAC,YAAY,CAAC,QAAQ,CAAW,CAAC;QAChD,OAAO,IAAA,wBAAe,EAAC,GAAG,CAAC,CAAC;KAC/B;SAAM;QACH,IAAM,OAAO,GAAW,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC/C,OAAO,IAAA,wBAAe,EAAC,OAAO,CAAC,CAAC;KACnC;AACL,CAAC;AARD,sCAQC;AAED,SAAS,kBAAkB,CAAC,MAAuB;IAE/C,IAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,WAAW,CAAC;IACvC,IAAM,QAAQ,GAAG,IAAA,yBAAgB,EAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC;IAClC,OAAO,QAAQ,CAAC;AACpB,CAAC;AAID,SAAgB,cAAc,CAAC,QAAgB;IAC3C,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QAC3B,IAAM,GAAG,GAAG,YAAE,CAAC,YAAY,CAAC,QAAQ,CAAW,CAAC;QAChD,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;KAClC;SAAM;QACH,IAAM,OAAO,GAAW,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC/C,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;KACtC;AACL,CAAC;AARD,wCAQC;AAED,SAAgB,kBAAkB,CAAC,QAAgB;IAC/C,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC;AAFD,gDAEC;AAED,SAAgB,gBAAgB,CAAC,QAAgB;IAC7C,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC;AAFD,4CAEC;AAED,SAAgB,iBAAiB,CAAC,QAAgB;IAC9C,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC;AAFD,8CAEC;AACD,IAAI,mBAAmB,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;AAEtE,SAAgB,mBAAmB,CAAC,KAAa;IAC7C,IAAM,SAAS,GAAG,mBAAmB,CAAC;IACtC,mBAAmB,GAAG,KAAK,CAAC;IAC5B,OAAO,SAAS,CAAC;AACrB,CAAC;AAJD,kDAIC;AAMD,SAAgB,iBAAiB,CAAC,QAAgB;IAC9C,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC9D,QAAQ,GAAG,mBAAmB,GAAG,QAAQ,CAAC;KAC7C;IACD,IAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,IAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACtD,IAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAQ,CAAC;IAC5C,OAAO,IAAA,yBAAgB,EAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;AACnE,CAAC;AARD,8CAQC;AAED,SAAgB,gBAAgB,CAAC,QAAgB;IAC7C,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC9D,QAAQ,GAAG,mBAAmB,GAAG,QAAQ,CAAC;KAC7C;IACD,IAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,IAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9C,IAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAQ,CAAC;IAC5C,OAAO,IAAA,wBAAe,EAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;AAClE,CAAC;AARD,4CAQC"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../source_nodejs/read.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../source/common.ts"],"names":[],"mappings":"AAuCA,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC1B,2EAAgB,CAAA;IAChB,iGAA2B,CAAA;IAC3B,+EAAkB,CAAA;IAClB,6FAAyB,CAAA;AAC7B,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../source/common.ts"],"names":[],"mappings":"AAsCA,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC1B,2EAAgB,CAAA;IAChB,iGAA2B,CAAA;IAC3B,+EAAkB,CAAA;IAClB,6FAAyB,CAAA;AAC7B,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B"}
@@ -14,12 +14,16 @@ export function identifyPemType(rawKey) {
14
14
  var match = PEM_TYPE_REGEX.exec(rawKey);
15
15
  return !match ? undefined : match[2];
16
16
  }
17
+ export function removeTrailingLF(str) {
18
+ var tmp = str.replace(/(\r|\n)+$/m, "").replace(/\r\n/gm, "\n");
19
+ return tmp;
20
+ }
17
21
  export function toPem(raw_key, pem) {
18
22
  assert(raw_key, "expecting a key");
19
23
  assert(typeof pem === "string");
20
24
  var pemType = identifyPemType(raw_key);
21
25
  if (pemType) {
22
- return raw_key instanceof Buffer ? raw_key.toString("utf8") : raw_key;
26
+ return raw_key instanceof Buffer ? removeTrailingLF(raw_key.toString("utf8")) : removeTrailingLF(raw_key);
23
27
  }
24
28
  else {
25
29
  pemType = pem;
@@ -31,7 +35,6 @@ export function toPem(raw_key, pem) {
31
35
  b = b.substring(64);
32
36
  }
33
37
  str += "-----END " + pemType + "-----";
34
- str += "\n";
35
38
  return str;
36
39
  }
37
40
  }
@@ -64,15 +67,11 @@ export function hexDump(buffer, width) {
64
67
  export function makeMessageChunkSignature(chunk, options) {
65
68
  var signer = createSign(options.algorithm);
66
69
  signer.update(chunk);
67
- var signature = signer.sign(options.privateKey);
70
+ var signature = signer.sign(options.privateKey.hidden);
68
71
  assert(!options.signatureLength || signature.length === options.signatureLength);
69
72
  return signature;
70
73
  }
71
74
  export function verifyMessageChunkSignature(blockToVerify, signature, options) {
72
- assert(blockToVerify instanceof Buffer);
73
- assert(signature instanceof Buffer);
74
- assert(typeof options.publicKey === "string");
75
- assert(identifyPemType(options.publicKey));
76
75
  var verify = createVerify(options.algorithm);
77
76
  verify.update(blockToVerify);
78
77
  return verify.verify(options.publicKey, signature);
@@ -93,8 +92,6 @@ export function publicEncrypt_native(buffer, publicKey, algorithm) {
93
92
  if (algorithm === undefined) {
94
93
  algorithm = PaddingAlgorithm.RSA_PKCS1_PADDING;
95
94
  }
96
- assert(algorithm === RSA_PKCS1_PADDING || algorithm === RSA_PKCS1_OAEP_PADDING);
97
- assert(buffer instanceof Buffer, "Expecting a buffer");
98
95
  return publicEncrypt1({
99
96
  key: publicKey,
100
97
  padding: algorithm,
@@ -104,11 +101,9 @@ export function privateDecrypt_native(buffer, privateKey, algorithm) {
104
101
  if (algorithm === undefined) {
105
102
  algorithm = PaddingAlgorithm.RSA_PKCS1_PADDING;
106
103
  }
107
- assert(algorithm === RSA_PKCS1_PADDING || algorithm === RSA_PKCS1_OAEP_PADDING);
108
- assert(buffer instanceof Buffer, "Expecting a buffer");
109
104
  try {
110
105
  return privateDecrypt1({
111
- key: privateKey,
106
+ key: privateKey.hidden,
112
107
  padding: algorithm,
113
108
  }, buffer);
114
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"crypto_utils.js","sourceRoot":"","sources":["../../source/crypto_utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crypto_utils.js","sourceRoot":"","sources":["../../source/crypto_utils.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,24 @@
1
1
  import assert from "assert";
2
- import * as crypto from "crypto";
3
- var createPrivateKey = crypto.createPrivateKey;
4
- import { toPem } from "./crypto_utils.js";
5
- import { coercePrivateKey } from "./x509/coerce_private_key.js";
2
+ import { KeyObject } from "crypto";
3
+ import { removeTrailingLF, toPem } from "./crypto_utils.js";
6
4
  var jsrsasign = require("jsrsasign");
7
- export function coercePrivateKeyPem(privateKey) {
8
- if (privateKey instanceof Buffer) {
9
- var o = createPrivateKey({ key: privateKey, format: "der", type: "pkcs1" });
10
- var e = o.export({ format: "der", type: "pkcs1" });
11
- privateKey = toPem(e, "RSA PRIVATE KEY");
12
- }
13
- assert(typeof privateKey === "string");
14
- return privateKey;
15
- }
16
5
  export function rsaLengthPrivateKey(key) {
17
- key = coercePrivateKey(key);
18
- var key2 = key.export({ type: "pkcs1", format: "pem" }).toString();
19
- var a = jsrsasign.KEYUTIL.getKey(key2);
6
+ var keyPem = typeof key.hidden === "string" ? key.hidden : key.hidden.export({ type: "pkcs1", format: "pem" }).toString();
7
+ var a = jsrsasign.KEYUTIL.getKey(keyPem);
20
8
  return a.n.toString(16).length / 2;
21
9
  }
22
10
  export function toPem2(raw_key, pem) {
11
+ if (raw_key.hidden) {
12
+ return toPem2(raw_key.hidden, pem);
13
+ }
23
14
  assert(raw_key, "expecting a key");
24
15
  assert(typeof pem === "string");
25
- if (raw_key instanceof crypto.KeyObject) {
16
+ if (raw_key instanceof KeyObject) {
26
17
  if (pem === "RSA PRIVATE KEY") {
27
- return raw_key.export({ format: "pem", type: "pkcs1" }).toString();
18
+ return removeTrailingLF(raw_key.export({ format: "pem", type: "pkcs1" }).toString());
28
19
  }
29
20
  else if (pem === "PRIVATE KEY") {
30
- return raw_key.export({ format: "pem", type: "pkcs8" }).toString();
21
+ return removeTrailingLF(raw_key.export({ format: "pem", type: "pkcs8" }).toString());
31
22
  }
32
23
  else {
33
24
  throw new Error("Unsupported case!");
@@ -35,15 +26,18 @@ export function toPem2(raw_key, pem) {
35
26
  }
36
27
  return toPem(raw_key, pem);
37
28
  }
29
+ export function coercePrivateKeyPem(privateKey) {
30
+ return toPem2(privateKey, "PRIVATE KEY");
31
+ }
38
32
  export function coercePublicKeyPem(publicKey) {
39
- if (publicKey instanceof crypto.KeyObject) {
33
+ if (publicKey instanceof KeyObject) {
40
34
  return publicKey.export({ format: "pem", type: "spki" }).toString();
41
35
  }
42
36
  assert(typeof publicKey === "string");
43
37
  return publicKey;
44
38
  }
45
39
  export function coerceRsaPublicKeyPem(publicKey) {
46
- if (publicKey instanceof crypto.KeyObject) {
40
+ if (publicKey instanceof KeyObject) {
47
41
  return publicKey.export({ format: "pem", type: "spki" }).toString();
48
42
  }
49
43
  assert(typeof publicKey === "string");
@@ -1 +1 @@
1
- {"version":3,"file":"crypto_utils2.js","sourceRoot":"","sources":["../../source/crypto_utils2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crypto_utils2.js","sourceRoot":"","sources":["../../source/crypto_utils2.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import { readTag, TagType, _readStruct } from "./asn1.js";
2
+ import { convertPEMtoDER } from "./crypto_utils.js";
2
3
  function f(buffer, b) {
3
4
  return buffer.subarray(b.position + 1, b.position + b.length);
4
5
  }
5
6
  var doDebug = !!process.env.DEBUG;
6
- export function explorePrivateKey(privateKey1) {
7
- var privateKey = privateKey1.export({ format: "der", type: "pkcs1" });
7
+ export function explorePrivateKey(privateKey2) {
8
+ var privateKey1 = privateKey2.hidden;
9
+ var privateKey = typeof privateKey1 === "string" ? convertPEMtoDER(privateKey1) : privateKey1.export({ format: "der", type: "pkcs1" });
8
10
  var block_info = readTag(privateKey, 0);
9
11
  var blocks = _readStruct(privateKey, block_info);
10
12
  if (blocks.length === 9) {
@@ -1 +1 @@
1
- {"version":3,"file":"explore_private_key.js","sourceRoot":"","sources":["../../source/explore_private_key.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explore_private_key.js","sourceRoot":"","sources":["../../source/explore_private_key.ts"],"names":[],"mappings":"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"}
@@ -15,4 +15,5 @@ export * from "./x509/create_self_signed_certificate.js";
15
15
  export * from "./x509/coerce_private_key.js";
16
16
  export * from "./subject.js";
17
17
  export * from "./asn1.js";
18
+ export * from "./make_private_key_from_pem.js";
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/index.ts"],"names":[],"mappings":"AA0BA,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0CAA0C,CAAC;AACzD,cAAc,0CAA0C,CAAC;AACzD,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACxG,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,0CAA0C,CAAC;AACzD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/index.ts"],"names":[],"mappings":"AA0BA,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0CAA0C,CAAC;AACzD,cAAc,0CAA0C,CAAC;AACzD,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACxG,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,0CAA0C,CAAC;AACzD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gCAAgC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export function makePrivateKeyFromPem(privateKeyInPem) {
2
+ return { hidden: privateKeyInPem };
3
+ }
4
+ //# sourceMappingURL=make_private_key_from_pem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make_private_key_from_pem.js","sourceRoot":"","sources":["../../source/make_private_key_from_pem.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,qBAAqB,CAAC,eAAuB;IACzD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;AACvC,CAAC"}
@@ -5,8 +5,10 @@ if (typeof window === "undefined") {
5
5
  _crypto = require("crypto");
6
6
  if (!(_crypto === null || _crypto === void 0 ? void 0 : _crypto.subtle)) {
7
7
  _crypto = new Crypto();
8
+ console.warn("using @peculiar/webcrypto");
8
9
  }
9
10
  else {
11
+ console.warn("using nodejs crypto (native)");
10
12
  }
11
13
  x509.cryptoProvider.set(_crypto);
12
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"_crypto.js","sourceRoot":"","sources":["../../../source/x509/_crypto.ts"],"names":[],"mappings":"AAAA,IAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,IAAI,OAA2B,CAAC;AAKhC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IAC/B,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5B,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA,EAAE;QAClB,OAAO,GAAG,IAAI,MAAM,EAAE,CAAC;KAE1B;SAAM;KAEN;IACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACpC;KAAM;IAEH,OAAO,GAAG,MAAM,CAAC;IACjB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACnC;AAGD,MAAM,UAAU,SAAS;IACrB,OAAO,OAAO,IAAI,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;AAClD,CAAC;AACD,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"_crypto.js","sourceRoot":"","sources":["../../../source/x509/_crypto.ts"],"names":[],"mappings":"AAAA,IAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,IAAI,OAA2B,CAAC;AAKhC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IAC/B,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5B,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA,EAAE;QAClB,OAAO,GAAG,IAAI,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;KAC7C;SAAM;QACH,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;KAChD;IACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACpC;KAAM;IAEH,OAAO,GAAG,MAAM,CAAC;IACjB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACnC;AAGD,MAAM,UAAU,SAAS;IACrB,OAAO,OAAO,IAAI,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;AAClD,CAAC;AACD,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC"}
@@ -34,16 +34,17 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
34
34
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
35
  }
36
36
  };
37
+ import { createPrivateKey as createPrivateKeyFromNodeJSCrypto } from "crypto";
37
38
  import { getCrypto } from "./_crypto";
38
39
  import { derToPrivateKey, pemToPrivateKey } from "./create_key_pair";
39
- import { createPrivateKey as createPrivateKeyFromNode } from "crypto";
40
40
  var crypto = getCrypto();
41
41
  var doDebug = false;
42
- export function coercePrivateKey(privateKey) {
43
- if (typeof privateKey === "string") {
44
- return createPrivateKeyFromNode(privateKey);
42
+ export function coercePEMorDerToPrivateKey(privateKeyInDerOrPem) {
43
+ if (typeof privateKeyInDerOrPem === "string") {
44
+ var hidden = createPrivateKeyFromNodeJSCrypto(privateKeyInDerOrPem);
45
+ return { hidden: hidden };
45
46
  }
46
- return privateKey;
47
+ throw new Error("not implemented");
47
48
  }
48
49
  export function _coercePrivateKey(privateKey) {
49
50
  return __awaiter(this, void 0, void 0, function () {
@@ -1 +1 @@
1
- {"version":3,"file":"coerce_private_key.js","sourceRoot":"","sources":["../../../source/x509/coerce_private_key.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,gBAAgB,IAAI,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AACtE,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAE3B,IAAM,OAAO,GAAG,KAAK,CAAC;AAEtB,MAAM,UAAU,gBAAgB,CAAC,UAAsC;IACnE,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;QAChC,OAAO,wBAAwB,CAAC,UAAU,CAAC,CAAC;KAC/C;IACD,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,MAAM,UAAgB,iBAAiB,CAAC,UAAe;;;;;;oBAC7C,SAAS,GAAI,MAAc,CAAC,SAAS,CAAC;yBACxC,CAAA,UAAU,YAAY,MAAM,CAAA,EAA5B,cAA4B;oBACR,WAAM,eAAe,CAAC,UAAU,CAAC,EAAA;;oBAA/C,WAAW,GAAG,SAAiC;oBACrD,WAAO,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAC;;yBAC5B,CAAA,OAAO,UAAU,KAAK,QAAQ,CAAA,EAA9B,cAA8B;;;;oBAGb,WAAM,eAAe,CAAC,UAAU,CAAC,EAAA;;oBAA/C,WAAW,GAAG,SAAiC;oBACrD,WAAO,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAC;;;oBAEnC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACnC,MAAM,KAAG,CAAC;;;oBAEX,IAAI,UAAU,YAAY,SAAS,EAAE;wBACxC,WAAO,UAAU,EAAC;qBACrB;;wBACD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;;;;CACzC"}
1
+ {"version":3,"file":"coerce_private_key.js","sourceRoot":"","sources":["../../../source/x509/coerce_private_key.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,OAAO,EAAa,gBAAgB,IAAI,gCAAgC,EAAE,MAAM,QAAQ,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGrE,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAE3B,IAAM,OAAO,GAAG,KAAK,CAAC;AAGtB,MAAM,UAAU,0BAA0B,CAAC,oBAAoC;IAC3E,IAAI,OAAO,oBAAoB,KAAK,QAAQ,EAAE;QAC1C,IAAM,MAAM,GAAG,gCAAgC,CAAC,oBAAoB,CAAC,CAAC;QACtE,OAAO,EAAE,MAAM,QAAA,EAAC,CAAC;KACpB;IAED,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAEvC,CAAC;AAED,MAAM,UAAgB,iBAAiB,CAAC,UAAe;;;;;;oBAC7C,SAAS,GAAI,MAAc,CAAC,SAAS,CAAC;yBACxC,CAAA,UAAU,YAAY,MAAM,CAAA,EAA5B,cAA4B;oBACR,WAAM,eAAe,CAAC,UAAU,CAAC,EAAA;;oBAA/C,WAAW,GAAG,SAAiC;oBACrD,WAAO,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAC;;yBAC5B,CAAA,OAAO,UAAU,KAAK,QAAQ,CAAA,EAA9B,cAA8B;;;;oBAGb,WAAM,eAAe,CAAC,UAAU,CAAC,EAAA;;oBAA/C,WAAW,GAAG,SAAiC;oBACrD,WAAO,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAC;;;oBAEnC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACnC,MAAM,KAAG,CAAC;;;oBAEX,IAAI,UAAU,YAAY,SAAS,EAAE;wBACxC,WAAO,UAAU,EAAC;qBACrB;;wBACD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;;;;CACzC"}
@@ -47,7 +47,7 @@ export function generatePrivateKeyFile(privateKeyFilename, modulusLength) {
47
47
  return [4, privateKeyToPEM(keys.privateKey)];
48
48
  case 2:
49
49
  privateKeyPem = _a.sent();
50
- return [4, fs.promises.writeFile(privateKeyFilename, privateKeyPem.privPem)];
50
+ return [4, fs.promises.writeFile(privateKeyFilename, privateKeyPem.privPem, "utf-8")];
51
51
  case 3:
52
52
  _a.sent();
53
53
  privateKeyPem.privPem = "";
@@ -1 +1 @@
1
- {"version":3,"file":"generate_private_key_filename.js","sourceRoot":"","sources":["../../source_nodejs/generate_private_key_filename.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEtE,MAAM,UAAgB,sBAAsB,CAAC,kBAA0B,EAAE,aAAwC;;;;;wBAChG,WAAM,eAAe,CAAC,aAAa,CAAC,EAAA;;oBAA3C,IAAI,GAAG,SAAoC;oBAC3B,WAAM,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAA;;oBAAtD,aAAa,GAAG,SAAsC;oBAC5D,WAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,EAAE,aAAa,CAAC,OAAO,CAAC,EAAA;;oBAAtE,SAAsE,CAAC;oBACvE,aAAa,CAAC,OAAO,GAAG,EAAE,CAAC;oBAC3B,aAAa,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;;;;;CAC7C"}
1
+ {"version":3,"file":"generate_private_key_filename.js","sourceRoot":"","sources":["../../source_nodejs/generate_private_key_filename.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEtE,MAAM,UAAgB,sBAAsB,CAAC,kBAA0B,EAAE,aAAwC;;;;;wBAChG,WAAM,eAAe,CAAC,aAAa,CAAC,EAAA;;oBAA3C,IAAI,GAAG,SAAoC;oBAC3B,WAAM,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAA;;oBAAtD,aAAa,GAAG,SAAsC;oBAC5D,WAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EAAA;;oBAA/E,SAA+E,CAAC;oBAChF,aAAa,CAAC,OAAO,GAAG,EAAE,CAAC;oBAC3B,aAAa,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;;;;;CAC7C"}
@@ -2,11 +2,11 @@ import assert from "assert";
2
2
  import fs from "fs";
3
3
  import path from "path";
4
4
  import { createPrivateKey, createPublicKey } from "crypto";
5
- import { convertPEMtoDER } from "../source/crypto_utils.js";
5
+ import { convertPEMtoDER, identifyPemType, removeTrailingLF, toPem } from "../source/crypto_utils.js";
6
6
  var sshpk = require("sshpk");
7
7
  function _readPemFile(filename) {
8
8
  assert(typeof filename === "string");
9
- return fs.readFileSync(filename, "ascii");
9
+ return removeTrailingLF(fs.readFileSync(filename, "utf-8"));
10
10
  }
11
11
  function _readPemOrDerFileAsDER(filename) {
12
12
  if (filename.match(/.*\.der/)) {
@@ -29,11 +29,25 @@ export function readPublicKey(filename) {
29
29
  }
30
30
  }
31
31
  function myCreatePrivateKey(rawKey) {
32
+ if (!createPrivateKey || process.env.NO_CREATE_PRIVATEKEY) {
33
+ if (rawKey instanceof Buffer) {
34
+ var pemKey = toPem(rawKey, "PRIVATE KEY");
35
+ assert(["RSA PRIVATE KEY", "PRIVATE KEY"].indexOf(identifyPemType(pemKey)) >= 0);
36
+ return { hidden: pemKey };
37
+ }
38
+ return { hidden: ensureTrailingLF(rawKey) };
39
+ }
32
40
  var backup = process.env.OPENSSL_CONF;
33
41
  process.env.OPENSSL_CONF = "/dev/null";
34
42
  var retValue = createPrivateKey(rawKey);
35
43
  process.env.OPENSSL_CONF = backup;
36
- return retValue;
44
+ return { hidden: retValue };
45
+ }
46
+ export function makePrivateKeyThumbPrint(privateKey) {
47
+ return Buffer.alloc(0);
48
+ }
49
+ function ensureTrailingLF(str) {
50
+ return str.match(/\n$/) ? str : str + "\n";
37
51
  }
38
52
  export function readPrivateKey(filename) {
39
53
  if (filename.match(/.*\.der/)) {
@@ -61,19 +75,23 @@ export function setCertificateStore(store) {
61
75
  return old_store;
62
76
  }
63
77
  export function readPrivateRsaKey(filename) {
78
+ if (!createPrivateKey) {
79
+ throw new Error("createPrivateKey is not supported in this environment");
80
+ }
64
81
  if (filename.substring(0, 1) !== "." && !fs.existsSync(filename)) {
65
82
  filename = __certificate_store + filename;
66
83
  }
67
- var content = fs.readFileSync(filename, "ascii");
84
+ var content = fs.readFileSync(filename, "utf8");
68
85
  var sshKey = sshpk.parsePrivateKey(content, "auto");
69
86
  var key = sshKey.toString("pkcs1");
70
- return createPrivateKey({ format: "pem", type: "pkcs1", key: key });
87
+ var hidden = createPrivateKey({ format: "pem", type: "pkcs1", key: key });
88
+ return { hidden: hidden };
71
89
  }
72
90
  export function readPublicRsaKey(filename) {
73
91
  if (filename.substring(0, 1) !== "." && !fs.existsSync(filename)) {
74
92
  filename = __certificate_store + filename;
75
93
  }
76
- var content = fs.readFileSync(filename, "ascii");
94
+ var content = fs.readFileSync(filename, "utf-8");
77
95
  var sshKey = sshpk.parseKey(content, "ssh");
78
96
  var key = sshKey.toString("pkcs1");
79
97
  return createPublicKey({ format: "pem", type: "pkcs1", key: key });
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../source_nodejs/read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../source_nodejs/read.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,11 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
3
  import { KeyObject } from "crypto";
4
- export type PrivateKey = KeyObject;
4
+ export type PrivateKey = {
5
+ hidden: string;
6
+ } | {
7
+ hidden: KeyObject;
8
+ };
5
9
  export type PublicKey = KeyObject;
6
10
  export type Nonce = Buffer;
7
11
  export type PEM = string;
@@ -1,8 +1,9 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
3
  import { KeyLike } from "crypto";
4
- import { Certificate, CertificatePEM, DER, PEM, PrivateKey, PublicKeyPEM, Signature } from "./common.js";
4
+ import { Certificate, CertificatePEM, DER, PEM, PublicKeyPEM, Signature, PrivateKey } from "./common.js";
5
5
  export declare function identifyPemType(rawKey: Buffer | string): undefined | string;
6
+ export declare function removeTrailingLF(str: string): string;
6
7
  export declare function toPem(raw_key: Buffer | string, pem: string): string;
7
8
  export declare function convertPEMtoDER(raw_key: PEM): DER;
8
9
  export declare function hexDump(buffer: Buffer, width?: number): string;
@@ -42,11 +43,11 @@ export declare enum PaddingAlgorithm {
42
43
  RSA_PKCS1_PADDING = 1
43
44
  }
44
45
  export declare function publicEncrypt_native(buffer: Buffer, publicKey: KeyLike, algorithm?: PaddingAlgorithm): Buffer;
45
- export declare function privateDecrypt_native(buffer: Buffer, privateKey: KeyLike, algorithm?: PaddingAlgorithm): Buffer;
46
+ export declare function privateDecrypt_native(buffer: Buffer, privateKey: PrivateKey, algorithm?: PaddingAlgorithm): Buffer;
46
47
  export declare const publicEncrypt: typeof publicEncrypt_native;
47
48
  export declare const privateDecrypt: typeof privateDecrypt_native;
48
49
  export declare function publicEncrypt_long(buffer: Buffer, publicKey: KeyLike, blockSize: number, padding: number, paddingAlgorithm?: PaddingAlgorithm): Buffer;
49
- export declare function privateDecrypt_long(buffer: Buffer, privateKey: KeyLike, blockSize: number, paddingAlgorithm?: number): Buffer;
50
+ export declare function privateDecrypt_long(buffer: Buffer, privateKey: PrivateKey, blockSize: number, paddingAlgorithm?: number): Buffer;
50
51
  export declare function coerceCertificatePem(certificate: Certificate | CertificatePEM): CertificatePEM;
51
52
  export declare function extractPublicKeyFromCertificateSync(certificate: Certificate | CertificatePEM): PublicKeyPEM;
52
53
  /**
@@ -1,15 +1,14 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
- import * as crypto from "crypto";
4
- import { PrivateKey, PublicKey, PublicKeyPEM, PrivateKeyPEM } from "./common.js";
5
- export declare function coercePrivateKeyPem(privateKey: PrivateKey | PrivateKeyPEM): PrivateKeyPEM;
3
+ import { KeyObject } from "crypto";
4
+ import { PublicKey, PublicKeyPEM, PrivateKeyPEM, PrivateKey } from "./common.js";
6
5
  /***
7
6
  * @method rsaLengthPrivateKey
8
7
  * A very expensive way to determine the rsa key length ( i.e 2048bits or 1024bits)
9
8
  * @param key a PEM public key or a PEM rsa private key
10
9
  * @return the key length in bytes.
11
10
  */
12
- export declare function rsaLengthPrivateKey(key: PrivateKeyPEM | PrivateKey): number;
11
+ export declare function rsaLengthPrivateKey(key: PrivateKey): number;
13
12
  /**
14
13
  * @method toPem2
15
14
  * @param raw_key
@@ -18,10 +17,11 @@ export declare function rsaLengthPrivateKey(key: PrivateKeyPEM | PrivateKey): nu
18
17
  *
19
18
  * @return a PEM string containing the Private Key
20
19
  *
21
- * Note: a Pem key can be converted back to a PrivateKey object using coercePrivateKey
20
+ * Note: a Pem key can be converted back to a private key object using coercePrivateKey
22
21
  *
23
22
  */
24
- export declare function toPem2(raw_key: Buffer | string | crypto.KeyObject, pem: string): string;
23
+ export declare function toPem2(raw_key: Buffer | string | KeyObject | PrivateKey, pem: string): string;
24
+ export declare function coercePrivateKeyPem(privateKey: PrivateKey): PrivateKeyPEM;
25
25
  export declare function coercePublicKeyPem(publicKey: PublicKey | PublicKeyPEM): PublicKeyPEM;
26
26
  export declare function coerceRsaPublicKeyPem(publicKey: PublicKey | PublicKeyPEM): PublicKeyPEM;
27
27
  export declare function rsaLengthPublicKey(key: PublicKeyPEM | PublicKey): number;
@@ -26,4 +26,4 @@ export interface PrivateKeyInternals {
26
26
  * otherPrimeInfos OtherPrimeInfos OPTIONAL
27
27
  }
28
28
  */
29
- export declare function explorePrivateKey(privateKey1: PrivateKey): PrivateKeyInternals;
29
+ export declare function explorePrivateKey(privateKey2: PrivateKey): PrivateKeyInternals;
@@ -18,3 +18,4 @@ export * from "./x509/create_self_signed_certificate.js";
18
18
  export * from "./x509/coerce_private_key.js";
19
19
  export * from "./subject.js";
20
20
  export * from "./asn1.js";
21
+ export * from "./make_private_key_from_pem.js";
@@ -0,0 +1,2 @@
1
+ import { PrivateKey } from "./common";
2
+ export declare function makePrivateKeyFromPem(privateKeyInPem: string): PrivateKey;
@@ -1,4 +1,6 @@
1
- import { PrivateKeyPEM } from "../common";
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import { PrivateKey } from "../common";
3
- export declare function coercePrivateKey(privateKey: PrivateKey | PrivateKeyPEM): PrivateKey;
4
- export declare function _coercePrivateKey(privateKey: any): Promise<PrivateKey>;
4
+ import { KeyObject } from "crypto";
5
+ export declare function coercePEMorDerToPrivateKey(privateKeyInDerOrPem: string | Buffer): PrivateKey;
6
+ export declare function _coercePrivateKey(privateKey: any): Promise<KeyObject>;
@@ -1,4 +1,5 @@
1
- import { Certificate, CertificatePEM, PrivateKey, PublicKey, PublicKeyPEM, PrivateKeyPEM } from "../source/common.js";
1
+ /// <reference types="node" />
2
+ import { Certificate, CertificatePEM, PublicKey, PublicKeyPEM, PrivateKeyPEM, PrivateKey } from "../source/common.js";
2
3
  /**
3
4
  * read a DER or PEM certificate from file
4
5
  */
@@ -7,12 +8,17 @@ export declare function readCertificate(filename: string): Certificate;
7
8
  * read a DER or PEM certificate from file
8
9
  */
9
10
  export declare function readPublicKey(filename: string): PublicKey;
11
+ export declare function makePrivateKeyThumbPrint(privateKey: PrivateKey): Buffer;
10
12
  /**
11
13
  * read a DER or PEM certificate from file
12
14
  */
13
15
  export declare function readPrivateKey(filename: string): PrivateKey;
14
16
  export declare function readCertificatePEM(filename: string): CertificatePEM;
15
17
  export declare function readPublicKeyPEM(filename: string): PublicKeyPEM;
18
+ /**
19
+ *
20
+ * @deprecated
21
+ */
16
22
  export declare function readPrivateKeyPEM(filename: string): PrivateKeyPEM;
17
23
  export declare function setCertificateStore(store: string): string;
18
24
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-opcua-crypto",
3
- "version": "3.1.0",
3
+ "version": "4.0.0",
4
4
  "description": "Crypto tools for Node-OPCUA",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",
@@ -28,7 +28,9 @@
28
28
  "lint": "eslint . --ext .ts",
29
29
  "test:esm": "mocha test -r ts-node/register -r source-map-support/register -R spec --recursive --timeout 200000 --bail",
30
30
  "test:cjs": "mocha dist-test -r source-map-support/register -R spec --recursive --timeout 200000 --bail",
31
- "test": "npm run build:test && npm run test:esm && npm run test:cjs",
31
+ "test:esm:no": "cross-env NO_CREATE_PRIVATEKEY=1 npm run test:esm",
32
+ "test:cjs:no": "cross-env NO_CREATE_PRIVATEKEY=1 npm run test:cjs",
33
+ "test": "npm run build:test && npm run test:esm && npm run test:cjs && npm run test:esm:no && npm run test:cjs:no",
32
34
  "makedoc": "npx typedoc -out doc",
33
35
  "cost-of-modules": "npx cost-of-modules --no-install",
34
36
  "release-it": "npx release-it",
@@ -53,6 +55,7 @@
53
55
  "@types/node": "^20.3.3",
54
56
  "@typescript-eslint/eslint-plugin": "^5.60.1",
55
57
  "@typescript-eslint/parser": "^5.60.1",
58
+ "cross-env": "^7.0.3",
56
59
  "crypto": "^1.0.1",
57
60
  "esbuild-plugin-polyfill-node": "^0.3.0",
58
61
  "eslint": "^8.44.0",
@@ -73,6 +76,7 @@
73
76
  "assert": "^2.0.0",
74
77
  "better-assert": "^1.0.2",
75
78
  "chalk": "^4.1.2",
79
+ "coveralls": "^3.1.1",
76
80
  "hexy": "0.3.4",
77
81
  "jsrsasign": "^10.8.6",
78
82
  "sshpk": "^1.17.0"