@haskou/value-objects 2.1.0 → 2.3.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/value-objects/crypto/EncryptedKeyPair.d.ts +3 -0
- package/dist/value-objects/crypto/EncryptedKeyPair.d.ts.map +1 -1
- package/dist/value-objects/crypto/EncryptedKeyPair.js +7 -0
- package/dist/value-objects/crypto/EncryptedKeyPair.js.map +1 -1
- package/dist/value-objects/crypto/KeyPair.d.ts +3 -0
- package/dist/value-objects/crypto/KeyPair.d.ts.map +1 -1
- package/dist/value-objects/crypto/KeyPair.js +6 -0
- package/dist/value-objects/crypto/KeyPair.js.map +1 -1
- package/dist/value-objects/crypto/PrivateKey.d.ts +3 -0
- package/dist/value-objects/crypto/PrivateKey.d.ts.map +1 -1
- package/dist/value-objects/crypto/PrivateKey.js +32 -0
- package/dist/value-objects/crypto/PrivateKey.js.map +1 -1
- package/dist/value-objects/crypto/PublicKey.d.ts +2 -0
- package/dist/value-objects/crypto/PublicKey.d.ts.map +1 -1
- package/dist/value-objects/crypto/PublicKey.js +31 -0
- package/dist/value-objects/crypto/PublicKey.js.map +1 -1
- package/dist/value-objects/crypto/Signature.d.ts.map +1 -1
- package/dist/value-objects/crypto/Signature.js +0 -1
- package/dist/value-objects/crypto/Signature.js.map +1 -1
- package/package.json +2 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { PrimitiveOf } from '../../interfaces';
|
|
2
2
|
import { StringValueObject } from '../StringValueObject';
|
|
3
3
|
import { CryptoPayload } from './CryptoPayload';
|
|
4
|
+
import { EncryptedPayload } from './EncryptedPayload';
|
|
4
5
|
import { EncryptedPrivateKey } from './EncryptedPrivateKey';
|
|
5
6
|
import { PrivateKey } from './PrivateKey';
|
|
6
7
|
import { PublicKey } from './PublicKey';
|
|
@@ -17,5 +18,7 @@ export declare class EncryptedKeyPair {
|
|
|
17
18
|
encryptedPrivateKey: string;
|
|
18
19
|
publicKey: string;
|
|
19
20
|
};
|
|
21
|
+
encrypt(payload: CryptoPayload): EncryptedPayload;
|
|
22
|
+
decrypt(encryptedPayload: EncryptedPayload, password: string | StringValueObject): Promise<Buffer>;
|
|
20
23
|
}
|
|
21
24
|
//# sourceMappingURL=EncryptedKeyPair.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EncryptedKeyPair.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedKeyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,gBAAgB;IAwBzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;WAxBlB,cAAc,CAChC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,gBAAgB,CAAC;WASd,cAAc,CAC1B,UAAU,EAAE,WAAW,CAAC,gBAAgB,CAAC,GACxC,gBAAgB;gBAQA,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,mBAAmB;IAGpD,gBAAgB,CACrB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,SAAS,GACnB,OAAO;IAIG,IAAI,CACf,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,SAAS,CAAC;IAMd,YAAY;;;;
|
|
1
|
+
{"version":3,"file":"EncryptedKeyPair.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedKeyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,gBAAgB;IAwBzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;WAxBlB,cAAc,CAChC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,gBAAgB,CAAC;WASd,cAAc,CAC1B,UAAU,EAAE,WAAW,CAAC,gBAAgB,CAAC,GACxC,gBAAgB;gBAQA,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,mBAAmB;IAGpD,gBAAgB,CACrB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,SAAS,GACnB,OAAO;IAIG,IAAI,CACf,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,SAAS,CAAC;IAMd,YAAY;;;;IAOZ,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,gBAAgB;IAI3C,OAAO,CAClB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,MAAM,CAAC;CAKnB"}
|
|
@@ -30,6 +30,13 @@ class EncryptedKeyPair {
|
|
|
30
30
|
publicKey: this.publicKey.valueOf(),
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
+
encrypt(payload) {
|
|
34
|
+
return this.publicKey.encrypt(payload);
|
|
35
|
+
}
|
|
36
|
+
async decrypt(encryptedPayload, password) {
|
|
37
|
+
const privateKey = await this.encryptedPrivateKey.decrypt(password);
|
|
38
|
+
return privateKey.decrypt(encryptedPayload);
|
|
39
|
+
}
|
|
33
40
|
}
|
|
34
41
|
exports.EncryptedKeyPair = EncryptedKeyPair;
|
|
35
42
|
//# sourceMappingURL=EncryptedKeyPair.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EncryptedKeyPair.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedKeyPair.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"EncryptedKeyPair.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedKeyPair.ts"],"names":[],"mappings":";;;AAIA,+DAA4D;AAE5D,2CAAwC;AAGxC,MAAa,gBAAgB;IAwBR;IACA;IAxBZ,MAAM,CAAC,KAAK,CAAC,cAAc,CAChC,SAAoB,EACpB,UAAsB,EACtB,QAAoC;QAEpC,MAAM,mBAAmB,GAAG,MAAM,yCAAmB,CAAC,MAAM,CAC1D,UAAU,EACV,QAAQ,CACT,CAAC;QAEF,OAAO,IAAI,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAC9D,CAAC;IAEM,MAAM,CAAC,cAAc,CAC1B,UAAyC;QAEzC,OAAO,IAAI,gBAAgB,CACzB,IAAI,qBAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EACnC,IAAI,yCAAmB,CAAC,UAAU,CAAC,mBAAmB,CAAC,CACxD,CAAC;IACJ,CAAC;IAED,YACmB,SAAoB,EACpB,mBAAwC;QADxC,cAAS,GAAT,SAAS,CAAW;QACpB,wBAAmB,GAAnB,mBAAmB,CAAqB;IACxD,CAAC;IAEG,gBAAgB,CACrB,OAAsB,EACtB,SAAoB;QAEpB,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,IAAI,CACf,OAAsB,EACtB,QAAoC;QAEpC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEpE,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAEM,YAAY;QACjB,OAAO;YACL,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE;YACvD,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;SACpC,CAAC;IACJ,CAAC;IAEM,OAAO,CAAC,OAAsB;QACnC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,gBAAkC,EAClC,QAAoC;QAEpC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEpE,OAAO,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9C,CAAC;CACF;AA/DD,4CA+DC"}
|
|
@@ -2,6 +2,7 @@ import { PrimitiveOf } from '../../interfaces';
|
|
|
2
2
|
import { StringValueObject } from '../StringValueObject';
|
|
3
3
|
import { CryptoPayload } from './CryptoPayload';
|
|
4
4
|
import { EncryptedKeyPair } from './EncryptedKeyPair';
|
|
5
|
+
import { EncryptedPayload } from './EncryptedPayload';
|
|
5
6
|
import { PrivateKey } from './PrivateKey';
|
|
6
7
|
import { PublicKey } from './PublicKey';
|
|
7
8
|
import { Signature } from './Signature';
|
|
@@ -18,5 +19,7 @@ export declare class KeyPair {
|
|
|
18
19
|
privateKey: string;
|
|
19
20
|
publicKey: string;
|
|
20
21
|
};
|
|
22
|
+
encrypt(payload: CryptoPayload): EncryptedPayload;
|
|
23
|
+
decrypt(encryptedPayload: EncryptedPayload): Buffer;
|
|
21
24
|
}
|
|
22
25
|
//# sourceMappingURL=KeyPair.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyPair.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/KeyPair.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,qBAAa,OAAO;IAkBhB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU;WAlBT,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;WASlC,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,OAAO;gBAQpD,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU;IAG5B,cAAc,CACzB,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,gBAAgB,CAAC;IAQrB,gBAAgB,CACrB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,SAAS,GACnB,OAAO;IAIH,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS;IAIvC,YAAY;;;;
|
|
1
|
+
{"version":3,"file":"KeyPair.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/KeyPair.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,qBAAa,OAAO;IAkBhB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU;WAlBT,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;WASlC,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,OAAO;gBAQpD,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU;IAG5B,cAAc,CACzB,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,gBAAgB,CAAC;IAQrB,gBAAgB,CACrB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,SAAS,GACnB,OAAO;IAIH,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS;IAIvC,YAAY;;;;IAOZ,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,gBAAgB;IAIjD,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,MAAM;CAG3D"}
|
|
@@ -40,6 +40,12 @@ class KeyPair {
|
|
|
40
40
|
publicKey: this.publicKey.valueOf(),
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
|
+
encrypt(payload) {
|
|
44
|
+
return this.publicKey.encrypt(payload);
|
|
45
|
+
}
|
|
46
|
+
decrypt(encryptedPayload) {
|
|
47
|
+
return this.privateKey.decrypt(encryptedPayload);
|
|
48
|
+
}
|
|
43
49
|
}
|
|
44
50
|
exports.KeyPair = KeyPair;
|
|
45
51
|
//# sourceMappingURL=KeyPair.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyPair.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/KeyPair.ts"],"names":[],"mappings":";;;;AAAA,4DAAsC;AACtC,yCAAsC;AAKtC,yDAAsD;
|
|
1
|
+
{"version":3,"file":"KeyPair.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/KeyPair.ts"],"names":[],"mappings":";;;;AAAA,4DAAsC;AACtC,yCAAsC;AAKtC,yDAAsD;AAEtD,6CAA0C;AAC1C,2CAAwC;AAGxC,MAAM,eAAe,GAAG,IAAA,qBAAS,EAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAE1D,MAAa,OAAO;IAkBC;IACA;IAlBZ,MAAM,CAAC,KAAK,CAAC,QAAQ;QAC1B,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE;YACjE,kBAAkB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;YACpD,iBAAiB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;SACnD,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAC,IAAI,qBAAS,CAAC,SAAS,CAAC,EAAE,IAAI,uBAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,UAAgC;QAC3D,OAAO,IAAI,OAAO,CAChB,IAAI,qBAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EACnC,IAAI,uBAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CACtC,CAAC;IACJ,CAAC;IAED,YACmB,SAAoB,EACpB,UAAsB;QADtB,cAAS,GAAT,SAAS,CAAW;QACpB,eAAU,GAAV,UAAU,CAAY;IACtC,CAAC;IAEG,KAAK,CAAC,cAAc,CACzB,QAAoC;QAEpC,OAAO,MAAM,mCAAgB,CAAC,cAAc,CAC1C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,UAAU,EACf,QAAQ,CAAC,OAAO,EAAE,CACnB,CAAC;IACJ,CAAC;IAEM,gBAAgB,CACrB,OAAsB,EACtB,SAAoB;QAEpB,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IAEM,IAAI,CAAC,OAAsB;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAEM,YAAY;QACjB,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;YACrC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;SACpC,CAAC;IACJ,CAAC;IAEM,OAAO,CAAC,OAAsB;QACnC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAEM,OAAO,CAAC,gBAAkC;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACnD,CAAC;CACF;AAzDD,0BAyDC"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { StringValueObject } from '../StringValueObject';
|
|
2
2
|
import { CryptoPayload } from './CryptoPayload';
|
|
3
|
+
import { EncryptedPayload } from './EncryptedPayload';
|
|
3
4
|
import { Key } from './Key';
|
|
4
5
|
import { Signature } from './Signature';
|
|
5
6
|
export declare class PrivateKey extends Key {
|
|
6
7
|
private static readonly LENGTH;
|
|
7
8
|
private static readonly PATTERN;
|
|
8
9
|
static fromPEM(pem: string | StringValueObject): PrivateKey;
|
|
10
|
+
static generate(): PrivateKey;
|
|
9
11
|
constructor(value: string | StringValueObject);
|
|
10
12
|
private ensureIsValidPrivateKey;
|
|
11
13
|
sign(payload: CryptoPayload): Signature;
|
|
14
|
+
decrypt(encryptedPayload: EncryptedPayload): Buffer;
|
|
12
15
|
}
|
|
13
16
|
//# sourceMappingURL=PrivateKey.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrivateKey.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/PrivateKey.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PrivateKey.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/PrivateKey.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,UAAW,SAAQ,GAAG;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAO;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CACiD;WAElE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,UAAU;WAIpD,QAAQ,IAAI,UAAU;gBAUxB,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAU7C,OAAO,CAAC,uBAAuB;IAQxB,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS;IAOvC,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,MAAM;CA4B3D"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PrivateKey = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const ed25519_js_1 = require("@noble/curves/ed25519.js");
|
|
6
|
+
const crypto_1 = require("crypto");
|
|
5
7
|
const crypto = tslib_1.__importStar(require("node:crypto"));
|
|
6
8
|
const InvalidFormatError_1 = require("../../errors/InvalidFormatError");
|
|
7
9
|
const InvalidLengthError_1 = require("../../errors/InvalidLengthError");
|
|
@@ -15,6 +17,14 @@ class PrivateKey extends Key_1.Key {
|
|
|
15
17
|
static fromPEM(pem) {
|
|
16
18
|
return new PrivateKey(pem.valueOf());
|
|
17
19
|
}
|
|
20
|
+
static generate() {
|
|
21
|
+
const { privateKey } = (0, crypto_1.generateKeyPairSync)('ed25519');
|
|
22
|
+
const pemPrivateKey = privateKey.export({
|
|
23
|
+
format: 'pem',
|
|
24
|
+
type: 'pkcs8',
|
|
25
|
+
});
|
|
26
|
+
return new PrivateKey(pemPrivateKey.toString());
|
|
27
|
+
}
|
|
18
28
|
constructor(value) {
|
|
19
29
|
super(value?.valueOf());
|
|
20
30
|
if (NullObject_1.NullObject.isNullObject(this)) {
|
|
@@ -31,6 +41,28 @@ class PrivateKey extends Key_1.Key {
|
|
|
31
41
|
const signatureBuffer = crypto.sign(null, messageBuffer, this.valueOf());
|
|
32
42
|
return Signature_1.Signature.fromBuffer(signatureBuffer);
|
|
33
43
|
}
|
|
44
|
+
decrypt(encryptedPayload) {
|
|
45
|
+
const [ephPubB64, ivB64, cipherTextB64, tagB64] = encryptedPayload
|
|
46
|
+
.valueOf()
|
|
47
|
+
.split('.');
|
|
48
|
+
const ephemeralPub = Buffer.from(ephPubB64, 'base64');
|
|
49
|
+
const iv = Buffer.from(ivB64, 'base64');
|
|
50
|
+
const cipherText = Buffer.from(cipherTextB64, 'base64');
|
|
51
|
+
const tag = Buffer.from(tagB64, 'base64');
|
|
52
|
+
const pkcs8Der = crypto
|
|
53
|
+
.createPrivateKey(this.valueOf())
|
|
54
|
+
.export({ format: 'der', type: 'pkcs8' });
|
|
55
|
+
const x25519Priv = ed25519_js_1.ed25519.utils.toMontgomerySecret(pkcs8Der.subarray(16));
|
|
56
|
+
const sharedSecret = ed25519_js_1.x25519.getSharedSecret(x25519Priv, ephemeralPub);
|
|
57
|
+
const aesKey = crypto
|
|
58
|
+
.createHash('sha256')
|
|
59
|
+
.update(sharedSecret)
|
|
60
|
+
.update(ephemeralPub)
|
|
61
|
+
.digest();
|
|
62
|
+
const decipher = crypto.createDecipheriv('aes-256-gcm', aesKey, iv);
|
|
63
|
+
decipher.setAuthTag(tag);
|
|
64
|
+
return Buffer.concat([decipher.update(cipherText), decipher.final()]);
|
|
65
|
+
}
|
|
34
66
|
}
|
|
35
67
|
exports.PrivateKey = PrivateKey;
|
|
36
68
|
//# sourceMappingURL=PrivateKey.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrivateKey.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/PrivateKey.ts"],"names":[],"mappings":";;;;AAAA,4DAAsC;AAEtC,wEAAqE;AACrE,wEAAqE;AACrE,6CAAwC;AACxC,8CAA2C;
|
|
1
|
+
{"version":3,"file":"PrivateKey.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/PrivateKey.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { StringValueObject } from '../StringValueObject';
|
|
2
2
|
import { CryptoPayload } from './CryptoPayload';
|
|
3
|
+
import { EncryptedPayload } from './EncryptedPayload';
|
|
3
4
|
import { Key } from './Key';
|
|
4
5
|
import { Signature } from './Signature';
|
|
5
6
|
export declare class PublicKey extends Key {
|
|
@@ -9,5 +10,6 @@ export declare class PublicKey extends Key {
|
|
|
9
10
|
constructor(value: string | StringValueObject);
|
|
10
11
|
private ensureIsValidPublicKey;
|
|
11
12
|
isValidSignature(payload: CryptoPayload, signature: Signature): boolean;
|
|
13
|
+
encrypt(payload: CryptoPayload): EncryptedPayload;
|
|
12
14
|
}
|
|
13
15
|
//# sourceMappingURL=PublicKey.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicKey.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/PublicKey.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PublicKey.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/PublicKey.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,SAAU,SAAQ,GAAG;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAO;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAC+C;WAEhE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;gBAIrD,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAU7C,OAAO,CAAC,sBAAsB;IAQvB,gBAAgB,CACrB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,SAAS,GACnB,OAAO;IAaH,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,gBAAgB;CAmCzD"}
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PublicKey = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const ed25519_js_1 = require("@noble/curves/ed25519.js");
|
|
5
6
|
const crypto = tslib_1.__importStar(require("node:crypto"));
|
|
6
7
|
const InvalidFormatError_1 = require("../../errors/InvalidFormatError");
|
|
7
8
|
const InvalidLengthError_1 = require("../../errors/InvalidLengthError");
|
|
8
9
|
const patterns_1 = require("../../patterns");
|
|
9
10
|
const NullObject_1 = require("../NullObject");
|
|
11
|
+
const EncryptedPayload_1 = require("./EncryptedPayload");
|
|
10
12
|
const Key_1 = require("./Key");
|
|
11
13
|
class PublicKey extends Key_1.Key {
|
|
12
14
|
static LENGTH = 113;
|
|
@@ -31,6 +33,35 @@ class PublicKey extends Key_1.Key {
|
|
|
31
33
|
const valid = crypto.verify(null, messageBuffer, this.valueOf(), signatureBuffer);
|
|
32
34
|
return valid;
|
|
33
35
|
}
|
|
36
|
+
encrypt(payload) {
|
|
37
|
+
const messageBuffer = Buffer.from(payload.valueOf());
|
|
38
|
+
const spkiDer = crypto
|
|
39
|
+
.createPublicKey(this.valueOf())
|
|
40
|
+
.export({ format: 'der', type: 'spki' });
|
|
41
|
+
const x25519Pub = ed25519_js_1.ed25519.utils.toMontgomery(spkiDer.subarray(12));
|
|
42
|
+
const ephemeralPriv = ed25519_js_1.x25519.utils.randomSecretKey();
|
|
43
|
+
const ephemeralPub = ed25519_js_1.x25519.getPublicKey(ephemeralPriv);
|
|
44
|
+
const sharedSecret = ed25519_js_1.x25519.getSharedSecret(ephemeralPriv, x25519Pub);
|
|
45
|
+
const aesKey = crypto
|
|
46
|
+
.createHash('sha256')
|
|
47
|
+
.update(sharedSecret)
|
|
48
|
+
.update(ephemeralPub)
|
|
49
|
+
.digest();
|
|
50
|
+
const iv = crypto.randomBytes(12);
|
|
51
|
+
const cipher = crypto.createCipheriv('aes-256-gcm', aesKey, iv);
|
|
52
|
+
const cipherText = Buffer.concat([
|
|
53
|
+
cipher.update(messageBuffer),
|
|
54
|
+
cipher.final(),
|
|
55
|
+
]);
|
|
56
|
+
const tag = cipher.getAuthTag();
|
|
57
|
+
const result = [
|
|
58
|
+
Buffer.from(ephemeralPub).toString('base64'),
|
|
59
|
+
iv.toString('base64'),
|
|
60
|
+
cipherText.toString('base64'),
|
|
61
|
+
tag.toString('base64'),
|
|
62
|
+
].join('.');
|
|
63
|
+
return new EncryptedPayload_1.EncryptedPayload(result);
|
|
64
|
+
}
|
|
34
65
|
}
|
|
35
66
|
exports.PublicKey = PublicKey;
|
|
36
67
|
//# sourceMappingURL=PublicKey.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicKey.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/PublicKey.ts"],"names":[],"mappings":";;;;AAAA,4DAAsC;AAEtC,wEAAqE;AACrE,wEAAqE;AACrE,6CAAwC;AACxC,8CAA2C;AAG3C,+BAA4B;AAG5B,MAAa,SAAU,SAAQ,SAAG;IACxB,MAAM,CAAU,MAAM,GAAG,GAAG,CAAC;IAC7B,MAAM,CAAU,OAAO,GAC7B,2EAA2E,CAAC;IAEvE,MAAM,CAAC,OAAO,CAAC,GAA+B;QACnD,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,YAAY,KAAiC;QAC3C,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAExB,IAAI,uBAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAEO,sBAAsB,CAAC,KAAa;QAC1C,IAAA,iBAAM,EACJ,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EACjC,IAAI,uCAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAChD,CAAC;QACF,IAAA,iBAAM,EAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,uCAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IACvE,CAAC;IAEM,gBAAgB,CACrB,OAAsB,EACtB,SAAoB;QAEpB,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CACzB,IAAI,EACJ,aAAa,EACb,IAAI,CAAC,OAAO,EAAE,EACd,eAAe,CAChB,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;;
|
|
1
|
+
{"version":3,"file":"PublicKey.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/PublicKey.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Signature.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/Signature.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"Signature.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/Signature.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,SAAU,SAAQ,WAAW,CAAC,MAAM,CAAC;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAM;IACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAA2B;WAE5C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;gBAIvC,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAU7C,OAAO,CAAC,cAAc;CAGvB"}
|
|
@@ -5,7 +5,6 @@ const InvalidSignatureError_1 = require("../../errors/InvalidSignatureError");
|
|
|
5
5
|
const patterns_1 = require("../../patterns");
|
|
6
6
|
const NullObject_1 = require("../NullObject");
|
|
7
7
|
const ValueObject_1 = require("../ValueObject");
|
|
8
|
-
// TODO: Test
|
|
9
8
|
class Signature extends ValueObject_1.ValueObject {
|
|
10
9
|
static LENGTH = 88;
|
|
11
10
|
static PATTERN = /^[A-Za-z0-9+/]{86}==$/;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Signature.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/Signature.ts"],"names":[],"mappings":";;;AAAA,8EAA2E;AAC3E,6CAAwC;AACxC,8CAA2C;AAE3C,gDAA6C;AAE7C,
|
|
1
|
+
{"version":3,"file":"Signature.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/Signature.ts"],"names":[],"mappings":";;;AAAA,8EAA2E;AAC3E,6CAAwC;AACxC,8CAA2C;AAE3C,gDAA6C;AAE7C,MAAa,SAAU,SAAQ,yBAAmB;IACxC,MAAM,CAAU,MAAM,GAAG,EAAE,CAAC;IAC5B,MAAM,CAAU,OAAO,GAAG,uBAAuB,CAAC;IAEnD,MAAM,CAAC,UAAU,CAAC,MAAc;QACrC,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,YAAY,KAAiC;QAC3C,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAExB,IAAI,uBAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAA,iBAAM,EAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,6CAAqB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEO,cAAc;QACpB,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;;AApBH,8BAqBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@haskou/value-objects",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
"typescript": "^5.8.3"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
+
"@noble/curves": "^2.0.1",
|
|
55
56
|
"bson-objectid": "^2.0.4",
|
|
56
57
|
"uuid": "8"
|
|
57
58
|
}
|