@activeledger/activecrypto 2.15.7 → 4.3.4
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/es/crypto/asn.js +29 -29
- package/es/crypto/asn.js.map +1 -1
- package/es/crypto/keypair.d.ts +4 -1
- package/es/crypto/keypair.d.ts.map +1 -1
- package/es/crypto/keypair.js +63 -43
- package/es/crypto/keypair.js.map +1 -1
- package/es/crypto/secured.js +8 -5
- package/es/crypto/secured.js.map +1 -1
- package/lib/crypto/asn.js +29 -29
- package/lib/crypto/asn.js.map +1 -1
- package/lib/crypto/keypair.d.ts +4 -1
- package/lib/crypto/keypair.d.ts.map +1 -1
- package/lib/crypto/keypair.js +63 -43
- package/lib/crypto/keypair.js.map +1 -1
- package/lib/crypto/secured.js +8 -5
- package/lib/crypto/secured.js.map +1 -1
- package/package.json +5 -5
package/es/crypto/asn.js
CHANGED
|
@@ -38,6 +38,35 @@ export class AsnParser {
|
|
|
38
38
|
partial: true
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
|
+
static ECPrivASN = asn1.define("ECPrivASN", function () {
|
|
42
|
+
this.seq().obj(this.key("version").int(), this.key("privateKey")
|
|
43
|
+
.octstr()
|
|
44
|
+
.optional(), this.seq()
|
|
45
|
+
.optional()
|
|
46
|
+
.obj(), this.key("ECNested")
|
|
47
|
+
.octstr()
|
|
48
|
+
.optional()
|
|
49
|
+
.contains(asn1.define("ECNested", function () {
|
|
50
|
+
this.seq().obj(this.key("version").int(), this.key("privateKey").octstr());
|
|
51
|
+
})));
|
|
52
|
+
});
|
|
53
|
+
static ECPrivLiteASN = asn1.define("ECPrivASN", function () {
|
|
54
|
+
this.seq().obj(this.key("version").int(), this.key("privateKey").octstr(), this.key("params")
|
|
55
|
+
.optional()
|
|
56
|
+
.explicit(0)
|
|
57
|
+
.use(asn1.define("params", function () {
|
|
58
|
+
this.choice({ curve: this.objid() });
|
|
59
|
+
})), this.key("public_key")
|
|
60
|
+
.optional()
|
|
61
|
+
.explicit(1)
|
|
62
|
+
.bitstr());
|
|
63
|
+
});
|
|
64
|
+
static ECPubASN = asn1.define("ECPubASN", function () {
|
|
65
|
+
this.seq().obj(this.key("algorithm")
|
|
66
|
+
.optional()
|
|
67
|
+
.seq()
|
|
68
|
+
.obj(this.key("id").objid(), this.key("curve").objid()), this.key("publicKey").bitstr());
|
|
69
|
+
});
|
|
41
70
|
static extractNestedKeys(asn, type = "privateKey") {
|
|
42
71
|
if (asn[type]) {
|
|
43
72
|
if (asn[type].data) {
|
|
@@ -57,33 +86,4 @@ export class AsnParser {
|
|
|
57
86
|
}
|
|
58
87
|
}
|
|
59
88
|
}
|
|
60
|
-
AsnParser.ECPrivASN = asn1.define("ECPrivASN", function () {
|
|
61
|
-
this.seq().obj(this.key("version").int(), this.key("privateKey")
|
|
62
|
-
.octstr()
|
|
63
|
-
.optional(), this.seq()
|
|
64
|
-
.optional()
|
|
65
|
-
.obj(), this.key("ECNested")
|
|
66
|
-
.octstr()
|
|
67
|
-
.optional()
|
|
68
|
-
.contains(asn1.define("ECNested", function () {
|
|
69
|
-
this.seq().obj(this.key("version").int(), this.key("privateKey").octstr());
|
|
70
|
-
})));
|
|
71
|
-
});
|
|
72
|
-
AsnParser.ECPrivLiteASN = asn1.define("ECPrivASN", function () {
|
|
73
|
-
this.seq().obj(this.key("version").int(), this.key("privateKey").octstr(), this.key("params")
|
|
74
|
-
.optional()
|
|
75
|
-
.explicit(0)
|
|
76
|
-
.use(asn1.define("params", function () {
|
|
77
|
-
this.choice({ curve: this.objid() });
|
|
78
|
-
})), this.key("public_key")
|
|
79
|
-
.optional()
|
|
80
|
-
.explicit(1)
|
|
81
|
-
.bitstr());
|
|
82
|
-
});
|
|
83
|
-
AsnParser.ECPubASN = asn1.define("ECPubASN", function () {
|
|
84
|
-
this.seq().obj(this.key("algorithm")
|
|
85
|
-
.optional()
|
|
86
|
-
.seq()
|
|
87
|
-
.obj(this.key("id").objid(), this.key("curve").objid()), this.key("publicKey").bitstr());
|
|
88
|
-
});
|
|
89
89
|
//# sourceMappingURL=asn.js.map
|
package/es/crypto/asn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asn.js","sourceRoot":"","sources":["../../src/crypto/asn.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAQhC,MAAM,OAAO,SAAS;IASb,MAAM,CAAC,kBAAkB,CAC9B,QAAgB,EAChB,KAAK,GAAG,gBAAgB;QAExB,OAAO,SAAS,CAAC,iBAAiB,CAChC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE;YAC1C,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,IAAI;SACd,CAAC,CAAC,MAAM,CACV,CAAC;IACJ,CAAC;IAUM,MAAM,CAAC,kBAAkB,CAC9B,GAAW,EACX,GAAW,EACX,KAAK,GAAG,gBAAgB;QAExB,OAAO,SAAS,CAAC,aAAa,CAAC,MAAM,CACnC;YACE,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,GAAG;YACf,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;YACpD,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE;SACpC,EACD,KAAK,EACL;YACE,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,IAAI;SACd,CACF,CAAC;IACJ,CAAC;IAUM,MAAM,CAAC,iBAAiB,CAC7B,QAAgB,EAChB,KAAK,GAAG,YAAY;QAEpB,OAAO,SAAS,CAAC,iBAAiB,CAChC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE;YACzC,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,IAAI;SACd,CAAC,CAAC,MAAM,EACT,WAAW,CACZ,CAAC;IACJ,CAAC;IAUM,MAAM,CAAC,iBAAiB,CAAC,GAAW,EAAE,KAAK,GAAG,YAAY;QAC/D,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,CAC9B;YACE,SAAS,EAAE;gBACT,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC5B,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;aAC1B;YACD,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC;gBACT,IAAI,EAAE,GAAG;aACV;SACF,EACD,KAAK,EACL;YACE,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,IAAI;SACd,CACF,CAAC;IACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"asn.js","sourceRoot":"","sources":["../../src/crypto/asn.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAQhC,MAAM,OAAO,SAAS;IASb,MAAM,CAAC,kBAAkB,CAC9B,QAAgB,EAChB,KAAK,GAAG,gBAAgB;QAExB,OAAO,SAAS,CAAC,iBAAiB,CAChC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE;YAC1C,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,IAAI;SACd,CAAC,CAAC,MAAM,CACV,CAAC;IACJ,CAAC;IAUM,MAAM,CAAC,kBAAkB,CAC9B,GAAW,EACX,GAAW,EACX,KAAK,GAAG,gBAAgB;QAExB,OAAO,SAAS,CAAC,aAAa,CAAC,MAAM,CACnC;YACE,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,GAAG;YACf,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;YACpD,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE;SACpC,EACD,KAAK,EACL;YACE,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,IAAI;SACd,CACF,CAAC;IACJ,CAAC;IAUM,MAAM,CAAC,iBAAiB,CAC7B,QAAgB,EAChB,KAAK,GAAG,YAAY;QAEpB,OAAO,SAAS,CAAC,iBAAiB,CAChC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE;YACzC,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,IAAI;SACd,CAAC,CAAC,MAAM,EACT,WAAW,CACZ,CAAC;IACJ,CAAC;IAUM,MAAM,CAAC,iBAAiB,CAAC,GAAW,EAAE,KAAK,GAAG,YAAY;QAC/D,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,CAC9B;YACE,SAAS,EAAE;gBACT,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC5B,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;aAC1B;YACD,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC;gBACT,IAAI,EAAE,GAAG;aACV;SACF,EACD,KAAK,EACL;YACE,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,IAAI;SACd,CACF,CAAC;IACJ,CAAC;IAQO,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;QAClD,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAEZ,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAEzB,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;aACnB,MAAM,EAAE;aACR,QAAQ,EAAE,EAEb,IAAI,CAAC,GAAG,EAAE;aACP,QAAQ,EAAE;aACV,GAAG,EAAE,EAER,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;aACjB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YACtB,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAEZ,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAEzB,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAChC,CAAC;QACJ,CAAC,CAAC,CACH,CACJ,CAAC;IACJ,CAAC,CAAC,CAAC;IAQK,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;QACtD,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAEZ,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAEzB,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAC/B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;aACf,QAAQ,EAAE;aACV,QAAQ,CAAC,CAAC,CAAC;aACX,GAAG,CACF,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACpB,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CACH,EACH,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;aACnB,QAAQ,EAAE;aACV,QAAQ,CAAC,CAAC,CAAC;aACX,MAAM,EAAE,CACZ,CAAC;IACJ,CAAC,CAAC,CAAC;IAQK,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;QAChD,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CACZ,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;aAClB,QAAQ,EAAE;aACV,GAAG,EAAE;aACL,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EACzD,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;IAWK,MAAM,CAAC,iBAAiB,CAC9B,GAAQ,EACR,OAAe,YAAY;QAE3B,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE;YACb,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;gBAClB,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACvC;iBAAM;gBACL,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAClC;SACF;aAAM;YACL,IAAI,GAAG,CAAC,QAAQ,EAAE;gBAChB,OAAO,SAAS,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;aACxD;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;aAC7C;SACF;IACH,CAAC"}
|
package/es/crypto/keypair.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
export interface KeyHandleDetails {
|
|
3
3
|
pkcs8pem: string;
|
|
4
|
-
hash?: string;
|
|
4
|
+
readonly hash?: string;
|
|
5
5
|
}
|
|
6
6
|
export interface KeyHandler {
|
|
7
7
|
pub: KeyHandleDetails;
|
|
@@ -13,6 +13,7 @@ export declare class KeyPair {
|
|
|
13
13
|
private handler;
|
|
14
14
|
private compatMode;
|
|
15
15
|
private readonly webpackBypassCheck;
|
|
16
|
+
private cachedVerifyKey?;
|
|
16
17
|
constructor(type?: string);
|
|
17
18
|
constructor(type?: string, pem?: string);
|
|
18
19
|
private createHandler;
|
|
@@ -20,6 +21,7 @@ export declare class KeyPair {
|
|
|
20
21
|
private isFullNodeEnv;
|
|
21
22
|
private getString;
|
|
22
23
|
private chunkString;
|
|
24
|
+
private padPrivateKey;
|
|
23
25
|
generate(bits?: number, pem?: boolean, compressed?: boolean): KeyHandler;
|
|
24
26
|
encrypt(rawData: string): string;
|
|
25
27
|
encrypt(rawData: Object): string;
|
|
@@ -30,6 +32,7 @@ export declare class KeyPair {
|
|
|
30
32
|
sign(rawData: string): string;
|
|
31
33
|
sign(rawData: Object): string;
|
|
32
34
|
sign(rawData: Buffer): string;
|
|
35
|
+
private getVerifyKeyObject;
|
|
33
36
|
verify(data: string, signature: string): boolean;
|
|
34
37
|
verify(data: Object, signature: string): boolean;
|
|
35
38
|
verify(data: Buffer, signature: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keypair.d.ts","sourceRoot":"","sources":["../../src/crypto/keypair.ts"],"names":[],"mappings":";AAkCA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"keypair.d.ts","sourceRoot":"","sources":["../../src/crypto/keypair.ts"],"names":[],"mappings":";AAkCA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IAMjB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAQD,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,gBAAgB,CAAC;IACtB,GAAG,EAAE,gBAAgB,CAAC;CACvB;AAQD,qBAAa,OAAO;IAsCN,OAAO,CAAC,IAAI;IAAyB,GAAG,CAAC;IA/BrD,OAAO,CAAC,OAAO,CAAa;IAO5B,OAAO,CAAC,UAAU,CAAS;IAO3B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAyB;IAQ5D,OAAO,CAAC,eAAe,CAAC,CAAyC;gBAOrD,IAAI,CAAC,EAAE,MAAM;gBACb,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IA0DvC,OAAO,CAAC,aAAa;IA2BrB,OAAO,CAAC,gBAAgB;IA4DxB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,aAAa;IAiBd,QAAQ,CACb,IAAI,GAAE,MAAa,EACnB,GAAG,CAAC,EAAE,OAAO,EACb,UAAU,CAAC,EAAE,OAAO,GACnB,UAAU;IA2EN,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAChC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAChC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAqChC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAChC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAChC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAwChC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAC7B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAC7B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IA2DpC,OAAO,CAAC,kBAAkB;IAenB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAChD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAChD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAkDxD"}
|
package/es/crypto/keypair.js
CHANGED
|
@@ -3,11 +3,15 @@ import { ActiveLogger } from "@activeledger/activelogger";
|
|
|
3
3
|
import { Hash } from "./hash";
|
|
4
4
|
import { AsnParser } from "./asn";
|
|
5
5
|
export class KeyPair {
|
|
6
|
+
type;
|
|
7
|
+
pem;
|
|
8
|
+
handler;
|
|
9
|
+
compatMode = false;
|
|
10
|
+
webpackBypassCheck = "generateKeyPairSync";
|
|
11
|
+
cachedVerifyKey;
|
|
6
12
|
constructor(type = "rsa", pem) {
|
|
7
13
|
this.type = type;
|
|
8
14
|
this.pem = pem;
|
|
9
|
-
this.compatMode = false;
|
|
10
|
-
this.webpackBypassCheck = "generateKeyPairSync";
|
|
11
15
|
if (pem) {
|
|
12
16
|
switch (type) {
|
|
13
17
|
case "rsa":
|
|
@@ -38,11 +42,21 @@ export class KeyPair {
|
|
|
38
42
|
}
|
|
39
43
|
createHandler(prv, pub = "") {
|
|
40
44
|
this.handler = {
|
|
41
|
-
pub
|
|
42
|
-
|
|
45
|
+
get pub() {
|
|
46
|
+
return {
|
|
47
|
+
pkcs8pem: pub,
|
|
48
|
+
get hash() {
|
|
49
|
+
return Hash.getHash(pub);
|
|
50
|
+
},
|
|
51
|
+
};
|
|
43
52
|
},
|
|
44
|
-
prv
|
|
45
|
-
|
|
53
|
+
get prv() {
|
|
54
|
+
return {
|
|
55
|
+
pkcs8pem: prv,
|
|
56
|
+
get hash() {
|
|
57
|
+
return Hash.getHash(prv);
|
|
58
|
+
},
|
|
59
|
+
};
|
|
46
60
|
},
|
|
47
61
|
};
|
|
48
62
|
}
|
|
@@ -76,24 +90,30 @@ export class KeyPair {
|
|
|
76
90
|
getString(data) {
|
|
77
91
|
if (Buffer.isBuffer(data))
|
|
78
92
|
return data.toString();
|
|
79
|
-
if (typeof data === "object")
|
|
93
|
+
if (typeof data === "object") {
|
|
80
94
|
return JSON.stringify(data);
|
|
95
|
+
}
|
|
81
96
|
return data;
|
|
82
97
|
}
|
|
83
98
|
chunkString(data, size = 100) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
chunks = [];
|
|
87
|
-
while (data !== "") {
|
|
88
|
-
chunks.push(data.slice(0, size));
|
|
89
|
-
data = data.slice(size);
|
|
90
|
-
}
|
|
99
|
+
if (data.length <= size) {
|
|
100
|
+
return [data];
|
|
91
101
|
}
|
|
92
|
-
|
|
93
|
-
|
|
102
|
+
const numChunks = Math.ceil(data.length / size);
|
|
103
|
+
const chunks = new Array(numChunks);
|
|
104
|
+
for (let i = 0, o = 0; i < numChunks; ++i, o += size) {
|
|
105
|
+
chunks[i] = data.substr(o, size);
|
|
94
106
|
}
|
|
95
107
|
return chunks;
|
|
96
108
|
}
|
|
109
|
+
padPrivateKey(key, length = 32) {
|
|
110
|
+
if (key.length === length) {
|
|
111
|
+
return key;
|
|
112
|
+
}
|
|
113
|
+
const padded = Buffer.alloc(length);
|
|
114
|
+
key.copy(padded, length - key.length);
|
|
115
|
+
return padded;
|
|
116
|
+
}
|
|
97
117
|
generate(bits = 2048, pem, compressed) {
|
|
98
118
|
switch (this.type) {
|
|
99
119
|
case "rsa":
|
|
@@ -116,24 +136,21 @@ export class KeyPair {
|
|
|
116
136
|
});
|
|
117
137
|
this.createHandler(rsa.privateKey, rsa.publicKey);
|
|
118
138
|
}
|
|
119
|
-
this.handler.pub.hash = Hash.getHash(this.handler.pub.pkcs8pem);
|
|
120
|
-
this.handler.prv.hash = Hash.getHash(this.handler.prv.pkcs8pem);
|
|
121
139
|
return this.handler;
|
|
122
140
|
case "bitcoin":
|
|
123
141
|
case "ethereum":
|
|
124
142
|
case "secp256k1":
|
|
125
143
|
let curve = crypto.createECDH("secp256k1");
|
|
126
144
|
curve.generateKeys();
|
|
145
|
+
const privateKey = this.padPrivateKey(curve.getPrivateKey());
|
|
127
146
|
if (pem) {
|
|
128
|
-
this.createHandler(AsnParser.encodeECPrivateKey(
|
|
147
|
+
this.createHandler(AsnParser.encodeECPrivateKey(privateKey, curve.getPublicKey()), AsnParser.encodeECPublicKey(curve.getPublicKey()));
|
|
129
148
|
}
|
|
130
149
|
else {
|
|
131
|
-
this.createHandler("0x" +
|
|
150
|
+
this.createHandler("0x" + privateKey.toString("hex"), compressed
|
|
132
151
|
? "0x" + curve.getPublicKey("hex", "compressed")
|
|
133
152
|
: "0x" + curve.getPublicKey("hex", "uncompressed"));
|
|
134
153
|
}
|
|
135
|
-
this.handler.pub.hash = Hash.getHash(this.handler.pub.pkcs8pem);
|
|
136
|
-
this.handler.prv.hash = Hash.getHash(this.handler.prv.pkcs8pem);
|
|
137
154
|
return this.handler;
|
|
138
155
|
default:
|
|
139
156
|
throw ActiveLogger.fatal(`Cannot generate ${this.type} key pair type`);
|
|
@@ -147,14 +164,11 @@ export class KeyPair {
|
|
|
147
164
|
}
|
|
148
165
|
else {
|
|
149
166
|
let chunked = this.chunkString(this.getString(data));
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
.toString(encoding) + "|";
|
|
156
|
-
});
|
|
157
|
-
return encrypted.slice(0, -1);
|
|
167
|
+
return chunked
|
|
168
|
+
.map((chunk) => crypto
|
|
169
|
+
.publicEncrypt(this.handler.pub.pkcs8pem, Buffer.from(chunk))
|
|
170
|
+
.toString(encoding))
|
|
171
|
+
.join("|");
|
|
158
172
|
}
|
|
159
173
|
}
|
|
160
174
|
throw ActiveLogger.fatal(data, `Cannot encrypt with ${this.type}`);
|
|
@@ -167,13 +181,11 @@ export class KeyPair {
|
|
|
167
181
|
}
|
|
168
182
|
else {
|
|
169
183
|
let chunked = data.split("|");
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
});
|
|
176
|
-
return Buffer.from(decrypted).toString(encoding);
|
|
184
|
+
const decrypted = chunked
|
|
185
|
+
.map((chunk) => crypto
|
|
186
|
+
.privateDecrypt(this.handler.prv.pkcs8pem, Buffer.from(chunk, encoding)))
|
|
187
|
+
.join("");
|
|
188
|
+
return decrypted;
|
|
177
189
|
}
|
|
178
190
|
}
|
|
179
191
|
throw ActiveLogger.fatal(data, `Cannot decrypt with ${this.type}`);
|
|
@@ -188,16 +200,16 @@ export class KeyPair {
|
|
|
188
200
|
case "rsa":
|
|
189
201
|
sign = crypto.createSign("RSA-SHA256");
|
|
190
202
|
sign.update(data);
|
|
191
|
-
return
|
|
203
|
+
return Buffer.from(sign.sign(this.handler.prv.pkcs8pem, "hex"), "hex").toString(encoding);
|
|
192
204
|
case "bitcoin":
|
|
193
205
|
case "ethereum":
|
|
194
206
|
case "secp256k1":
|
|
195
207
|
try {
|
|
196
208
|
sign = crypto.createSign("sha256");
|
|
197
209
|
sign.update(data);
|
|
198
|
-
return
|
|
210
|
+
return Buffer.from(sign.sign(this.handler.prv.pkcs8pem, "hex"), "hex").toString(encoding);
|
|
199
211
|
}
|
|
200
|
-
catch
|
|
212
|
+
catch {
|
|
201
213
|
if (this.enableCompatMode()) {
|
|
202
214
|
return this.sign(data);
|
|
203
215
|
}
|
|
@@ -209,6 +221,13 @@ export class KeyPair {
|
|
|
209
221
|
throw ActiveLogger.fatal(data, `Cannot sign with ${this.type}`);
|
|
210
222
|
}
|
|
211
223
|
}
|
|
224
|
+
getVerifyKeyObject() {
|
|
225
|
+
const pem = this.handler.pub.pkcs8pem;
|
|
226
|
+
if (!this.cachedVerifyKey || this.cachedVerifyKey.pem !== pem) {
|
|
227
|
+
this.cachedVerifyKey = { pem, key: crypto.createPublicKey(pem) };
|
|
228
|
+
}
|
|
229
|
+
return this.cachedVerifyKey.key;
|
|
230
|
+
}
|
|
212
231
|
verify(data, signature, encoding = "base64") {
|
|
213
232
|
if (!this.handler.pub.pkcs8pem) {
|
|
214
233
|
throw ActiveLogger.fatal(data, `Cannot verify with ${this.type} Private Key`);
|
|
@@ -216,20 +235,21 @@ export class KeyPair {
|
|
|
216
235
|
else {
|
|
217
236
|
let verify;
|
|
218
237
|
data = this.getString(data);
|
|
238
|
+
const pubKey = this.getVerifyKeyObject();
|
|
219
239
|
switch (this.type) {
|
|
220
240
|
case "rsa":
|
|
221
241
|
verify = crypto.createVerify("RSA-SHA256");
|
|
222
242
|
verify.update(data);
|
|
223
|
-
return verify.verify(
|
|
243
|
+
return verify.verify(pubKey, Buffer.from(signature, encoding));
|
|
224
244
|
case "bitcoin":
|
|
225
245
|
case "ethereum":
|
|
226
246
|
case "secp256k1":
|
|
227
247
|
try {
|
|
228
248
|
verify = crypto.createVerify("sha256");
|
|
229
249
|
verify.update(data);
|
|
230
|
-
return verify.verify(
|
|
250
|
+
return verify.verify(pubKey, Buffer.from(signature, encoding));
|
|
231
251
|
}
|
|
232
|
-
catch
|
|
252
|
+
catch {
|
|
233
253
|
if (this.enableCompatMode()) {
|
|
234
254
|
return this.verify(data, signature);
|
|
235
255
|
}
|
package/es/crypto/keypair.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../src/crypto/keypair.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../src/crypto/keypair.ts"],"names":[],"mappings":"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"}
|
package/es/crypto/secured.js
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import * as crypto from "crypto";
|
|
2
2
|
import { KeyPair } from "./keypair";
|
|
3
3
|
export class Secured {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
this.self = self;
|
|
8
|
-
}
|
|
4
|
+
db;
|
|
5
|
+
neighbour;
|
|
6
|
+
self;
|
|
9
7
|
static createPassword(seed, length = 32) {
|
|
10
8
|
let salt = crypto.randomBytes(32);
|
|
11
9
|
return crypto
|
|
12
10
|
.pbkdf2Sync(seed, salt, 1000, length, "sha256")
|
|
13
11
|
.toString("hex");
|
|
14
12
|
}
|
|
13
|
+
constructor(db, neighbour, self) {
|
|
14
|
+
this.db = db;
|
|
15
|
+
this.neighbour = neighbour;
|
|
16
|
+
this.self = self;
|
|
17
|
+
}
|
|
15
18
|
cipherEncrypt(password, data) {
|
|
16
19
|
return new Promise((resolve, reject) => {
|
|
17
20
|
let iv = crypto.randomBytes(16);
|
package/es/crypto/secured.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secured.js","sourceRoot":"","sources":["../../src/crypto/secured.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,MAAM,OAAO,OAAO;
|
|
1
|
+
{"version":3,"file":"secured.js","sourceRoot":"","sources":["../../src/crypto/secured.ts"],"names":[],"mappings":"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"}
|
package/lib/crypto/asn.js
CHANGED
|
@@ -41,6 +41,35 @@ class AsnParser {
|
|
|
41
41
|
partial: true
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
|
+
static ECPrivASN = asn1.define("ECPrivASN", function () {
|
|
45
|
+
this.seq().obj(this.key("version").int(), this.key("privateKey")
|
|
46
|
+
.octstr()
|
|
47
|
+
.optional(), this.seq()
|
|
48
|
+
.optional()
|
|
49
|
+
.obj(), this.key("ECNested")
|
|
50
|
+
.octstr()
|
|
51
|
+
.optional()
|
|
52
|
+
.contains(asn1.define("ECNested", function () {
|
|
53
|
+
this.seq().obj(this.key("version").int(), this.key("privateKey").octstr());
|
|
54
|
+
})));
|
|
55
|
+
});
|
|
56
|
+
static ECPrivLiteASN = asn1.define("ECPrivASN", function () {
|
|
57
|
+
this.seq().obj(this.key("version").int(), this.key("privateKey").octstr(), this.key("params")
|
|
58
|
+
.optional()
|
|
59
|
+
.explicit(0)
|
|
60
|
+
.use(asn1.define("params", function () {
|
|
61
|
+
this.choice({ curve: this.objid() });
|
|
62
|
+
})), this.key("public_key")
|
|
63
|
+
.optional()
|
|
64
|
+
.explicit(1)
|
|
65
|
+
.bitstr());
|
|
66
|
+
});
|
|
67
|
+
static ECPubASN = asn1.define("ECPubASN", function () {
|
|
68
|
+
this.seq().obj(this.key("algorithm")
|
|
69
|
+
.optional()
|
|
70
|
+
.seq()
|
|
71
|
+
.obj(this.key("id").objid(), this.key("curve").objid()), this.key("publicKey").bitstr());
|
|
72
|
+
});
|
|
44
73
|
static extractNestedKeys(asn, type = "privateKey") {
|
|
45
74
|
if (asn[type]) {
|
|
46
75
|
if (asn[type].data) {
|
|
@@ -61,33 +90,4 @@ class AsnParser {
|
|
|
61
90
|
}
|
|
62
91
|
}
|
|
63
92
|
exports.AsnParser = AsnParser;
|
|
64
|
-
AsnParser.ECPrivASN = asn1.define("ECPrivASN", function () {
|
|
65
|
-
this.seq().obj(this.key("version").int(), this.key("privateKey")
|
|
66
|
-
.octstr()
|
|
67
|
-
.optional(), this.seq()
|
|
68
|
-
.optional()
|
|
69
|
-
.obj(), this.key("ECNested")
|
|
70
|
-
.octstr()
|
|
71
|
-
.optional()
|
|
72
|
-
.contains(asn1.define("ECNested", function () {
|
|
73
|
-
this.seq().obj(this.key("version").int(), this.key("privateKey").octstr());
|
|
74
|
-
})));
|
|
75
|
-
});
|
|
76
|
-
AsnParser.ECPrivLiteASN = asn1.define("ECPrivASN", function () {
|
|
77
|
-
this.seq().obj(this.key("version").int(), this.key("privateKey").octstr(), this.key("params")
|
|
78
|
-
.optional()
|
|
79
|
-
.explicit(0)
|
|
80
|
-
.use(asn1.define("params", function () {
|
|
81
|
-
this.choice({ curve: this.objid() });
|
|
82
|
-
})), this.key("public_key")
|
|
83
|
-
.optional()
|
|
84
|
-
.explicit(1)
|
|
85
|
-
.bitstr());
|
|
86
|
-
});
|
|
87
|
-
AsnParser.ECPubASN = asn1.define("ECPubASN", function () {
|
|
88
|
-
this.seq().obj(this.key("algorithm")
|
|
89
|
-
.optional()
|
|
90
|
-
.seq()
|
|
91
|
-
.obj(this.key("id").objid(), this.key("curve").objid()), this.key("publicKey").bitstr());
|
|
92
|
-
});
|
|
93
93
|
//# sourceMappingURL=asn.js.map
|
package/lib/crypto/asn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asn.js","sourceRoot":"","sources":["../../src/crypto/asn.ts"],"names":[],"mappings":";;;AAwBA,gCAAgC;AAQhC,MAAa,SAAS;IASb,MAAM,CAAC,kBAAkB,CAC9B,QAAgB,EAChB,KAAK,GAAG,gBAAgB;QAExB,OAAO,SAAS,CAAC,iBAAiB,CAChC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE;YAC1C,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,IAAI;SACd,CAAC,CAAC,MAAM,CACV,CAAC;IACJ,CAAC;IAUM,MAAM,CAAC,kBAAkB,CAC9B,GAAW,EACX,GAAW,EACX,KAAK,GAAG,gBAAgB;QAExB,OAAO,SAAS,CAAC,aAAa,CAAC,MAAM,CACnC;YACE,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,GAAG;YACf,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;YACpD,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE;SACpC,EACD,KAAK,EACL;YACE,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,IAAI;SACd,CACF,CAAC;IACJ,CAAC;IAUM,MAAM,CAAC,iBAAiB,CAC7B,QAAgB,EAChB,KAAK,GAAG,YAAY;QAEpB,OAAO,SAAS,CAAC,iBAAiB,CAChC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE;YACzC,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,IAAI;SACd,CAAC,CAAC,MAAM,EACT,WAAW,CACZ,CAAC;IACJ,CAAC;IAUM,MAAM,CAAC,iBAAiB,CAAC,GAAW,EAAE,KAAK,GAAG,YAAY;QAC/D,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,CAC9B;YACE,SAAS,EAAE;gBACT,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC5B,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;aAC1B;YACD,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC;gBACT,IAAI,EAAE,GAAG;aACV;SACF,EACD,KAAK,EACL;YACE,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,IAAI;SACd,CACF,CAAC;IACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"asn.js","sourceRoot":"","sources":["../../src/crypto/asn.ts"],"names":[],"mappings":"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"}
|
package/lib/crypto/keypair.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
export interface KeyHandleDetails {
|
|
3
3
|
pkcs8pem: string;
|
|
4
|
-
hash?: string;
|
|
4
|
+
readonly hash?: string;
|
|
5
5
|
}
|
|
6
6
|
export interface KeyHandler {
|
|
7
7
|
pub: KeyHandleDetails;
|
|
@@ -13,6 +13,7 @@ export declare class KeyPair {
|
|
|
13
13
|
private handler;
|
|
14
14
|
private compatMode;
|
|
15
15
|
private readonly webpackBypassCheck;
|
|
16
|
+
private cachedVerifyKey?;
|
|
16
17
|
constructor(type?: string);
|
|
17
18
|
constructor(type?: string, pem?: string);
|
|
18
19
|
private createHandler;
|
|
@@ -20,6 +21,7 @@ export declare class KeyPair {
|
|
|
20
21
|
private isFullNodeEnv;
|
|
21
22
|
private getString;
|
|
22
23
|
private chunkString;
|
|
24
|
+
private padPrivateKey;
|
|
23
25
|
generate(bits?: number, pem?: boolean, compressed?: boolean): KeyHandler;
|
|
24
26
|
encrypt(rawData: string): string;
|
|
25
27
|
encrypt(rawData: Object): string;
|
|
@@ -30,6 +32,7 @@ export declare class KeyPair {
|
|
|
30
32
|
sign(rawData: string): string;
|
|
31
33
|
sign(rawData: Object): string;
|
|
32
34
|
sign(rawData: Buffer): string;
|
|
35
|
+
private getVerifyKeyObject;
|
|
33
36
|
verify(data: string, signature: string): boolean;
|
|
34
37
|
verify(data: Object, signature: string): boolean;
|
|
35
38
|
verify(data: Buffer, signature: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keypair.d.ts","sourceRoot":"","sources":["../../src/crypto/keypair.ts"],"names":[],"mappings":";AAkCA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"keypair.d.ts","sourceRoot":"","sources":["../../src/crypto/keypair.ts"],"names":[],"mappings":";AAkCA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IAMjB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAQD,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,gBAAgB,CAAC;IACtB,GAAG,EAAE,gBAAgB,CAAC;CACvB;AAQD,qBAAa,OAAO;IAsCN,OAAO,CAAC,IAAI;IAAyB,GAAG,CAAC;IA/BrD,OAAO,CAAC,OAAO,CAAa;IAO5B,OAAO,CAAC,UAAU,CAAS;IAO3B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAyB;IAQ5D,OAAO,CAAC,eAAe,CAAC,CAAyC;gBAOrD,IAAI,CAAC,EAAE,MAAM;gBACb,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IA0DvC,OAAO,CAAC,aAAa;IA2BrB,OAAO,CAAC,gBAAgB;IA4DxB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,aAAa;IAiBd,QAAQ,CACb,IAAI,GAAE,MAAa,EACnB,GAAG,CAAC,EAAE,OAAO,EACb,UAAU,CAAC,EAAE,OAAO,GACnB,UAAU;IA2EN,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAChC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAChC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAqChC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAChC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAChC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAwChC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAC7B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAC7B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IA2DpC,OAAO,CAAC,kBAAkB;IAenB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAChD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAChD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAkDxD"}
|
package/lib/crypto/keypair.js
CHANGED
|
@@ -6,11 +6,15 @@ const activelogger_1 = require("@activeledger/activelogger");
|
|
|
6
6
|
const hash_1 = require("./hash");
|
|
7
7
|
const asn_1 = require("./asn");
|
|
8
8
|
class KeyPair {
|
|
9
|
+
type;
|
|
10
|
+
pem;
|
|
11
|
+
handler;
|
|
12
|
+
compatMode = false;
|
|
13
|
+
webpackBypassCheck = "generateKeyPairSync";
|
|
14
|
+
cachedVerifyKey;
|
|
9
15
|
constructor(type = "rsa", pem) {
|
|
10
16
|
this.type = type;
|
|
11
17
|
this.pem = pem;
|
|
12
|
-
this.compatMode = false;
|
|
13
|
-
this.webpackBypassCheck = "generateKeyPairSync";
|
|
14
18
|
if (pem) {
|
|
15
19
|
switch (type) {
|
|
16
20
|
case "rsa":
|
|
@@ -41,11 +45,21 @@ class KeyPair {
|
|
|
41
45
|
}
|
|
42
46
|
createHandler(prv, pub = "") {
|
|
43
47
|
this.handler = {
|
|
44
|
-
pub
|
|
45
|
-
|
|
48
|
+
get pub() {
|
|
49
|
+
return {
|
|
50
|
+
pkcs8pem: pub,
|
|
51
|
+
get hash() {
|
|
52
|
+
return hash_1.Hash.getHash(pub);
|
|
53
|
+
},
|
|
54
|
+
};
|
|
46
55
|
},
|
|
47
|
-
prv
|
|
48
|
-
|
|
56
|
+
get prv() {
|
|
57
|
+
return {
|
|
58
|
+
pkcs8pem: prv,
|
|
59
|
+
get hash() {
|
|
60
|
+
return hash_1.Hash.getHash(prv);
|
|
61
|
+
},
|
|
62
|
+
};
|
|
49
63
|
},
|
|
50
64
|
};
|
|
51
65
|
}
|
|
@@ -79,24 +93,30 @@ class KeyPair {
|
|
|
79
93
|
getString(data) {
|
|
80
94
|
if (Buffer.isBuffer(data))
|
|
81
95
|
return data.toString();
|
|
82
|
-
if (typeof data === "object")
|
|
96
|
+
if (typeof data === "object") {
|
|
83
97
|
return JSON.stringify(data);
|
|
98
|
+
}
|
|
84
99
|
return data;
|
|
85
100
|
}
|
|
86
101
|
chunkString(data, size = 100) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
chunks = [];
|
|
90
|
-
while (data !== "") {
|
|
91
|
-
chunks.push(data.slice(0, size));
|
|
92
|
-
data = data.slice(size);
|
|
93
|
-
}
|
|
102
|
+
if (data.length <= size) {
|
|
103
|
+
return [data];
|
|
94
104
|
}
|
|
95
|
-
|
|
96
|
-
|
|
105
|
+
const numChunks = Math.ceil(data.length / size);
|
|
106
|
+
const chunks = new Array(numChunks);
|
|
107
|
+
for (let i = 0, o = 0; i < numChunks; ++i, o += size) {
|
|
108
|
+
chunks[i] = data.substr(o, size);
|
|
97
109
|
}
|
|
98
110
|
return chunks;
|
|
99
111
|
}
|
|
112
|
+
padPrivateKey(key, length = 32) {
|
|
113
|
+
if (key.length === length) {
|
|
114
|
+
return key;
|
|
115
|
+
}
|
|
116
|
+
const padded = Buffer.alloc(length);
|
|
117
|
+
key.copy(padded, length - key.length);
|
|
118
|
+
return padded;
|
|
119
|
+
}
|
|
100
120
|
generate(bits = 2048, pem, compressed) {
|
|
101
121
|
switch (this.type) {
|
|
102
122
|
case "rsa":
|
|
@@ -119,24 +139,21 @@ class KeyPair {
|
|
|
119
139
|
});
|
|
120
140
|
this.createHandler(rsa.privateKey, rsa.publicKey);
|
|
121
141
|
}
|
|
122
|
-
this.handler.pub.hash = hash_1.Hash.getHash(this.handler.pub.pkcs8pem);
|
|
123
|
-
this.handler.prv.hash = hash_1.Hash.getHash(this.handler.prv.pkcs8pem);
|
|
124
142
|
return this.handler;
|
|
125
143
|
case "bitcoin":
|
|
126
144
|
case "ethereum":
|
|
127
145
|
case "secp256k1":
|
|
128
146
|
let curve = crypto.createECDH("secp256k1");
|
|
129
147
|
curve.generateKeys();
|
|
148
|
+
const privateKey = this.padPrivateKey(curve.getPrivateKey());
|
|
130
149
|
if (pem) {
|
|
131
|
-
this.createHandler(asn_1.AsnParser.encodeECPrivateKey(
|
|
150
|
+
this.createHandler(asn_1.AsnParser.encodeECPrivateKey(privateKey, curve.getPublicKey()), asn_1.AsnParser.encodeECPublicKey(curve.getPublicKey()));
|
|
132
151
|
}
|
|
133
152
|
else {
|
|
134
|
-
this.createHandler("0x" +
|
|
153
|
+
this.createHandler("0x" + privateKey.toString("hex"), compressed
|
|
135
154
|
? "0x" + curve.getPublicKey("hex", "compressed")
|
|
136
155
|
: "0x" + curve.getPublicKey("hex", "uncompressed"));
|
|
137
156
|
}
|
|
138
|
-
this.handler.pub.hash = hash_1.Hash.getHash(this.handler.pub.pkcs8pem);
|
|
139
|
-
this.handler.prv.hash = hash_1.Hash.getHash(this.handler.prv.pkcs8pem);
|
|
140
157
|
return this.handler;
|
|
141
158
|
default:
|
|
142
159
|
throw activelogger_1.ActiveLogger.fatal(`Cannot generate ${this.type} key pair type`);
|
|
@@ -150,14 +167,11 @@ class KeyPair {
|
|
|
150
167
|
}
|
|
151
168
|
else {
|
|
152
169
|
let chunked = this.chunkString(this.getString(data));
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
.toString(encoding) + "|";
|
|
159
|
-
});
|
|
160
|
-
return encrypted.slice(0, -1);
|
|
170
|
+
return chunked
|
|
171
|
+
.map((chunk) => crypto
|
|
172
|
+
.publicEncrypt(this.handler.pub.pkcs8pem, Buffer.from(chunk))
|
|
173
|
+
.toString(encoding))
|
|
174
|
+
.join("|");
|
|
161
175
|
}
|
|
162
176
|
}
|
|
163
177
|
throw activelogger_1.ActiveLogger.fatal(data, `Cannot encrypt with ${this.type}`);
|
|
@@ -170,13 +184,11 @@ class KeyPair {
|
|
|
170
184
|
}
|
|
171
185
|
else {
|
|
172
186
|
let chunked = data.split("|");
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
});
|
|
179
|
-
return Buffer.from(decrypted).toString(encoding);
|
|
187
|
+
const decrypted = chunked
|
|
188
|
+
.map((chunk) => crypto
|
|
189
|
+
.privateDecrypt(this.handler.prv.pkcs8pem, Buffer.from(chunk, encoding)))
|
|
190
|
+
.join("");
|
|
191
|
+
return decrypted;
|
|
180
192
|
}
|
|
181
193
|
}
|
|
182
194
|
throw activelogger_1.ActiveLogger.fatal(data, `Cannot decrypt with ${this.type}`);
|
|
@@ -191,16 +203,16 @@ class KeyPair {
|
|
|
191
203
|
case "rsa":
|
|
192
204
|
sign = crypto.createSign("RSA-SHA256");
|
|
193
205
|
sign.update(data);
|
|
194
|
-
return
|
|
206
|
+
return Buffer.from(sign.sign(this.handler.prv.pkcs8pem, "hex"), "hex").toString(encoding);
|
|
195
207
|
case "bitcoin":
|
|
196
208
|
case "ethereum":
|
|
197
209
|
case "secp256k1":
|
|
198
210
|
try {
|
|
199
211
|
sign = crypto.createSign("sha256");
|
|
200
212
|
sign.update(data);
|
|
201
|
-
return
|
|
213
|
+
return Buffer.from(sign.sign(this.handler.prv.pkcs8pem, "hex"), "hex").toString(encoding);
|
|
202
214
|
}
|
|
203
|
-
catch
|
|
215
|
+
catch {
|
|
204
216
|
if (this.enableCompatMode()) {
|
|
205
217
|
return this.sign(data);
|
|
206
218
|
}
|
|
@@ -212,6 +224,13 @@ class KeyPair {
|
|
|
212
224
|
throw activelogger_1.ActiveLogger.fatal(data, `Cannot sign with ${this.type}`);
|
|
213
225
|
}
|
|
214
226
|
}
|
|
227
|
+
getVerifyKeyObject() {
|
|
228
|
+
const pem = this.handler.pub.pkcs8pem;
|
|
229
|
+
if (!this.cachedVerifyKey || this.cachedVerifyKey.pem !== pem) {
|
|
230
|
+
this.cachedVerifyKey = { pem, key: crypto.createPublicKey(pem) };
|
|
231
|
+
}
|
|
232
|
+
return this.cachedVerifyKey.key;
|
|
233
|
+
}
|
|
215
234
|
verify(data, signature, encoding = "base64") {
|
|
216
235
|
if (!this.handler.pub.pkcs8pem) {
|
|
217
236
|
throw activelogger_1.ActiveLogger.fatal(data, `Cannot verify with ${this.type} Private Key`);
|
|
@@ -219,20 +238,21 @@ class KeyPair {
|
|
|
219
238
|
else {
|
|
220
239
|
let verify;
|
|
221
240
|
data = this.getString(data);
|
|
241
|
+
const pubKey = this.getVerifyKeyObject();
|
|
222
242
|
switch (this.type) {
|
|
223
243
|
case "rsa":
|
|
224
244
|
verify = crypto.createVerify("RSA-SHA256");
|
|
225
245
|
verify.update(data);
|
|
226
|
-
return verify.verify(
|
|
246
|
+
return verify.verify(pubKey, Buffer.from(signature, encoding));
|
|
227
247
|
case "bitcoin":
|
|
228
248
|
case "ethereum":
|
|
229
249
|
case "secp256k1":
|
|
230
250
|
try {
|
|
231
251
|
verify = crypto.createVerify("sha256");
|
|
232
252
|
verify.update(data);
|
|
233
|
-
return verify.verify(
|
|
253
|
+
return verify.verify(pubKey, Buffer.from(signature, encoding));
|
|
234
254
|
}
|
|
235
|
-
catch
|
|
255
|
+
catch {
|
|
236
256
|
if (this.enableCompatMode()) {
|
|
237
257
|
return this.verify(data, signature);
|
|
238
258
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../src/crypto/keypair.ts"],"names":[],"mappings":";;;AAuBA,iCAAiC;AACjC,6DAA0D;AAC1D,iCAA8B;AAC9B,+BAAkC;
|
|
1
|
+
{"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../src/crypto/keypair.ts"],"names":[],"mappings":"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"}
|
package/lib/crypto/secured.js
CHANGED
|
@@ -4,17 +4,20 @@ exports.ADACType = exports.Secured = void 0;
|
|
|
4
4
|
const crypto = require("crypto");
|
|
5
5
|
const keypair_1 = require("./keypair");
|
|
6
6
|
class Secured {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
this.self = self;
|
|
11
|
-
}
|
|
7
|
+
db;
|
|
8
|
+
neighbour;
|
|
9
|
+
self;
|
|
12
10
|
static createPassword(seed, length = 32) {
|
|
13
11
|
let salt = crypto.randomBytes(32);
|
|
14
12
|
return crypto
|
|
15
13
|
.pbkdf2Sync(seed, salt, 1000, length, "sha256")
|
|
16
14
|
.toString("hex");
|
|
17
15
|
}
|
|
16
|
+
constructor(db, neighbour, self) {
|
|
17
|
+
this.db = db;
|
|
18
|
+
this.neighbour = neighbour;
|
|
19
|
+
this.self = self;
|
|
20
|
+
}
|
|
18
21
|
cipherEncrypt(password, data) {
|
|
19
22
|
return new Promise((resolve, reject) => {
|
|
20
23
|
let iv = crypto.randomBytes(16);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secured.js","sourceRoot":"","sources":["../../src/crypto/secured.ts"],"names":[],"mappings":";;;AAuBA,iCAAiC;AAEjC,uCAAoC;AAQpC,MAAa,OAAO;
|
|
1
|
+
{"version":3,"file":"secured.js","sourceRoot":"","sources":["../../src/crypto/secured.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@activeledger/activecrypto",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.3.4",
|
|
4
4
|
"description": "This package contains a wrapper for managing multiple cryptographic algorithms for Activeledger",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blockchain",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"network",
|
|
13
13
|
"node"
|
|
14
14
|
],
|
|
15
|
-
"homepage": "https://activeledger
|
|
15
|
+
"homepage": "https://github.com/activeledger/activeledger",
|
|
16
16
|
"main": "./lib/index.js",
|
|
17
17
|
"scripts": {
|
|
18
18
|
"start": "node lib/index.js",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"author": "Activeledger",
|
|
33
33
|
"license": "MIT",
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@activeledger/activedefinitions": "^
|
|
35
|
+
"@activeledger/activedefinitions": "^4.3.4",
|
|
36
36
|
"@types/node": "18.0.0",
|
|
37
37
|
"typescript": "4.7.3"
|
|
38
38
|
},
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
"jsnext:main": "./es/index.js",
|
|
45
45
|
"module": "./es/index.js",
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@activeledger/activelogger": "^
|
|
47
|
+
"@activeledger/activelogger": "^4.3.4",
|
|
48
48
|
"asn1.js": "5.4.1"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "5912a3608e14942a333e4f95de4c64af2dba9bd3"
|
|
51
51
|
}
|