node-opcua-crypto 3.1.0 → 4.0.0-beta.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.
- package/dist-cjs/source/common.js.map +1 -1
- package/dist-cjs/source/crypto_utils.js +3 -12
- package/dist-cjs/source/crypto_utils.js.map +1 -1
- package/dist-cjs/source/crypto_utils2.js +14 -43
- package/dist-cjs/source/crypto_utils2.js.map +1 -1
- package/dist-cjs/source/explore_private_key.js +4 -2
- package/dist-cjs/source/explore_private_key.js.map +1 -1
- package/dist-cjs/source/index.js +1 -0
- package/dist-cjs/source/index.js.map +1 -1
- package/dist-cjs/source/make_private_key_from_pem.js +8 -0
- package/dist-cjs/source/make_private_key_from_pem.js.map +1 -0
- package/dist-cjs/source/x509/coerce_private_key.js +8 -7
- package/dist-cjs/source/x509/coerce_private_key.js.map +1 -1
- package/dist-cjs/source_nodejs/read.js +19 -3
- package/dist-cjs/source_nodejs/read.js.map +1 -1
- package/dist-esm/source/common.js.map +1 -1
- package/dist-esm/source/crypto_utils.js +3 -12
- package/dist-esm/source/crypto_utils.js.map +1 -1
- package/dist-esm/source/crypto_utils2.js +12 -18
- package/dist-esm/source/crypto_utils2.js.map +1 -1
- package/dist-esm/source/explore_private_key.js +4 -2
- package/dist-esm/source/explore_private_key.js.map +1 -1
- package/dist-esm/source/index.js +1 -0
- package/dist-esm/source/index.js.map +1 -1
- package/dist-esm/source/make_private_key_from_pem.js +4 -0
- package/dist-esm/source/make_private_key_from_pem.js.map +1 -0
- package/dist-esm/source/x509/coerce_private_key.js +6 -5
- package/dist-esm/source/x509/coerce_private_key.js.map +1 -1
- package/dist-esm/source_nodejs/read.js +18 -3
- package/dist-esm/source_nodejs/read.js.map +1 -1
- package/dist-types/source/common.d.ts +5 -1
- package/dist-types/source/crypto_utils.d.ts +3 -3
- package/dist-types/source/crypto_utils2.d.ts +6 -6
- package/dist-types/source/explore_private_key.d.ts +1 -1
- package/dist-types/source/index.d.ts +1 -0
- package/dist-types/source/make_private_key_from_pem.d.ts +2 -0
- package/dist-types/source/x509/coerce_private_key.d.ts +5 -3
- package/dist-types/source_nodejs/read.d.ts +7 -1
- package/package.json +6 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../source/common.ts"],"names":[],"mappings":";;;
|
|
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"}
|
|
@@ -26,7 +26,7 @@ function toPem(raw_key, pem) {
|
|
|
26
26
|
(0, assert_1.default)(typeof pem === "string");
|
|
27
27
|
var pemType = identifyPemType(raw_key);
|
|
28
28
|
if (pemType) {
|
|
29
|
-
return raw_key instanceof Buffer ? raw_key.toString("utf8") : raw_key;
|
|
29
|
+
return raw_key instanceof Buffer ? raw_key.toString("utf8").replace(/(\r|\n)+$/gm, "") : raw_key.replace(/(\r|\n)+$/gm, "");
|
|
30
30
|
}
|
|
31
31
|
else {
|
|
32
32
|
pemType = pem;
|
|
@@ -38,7 +38,6 @@ function toPem(raw_key, pem) {
|
|
|
38
38
|
b = b.substring(64);
|
|
39
39
|
}
|
|
40
40
|
str += "-----END " + pemType + "-----";
|
|
41
|
-
str += "\n";
|
|
42
41
|
return str;
|
|
43
42
|
}
|
|
44
43
|
}
|
|
@@ -74,16 +73,12 @@ exports.hexDump = hexDump;
|
|
|
74
73
|
function makeMessageChunkSignature(chunk, options) {
|
|
75
74
|
var signer = (0, crypto_1.createSign)(options.algorithm);
|
|
76
75
|
signer.update(chunk);
|
|
77
|
-
var signature = signer.sign(options.privateKey);
|
|
76
|
+
var signature = signer.sign(options.privateKey.hidden);
|
|
78
77
|
(0, assert_1.default)(!options.signatureLength || signature.length === options.signatureLength);
|
|
79
78
|
return signature;
|
|
80
79
|
}
|
|
81
80
|
exports.makeMessageChunkSignature = makeMessageChunkSignature;
|
|
82
81
|
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
82
|
var verify = (0, crypto_1.createVerify)(options.algorithm);
|
|
88
83
|
verify.update(blockToVerify);
|
|
89
84
|
return verify.verify(options.publicKey, signature);
|
|
@@ -106,8 +101,6 @@ function publicEncrypt_native(buffer, publicKey, algorithm) {
|
|
|
106
101
|
if (algorithm === undefined) {
|
|
107
102
|
algorithm = PaddingAlgorithm.RSA_PKCS1_PADDING;
|
|
108
103
|
}
|
|
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
104
|
return (0, crypto_1.publicEncrypt)({
|
|
112
105
|
key: publicKey,
|
|
113
106
|
padding: algorithm,
|
|
@@ -118,11 +111,9 @@ function privateDecrypt_native(buffer, privateKey, algorithm) {
|
|
|
118
111
|
if (algorithm === undefined) {
|
|
119
112
|
algorithm = PaddingAlgorithm.RSA_PKCS1_PADDING;
|
|
120
113
|
}
|
|
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
114
|
try {
|
|
124
115
|
return (0, crypto_1.privateDecrypt)({
|
|
125
|
-
key: privateKey,
|
|
116
|
+
key: privateKey.hidden,
|
|
126
117
|
padding: algorithm,
|
|
127
118
|
}, buffer);
|
|
128
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto_utils.js","sourceRoot":"","sources":["../../source/crypto_utils.ts"],"names":[],"mappings":";;;;;;AA2BA,wDAAkC;AAClC,kDAA4B;AAC5B,iCAOgB;AAER,IAAA,IAAI,GAAK,OAAO,CAAC,MAAM,CAAC,KAApB,CAAqB;AAEjC,qDAAkE;AAElE,iFAA8D;AAE9D,IAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAEvC,IAAM,SAAS,GAAG,gFAAgF,CAAC;AAEnG,IAAM,cAAc,GAAG,0BAA0B,CAAC;AASlD,SAAgB,eAAe,CAAC,MAAuB;IACnD,IAAI,MAAM,YAAY,MAAM,EAAE;QAC1B,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KACpC;IACD,IAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAND,0CAMC;AAGD,SAAgB,KAAK,CAAC,OAAwB,EAAE,GAAW;IACvD,IAAA,gBAAM,EAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACnC,IAAA,gBAAM,EAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC;IAChC,IAAI,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,OAAO,EAAE;QACT,OAAO,OAAO,YAAY,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"crypto_utils.js","sourceRoot":"","sources":["../../source/crypto_utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,59 +1,26 @@
|
|
|
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.
|
|
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
|
|
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
|
-
|
|
48
|
-
var
|
|
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
|
|
23
|
+
if (raw_key instanceof crypto_1.KeyObject) {
|
|
57
24
|
if (pem === "RSA PRIVATE KEY") {
|
|
58
25
|
return raw_key.export({ format: "pem", type: "pkcs1" }).toString();
|
|
59
26
|
}
|
|
@@ -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
|
|
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
|
|
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":"
|
|
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(
|
|
10
|
-
var
|
|
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":";;;AAuBA,qCAA+F;
|
|
1
|
+
{"version":3,"file":"explore_private_key.js","sourceRoot":"","sources":["../../source/explore_private_key.ts"],"names":[],"mappings":"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"}
|
package/dist-cjs/source/index.js
CHANGED
|
@@ -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"}
|
|
@@ -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.
|
|
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
|
|
46
|
-
if (typeof
|
|
47
|
-
|
|
45
|
+
function coercePEMorDerToPrivateKey(privateKeyInDerOrPem) {
|
|
46
|
+
if (typeof privateKeyInDerOrPem === "string") {
|
|
47
|
+
var hidden = (0, crypto_1.createPrivateKey)(privateKeyInDerOrPem);
|
|
48
|
+
return { hidden: hidden };
|
|
48
49
|
}
|
|
49
|
-
|
|
50
|
+
throw new Error("not implemented");
|
|
50
51
|
}
|
|
51
|
-
exports.
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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"}
|
|
@@ -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"));
|
|
@@ -37,12 +37,24 @@ 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: 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);
|
|
45
56
|
}
|
|
57
|
+
exports.makePrivateKeyThumbPrint = makePrivateKeyThumbPrint;
|
|
46
58
|
function readPrivateKey(filename) {
|
|
47
59
|
if (filename.match(/.*\.der/)) {
|
|
48
60
|
var der = fs_1.default.readFileSync(filename);
|
|
@@ -74,13 +86,17 @@ function setCertificateStore(store) {
|
|
|
74
86
|
}
|
|
75
87
|
exports.setCertificateStore = setCertificateStore;
|
|
76
88
|
function readPrivateRsaKey(filename) {
|
|
89
|
+
if (!crypto_1.createPrivateKey) {
|
|
90
|
+
throw new Error("createPrivateKey is not supported in this environment");
|
|
91
|
+
}
|
|
77
92
|
if (filename.substring(0, 1) !== "." && !fs_1.default.existsSync(filename)) {
|
|
78
93
|
filename = __certificate_store + filename;
|
|
79
94
|
}
|
|
80
95
|
var content = fs_1.default.readFileSync(filename, "ascii");
|
|
81
96
|
var sshKey = sshpk.parsePrivateKey(content, "auto");
|
|
82
97
|
var key = sshKey.toString("pkcs1");
|
|
83
|
-
|
|
98
|
+
var hidden = (0, crypto_1.createPrivateKey)({ format: "pem", type: "pkcs1", key: key });
|
|
99
|
+
return { hidden: hidden };
|
|
84
100
|
}
|
|
85
101
|
exports.readPrivateRsaKey = readPrivateRsaKey;
|
|
86
102
|
function readPublicRsaKey(filename) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../source_nodejs/read.ts"],"names":[],"mappings":";;;;;;AAuBA,kDAA4B;AAC5B,0CAAoB;AACpB,8CAAwB;AACxB,iCAA2D;
|
|
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":"
|
|
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"}
|
|
@@ -19,7 +19,7 @@ export function toPem(raw_key, pem) {
|
|
|
19
19
|
assert(typeof pem === "string");
|
|
20
20
|
var pemType = identifyPemType(raw_key);
|
|
21
21
|
if (pemType) {
|
|
22
|
-
return raw_key instanceof Buffer ? raw_key.toString("utf8") : raw_key;
|
|
22
|
+
return raw_key instanceof Buffer ? raw_key.toString("utf8").replace(/(\r|\n)+$/gm, "") : raw_key.replace(/(\r|\n)+$/gm, "");
|
|
23
23
|
}
|
|
24
24
|
else {
|
|
25
25
|
pemType = pem;
|
|
@@ -31,7 +31,6 @@ export function toPem(raw_key, pem) {
|
|
|
31
31
|
b = b.substring(64);
|
|
32
32
|
}
|
|
33
33
|
str += "-----END " + pemType + "-----";
|
|
34
|
-
str += "\n";
|
|
35
34
|
return str;
|
|
36
35
|
}
|
|
37
36
|
}
|
|
@@ -64,15 +63,11 @@ export function hexDump(buffer, width) {
|
|
|
64
63
|
export function makeMessageChunkSignature(chunk, options) {
|
|
65
64
|
var signer = createSign(options.algorithm);
|
|
66
65
|
signer.update(chunk);
|
|
67
|
-
var signature = signer.sign(options.privateKey);
|
|
66
|
+
var signature = signer.sign(options.privateKey.hidden);
|
|
68
67
|
assert(!options.signatureLength || signature.length === options.signatureLength);
|
|
69
68
|
return signature;
|
|
70
69
|
}
|
|
71
70
|
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
71
|
var verify = createVerify(options.algorithm);
|
|
77
72
|
verify.update(blockToVerify);
|
|
78
73
|
return verify.verify(options.publicKey, signature);
|
|
@@ -93,8 +88,6 @@ export function publicEncrypt_native(buffer, publicKey, algorithm) {
|
|
|
93
88
|
if (algorithm === undefined) {
|
|
94
89
|
algorithm = PaddingAlgorithm.RSA_PKCS1_PADDING;
|
|
95
90
|
}
|
|
96
|
-
assert(algorithm === RSA_PKCS1_PADDING || algorithm === RSA_PKCS1_OAEP_PADDING);
|
|
97
|
-
assert(buffer instanceof Buffer, "Expecting a buffer");
|
|
98
91
|
return publicEncrypt1({
|
|
99
92
|
key: publicKey,
|
|
100
93
|
padding: algorithm,
|
|
@@ -104,11 +97,9 @@ export function privateDecrypt_native(buffer, privateKey, algorithm) {
|
|
|
104
97
|
if (algorithm === undefined) {
|
|
105
98
|
algorithm = PaddingAlgorithm.RSA_PKCS1_PADDING;
|
|
106
99
|
}
|
|
107
|
-
assert(algorithm === RSA_PKCS1_PADDING || algorithm === RSA_PKCS1_OAEP_PADDING);
|
|
108
|
-
assert(buffer instanceof Buffer, "Expecting a buffer");
|
|
109
100
|
try {
|
|
110
101
|
return privateDecrypt1({
|
|
111
|
-
key: privateKey,
|
|
102
|
+
key: privateKey.hidden,
|
|
112
103
|
padding: algorithm,
|
|
113
104
|
}, buffer);
|
|
114
105
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto_utils.js","sourceRoot":"","sources":["../../source/crypto_utils.ts"],"names":[],"mappings":"AA2BA,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EACH,UAAU,EACV,UAAU,EACV,YAAY,EACZ,aAAa,IAAI,cAAc,EAC/B,cAAc,IAAI,eAAe,GAEpC,MAAM,QAAQ,CAAC;AAER,IAAA,IAAI,GAAK,OAAO,CAAC,MAAM,CAAC,KAApB,CAAqB;AAEjC,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,IAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAEvC,IAAM,SAAS,GAAG,gFAAgF,CAAC;AAEnG,IAAM,cAAc,GAAG,0BAA0B,CAAC;AASlD,MAAM,UAAU,eAAe,CAAC,MAAuB;IACnD,IAAI,MAAM,YAAY,MAAM,EAAE;QAC1B,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KACpC;IACD,IAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAGD,MAAM,UAAU,KAAK,CAAC,OAAwB,EAAE,GAAW;IACvD,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACnC,MAAM,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC;IAChC,IAAI,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,OAAO,EAAE;QACT,OAAO,OAAO,YAAY,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"crypto_utils.js","sourceRoot":"","sources":["../../source/crypto_utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +1,19 @@
|
|
|
1
1
|
import assert from "assert";
|
|
2
|
-
import
|
|
3
|
-
var createPrivateKey = crypto.createPrivateKey;
|
|
2
|
+
import { KeyObject } from "crypto";
|
|
4
3
|
import { toPem } from "./crypto_utils.js";
|
|
5
|
-
import { coercePrivateKey } from "./x509/coerce_private_key.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
|
-
|
|
18
|
-
var
|
|
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
|
|
16
|
+
if (raw_key instanceof KeyObject) {
|
|
26
17
|
if (pem === "RSA PRIVATE KEY") {
|
|
27
18
|
return raw_key.export({ format: "pem", type: "pkcs1" }).toString();
|
|
28
19
|
}
|
|
@@ -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
|
|
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
|
|
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":"AA2BA,OAAO,MAAM,MAAM,QAAQ,CAAC;
|
|
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(
|
|
7
|
-
var
|
|
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":"AAuBA,OAAO,EAAa,OAAO,EAAE,OAAO,EAA4B,WAAW,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"explore_private_key.js","sourceRoot":"","sources":["../../source/explore_private_key.ts"],"names":[],"mappings":"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"}
|
package/dist-esm/source/index.js
CHANGED
|
@@ -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 @@
|
|
|
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"}
|
|
@@ -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
|
|
43
|
-
if (typeof
|
|
44
|
-
|
|
42
|
+
export function coercePEMorDerToPrivateKey(privateKeyInDerOrPem) {
|
|
43
|
+
if (typeof privateKeyInDerOrPem === "string") {
|
|
44
|
+
var hidden = createPrivateKeyFromNodeJSCrypto(privateKeyInDerOrPem);
|
|
45
|
+
return { hidden: hidden };
|
|
45
46
|
}
|
|
46
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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"}
|
|
@@ -2,7 +2,7 @@ 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, toPem } from "../source/crypto_utils.js";
|
|
6
6
|
var sshpk = require("sshpk");
|
|
7
7
|
function _readPemFile(filename) {
|
|
8
8
|
assert(typeof filename === "string");
|
|
@@ -29,11 +29,22 @@ 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: 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);
|
|
37
48
|
}
|
|
38
49
|
export function readPrivateKey(filename) {
|
|
39
50
|
if (filename.match(/.*\.der/)) {
|
|
@@ -61,13 +72,17 @@ export function setCertificateStore(store) {
|
|
|
61
72
|
return old_store;
|
|
62
73
|
}
|
|
63
74
|
export function readPrivateRsaKey(filename) {
|
|
75
|
+
if (!createPrivateKey) {
|
|
76
|
+
throw new Error("createPrivateKey is not supported in this environment");
|
|
77
|
+
}
|
|
64
78
|
if (filename.substring(0, 1) !== "." && !fs.existsSync(filename)) {
|
|
65
79
|
filename = __certificate_store + filename;
|
|
66
80
|
}
|
|
67
81
|
var content = fs.readFileSync(filename, "ascii");
|
|
68
82
|
var sshKey = sshpk.parsePrivateKey(content, "auto");
|
|
69
83
|
var key = sshKey.toString("pkcs1");
|
|
70
|
-
|
|
84
|
+
var hidden = createPrivateKey({ format: "pem", type: "pkcs1", key: key });
|
|
85
|
+
return { hidden: hidden };
|
|
71
86
|
}
|
|
72
87
|
export function readPublicRsaKey(filename) {
|
|
73
88
|
if (filename.substring(0, 1) !== "." && !fs.existsSync(filename)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../source_nodejs/read.ts"],"names":[],"mappings":"AAuBA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;
|
|
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 =
|
|
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,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
import { KeyLike } from "crypto";
|
|
4
|
-
import { Certificate, CertificatePEM, DER, PEM,
|
|
4
|
+
import { Certificate, CertificatePEM, DER, PEM, PublicKeyPEM, Signature, PrivateKey } from "./common.js";
|
|
5
5
|
export declare function identifyPemType(rawKey: Buffer | string): undefined | string;
|
|
6
6
|
export declare function toPem(raw_key: Buffer | string, pem: string): string;
|
|
7
7
|
export declare function convertPEMtoDER(raw_key: PEM): DER;
|
|
@@ -42,11 +42,11 @@ export declare enum PaddingAlgorithm {
|
|
|
42
42
|
RSA_PKCS1_PADDING = 1
|
|
43
43
|
}
|
|
44
44
|
export declare function publicEncrypt_native(buffer: Buffer, publicKey: KeyLike, algorithm?: PaddingAlgorithm): Buffer;
|
|
45
|
-
export declare function privateDecrypt_native(buffer: Buffer, privateKey:
|
|
45
|
+
export declare function privateDecrypt_native(buffer: Buffer, privateKey: PrivateKey, algorithm?: PaddingAlgorithm): Buffer;
|
|
46
46
|
export declare const publicEncrypt: typeof publicEncrypt_native;
|
|
47
47
|
export declare const privateDecrypt: typeof privateDecrypt_native;
|
|
48
48
|
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:
|
|
49
|
+
export declare function privateDecrypt_long(buffer: Buffer, privateKey: PrivateKey, blockSize: number, paddingAlgorithm?: number): Buffer;
|
|
50
50
|
export declare function coerceCertificatePem(certificate: Certificate | CertificatePEM): CertificatePEM;
|
|
51
51
|
export declare function extractPublicKeyFromCertificateSync(certificate: Certificate | CertificatePEM): PublicKeyPEM;
|
|
52
52
|
/**
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
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:
|
|
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
|
|
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 |
|
|
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(
|
|
29
|
+
export declare function explorePrivateKey(privateKey2: PrivateKey): PrivateKeyInternals;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
2
3
|
import { PrivateKey } from "../common";
|
|
3
|
-
|
|
4
|
-
export declare function
|
|
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
|
-
|
|
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
|
+
"version": "4.0.0-beta.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": "
|
|
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"
|