@haskou/value-objects 4.0.0 → 4.1.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/README.md +176 -79
- package/dist/errors/index.d.ts +0 -2
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +0 -2
- package/dist/errors/index.js.map +1 -1
- package/dist/interfaces/PrimitiveOf.d.ts +1 -5
- package/dist/interfaces/PrimitiveOf.d.ts.map +1 -1
- package/dist/patterns/Assert.d.ts +1 -1
- package/dist/patterns/Assert.d.ts.map +1 -1
- package/dist/types/Primitive.d.ts +1 -1
- package/dist/types/Primitive.d.ts.map +1 -1
- package/dist/value-objects/Email.d.ts +0 -1
- package/dist/value-objects/Email.d.ts.map +1 -1
- package/dist/value-objects/Email.js +1 -2
- package/dist/value-objects/Email.js.map +1 -1
- package/dist/value-objects/NumberValueObject.js +1 -1
- package/dist/value-objects/NumberValueObject.js.map +1 -1
- package/dist/value-objects/UniqueObjectArray.d.ts.map +1 -1
- package/dist/value-objects/coordinates/Latitude.d.ts.map +1 -1
- package/dist/value-objects/coordinates/Latitude.js +4 -5
- package/dist/value-objects/coordinates/Latitude.js.map +1 -1
- package/dist/value-objects/coordinates/Longitude.d.ts.map +1 -1
- package/dist/value-objects/coordinates/Longitude.js +4 -5
- package/dist/value-objects/coordinates/Longitude.js.map +1 -1
- package/dist/value-objects/crypto/CryptoAdapter.d.ts +2 -3
- package/dist/value-objects/crypto/CryptoAdapter.d.ts.map +1 -1
- package/dist/value-objects/crypto/CryptoAdapter.js +4 -9
- package/dist/value-objects/crypto/CryptoAdapter.js.map +1 -1
- package/dist/value-objects/crypto/EncryptedKeyPair.d.ts +4 -4
- package/dist/value-objects/crypto/EncryptedKeyPair.d.ts.map +1 -1
- package/dist/value-objects/crypto/EncryptedKeyPair.js.map +1 -1
- package/dist/value-objects/crypto/EncryptedPayload.d.ts +0 -2
- package/dist/value-objects/crypto/EncryptedPayload.d.ts.map +1 -1
- package/dist/value-objects/crypto/EncryptedPayload.js +0 -15
- package/dist/value-objects/crypto/EncryptedPayload.js.map +1 -1
- package/dist/value-objects/crypto/EncryptedPrivateKey.d.ts +2 -3
- package/dist/value-objects/crypto/EncryptedPrivateKey.d.ts.map +1 -1
- package/dist/value-objects/crypto/EncryptedPrivateKey.js +4 -6
- package/dist/value-objects/crypto/EncryptedPrivateKey.js.map +1 -1
- package/dist/value-objects/crypto/KeyPair.d.ts +2 -2
- package/dist/value-objects/crypto/KeyPair.d.ts.map +1 -1
- package/dist/value-objects/crypto/KeyPair.js +1 -1
- package/dist/value-objects/crypto/KeyPair.js.map +1 -1
- package/dist/value-objects/crypto/PrivateKey.d.ts +0 -13
- package/dist/value-objects/crypto/PrivateKey.d.ts.map +1 -1
- package/dist/value-objects/crypto/PrivateKey.js +12 -58
- package/dist/value-objects/crypto/PrivateKey.js.map +1 -1
- package/dist/value-objects/crypto/PublicKey.d.ts +2 -6
- package/dist/value-objects/crypto/PublicKey.d.ts.map +1 -1
- package/dist/value-objects/crypto/PublicKey.js +6 -20
- package/dist/value-objects/crypto/PublicKey.js.map +1 -1
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.d.ts +2 -2
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.d.ts.map +1 -1
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.js.map +1 -1
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.d.ts +5 -7
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.d.ts.map +1 -1
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.js +17 -41
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.js.map +1 -1
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyVersion.d.ts +2 -2
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyVersion.d.ts.map +1 -1
- package/dist/value-objects/crypto/index.d.ts +0 -3
- package/dist/value-objects/crypto/index.d.ts.map +1 -1
- package/dist/value-objects/crypto/index.js +0 -3
- package/dist/value-objects/crypto/index.js.map +1 -1
- package/dist/value-objects/hashes/MD5Hash.d.ts.map +1 -1
- package/dist/value-objects/hashes/MD5Hash.js +1 -2
- package/dist/value-objects/hashes/MD5Hash.js.map +1 -1
- package/dist/value-objects/hashes/SHA256Hash.d.ts.map +1 -1
- package/dist/value-objects/hashes/SHA256Hash.js +1 -2
- package/dist/value-objects/hashes/SHA256Hash.js.map +1 -1
- package/dist/value-objects/hashes/SHA512Hash.d.ts.map +1 -1
- package/dist/value-objects/hashes/SHA512Hash.js +1 -2
- package/dist/value-objects/hashes/SHA512Hash.js.map +1 -1
- package/dist/value-objects/ids/ShortId.d.ts +0 -1
- package/dist/value-objects/ids/ShortId.d.ts.map +1 -1
- package/dist/value-objects/ids/ShortId.js +3 -7
- package/dist/value-objects/ids/ShortId.js.map +1 -1
- package/dist/value-objects/ids/UUID.d.ts +0 -2
- package/dist/value-objects/ids/UUID.d.ts.map +1 -1
- package/dist/value-objects/ids/UUID.js +4 -18
- package/dist/value-objects/ids/UUID.js.map +1 -1
- package/dist/value-objects/index.d.ts +0 -1
- package/dist/value-objects/index.d.ts.map +1 -1
- package/dist/value-objects/index.js +0 -1
- package/dist/value-objects/index.js.map +1 -1
- package/dist/value-objects/media/Media.d.ts +0 -2
- package/dist/value-objects/media/Media.d.ts.map +1 -1
- package/dist/value-objects/media/Media.js +1 -14
- package/dist/value-objects/media/Media.js.map +1 -1
- package/dist/value-objects/time/CalendarDay.d.ts +1 -2
- package/dist/value-objects/time/CalendarDay.d.ts.map +1 -1
- package/dist/value-objects/time/CalendarDay.js +11 -25
- package/dist/value-objects/time/CalendarDay.js.map +1 -1
- package/dist/value-objects/time/DayOfWeek.d.ts.map +1 -1
- package/dist/value-objects/time/DayOfWeek.js +3 -2
- package/dist/value-objects/time/DayOfWeek.js.map +1 -1
- package/dist/value-objects/time/Duration.js +2 -2
- package/dist/value-objects/time/Duration.js.map +1 -1
- package/dist/value-objects/time/Hour.d.ts +0 -3
- package/dist/value-objects/time/Hour.d.ts.map +1 -1
- package/dist/value-objects/time/Hour.js +31 -30
- package/dist/value-objects/time/Hour.js.map +1 -1
- package/dist/value-objects/time/Timestamp.d.ts +0 -3
- package/dist/value-objects/time/Timestamp.d.ts.map +1 -1
- package/dist/value-objects/time/Timestamp.js +6 -50
- package/dist/value-objects/time/Timestamp.js.map +1 -1
- package/dist/value-objects/time/TimestampInterval.d.ts +4 -2
- package/dist/value-objects/time/TimestampInterval.d.ts.map +1 -1
- package/dist/value-objects/time/TimestampInterval.js +10 -0
- package/dist/value-objects/time/TimestampInterval.js.map +1 -1
- package/package.json +32 -57
- package/dist/errors/InvalidEncryptedPrivateKeyFormatError.d.ts +0 -5
- package/dist/errors/InvalidEncryptedPrivateKeyFormatError.d.ts.map +0 -1
- package/dist/errors/InvalidEncryptedPrivateKeyFormatError.js +0 -11
- package/dist/errors/InvalidEncryptedPrivateKeyFormatError.js.map +0 -1
- package/dist/errors/InvalidPasswordError.d.ts +0 -5
- package/dist/errors/InvalidPasswordError.d.ts.map +0 -1
- package/dist/errors/InvalidPasswordError.js +0 -11
- package/dist/errors/InvalidPasswordError.js.map +0 -1
- package/dist/value-objects/Password.d.ts +0 -8
- package/dist/value-objects/Password.d.ts.map +0 -1
- package/dist/value-objects/Password.js +0 -28
- package/dist/value-objects/Password.js.map +0 -1
- package/dist/value-objects/crypto/AsymmetricEncryptedPayload.d.ts +0 -5
- package/dist/value-objects/crypto/AsymmetricEncryptedPayload.d.ts.map +0 -1
- package/dist/value-objects/crypto/AsymmetricEncryptedPayload.js +0 -11
- package/dist/value-objects/crypto/AsymmetricEncryptedPayload.js.map +0 -1
- package/dist/value-objects/crypto/StrictBase64.d.ts +0 -15
- package/dist/value-objects/crypto/StrictBase64.d.ts.map +0 -1
- package/dist/value-objects/crypto/StrictBase64.js +0 -36
- package/dist/value-objects/crypto/StrictBase64.js.map +0 -1
- package/dist/value-objects/crypto/SymmetricEncryptedPayload.d.ts +0 -5
- package/dist/value-objects/crypto/SymmetricEncryptedPayload.d.ts.map +0 -1
- package/dist/value-objects/crypto/SymmetricEncryptedPayload.js +0 -11
- package/dist/value-objects/crypto/SymmetricEncryptedPayload.js.map +0 -1
- package/dist/value-objects/crypto/SymmetricKey.d.ts +0 -49
- package/dist/value-objects/crypto/SymmetricKey.d.ts.map +0 -1
- package/dist/value-objects/crypto/SymmetricKey.js +0 -149
- package/dist/value-objects/crypto/SymmetricKey.js.map +0 -1
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV3.d.ts +0 -24
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV3.d.ts.map +0 -1
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV3.js +0 -105
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV3.js.map +0 -1
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import type { Buffer } from 'buffer';
|
|
2
2
|
import { PrimitiveOf } from '../../interfaces';
|
|
3
|
+
import { StringValueObject } from '../StringValueObject';
|
|
3
4
|
import { CryptoPayload } from './CryptoPayload';
|
|
4
5
|
import { EncryptedPayload } from './EncryptedPayload';
|
|
5
6
|
import { EncryptedPrivateKey } from './EncryptedPrivateKey';
|
|
6
7
|
import { PrivateKey } from './PrivateKey';
|
|
7
8
|
import { PublicKey } from './PublicKey';
|
|
8
9
|
import { Signature } from './Signature';
|
|
9
|
-
import { CryptoPassword } from './SymmetricKey';
|
|
10
10
|
export declare class EncryptedKeyPair {
|
|
11
11
|
private readonly publicKey;
|
|
12
12
|
private readonly encryptedPrivateKey;
|
|
13
|
-
static encryptKeyPair(publicKey: PublicKey, privateKey: PrivateKey, password:
|
|
13
|
+
static encryptKeyPair(publicKey: PublicKey, privateKey: PrivateKey, password: string | StringValueObject): Promise<EncryptedKeyPair>;
|
|
14
14
|
static fromPrimitives(primitives: PrimitiveOf<EncryptedKeyPair>): EncryptedKeyPair;
|
|
15
15
|
constructor(publicKey: PublicKey, encryptedPrivateKey: EncryptedPrivateKey);
|
|
16
16
|
isValidSignature(payload: CryptoPayload, signature: Signature): boolean;
|
|
17
|
-
sign(payload: CryptoPayload, password:
|
|
17
|
+
sign(payload: CryptoPayload, password: string | StringValueObject): Promise<Signature>;
|
|
18
18
|
toPrimitives(): {
|
|
19
19
|
encryptedPrivateKey: string;
|
|
20
20
|
publicKey: string;
|
|
21
21
|
};
|
|
22
22
|
encrypt(payload: CryptoPayload): EncryptedPayload;
|
|
23
|
-
decrypt(encryptedPayload: EncryptedPayload, password:
|
|
23
|
+
decrypt(encryptedPayload: EncryptedPayload, password: string | StringValueObject): Promise<Buffer>;
|
|
24
24
|
}
|
|
25
25
|
//# 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,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,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;
|
|
1
|
+
{"version":3,"file":"EncryptedKeyPair.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedKeyPair.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,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"}
|
|
@@ -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":";;;AAMA,+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"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { ValueObject } from '../ValueObject';
|
|
2
|
-
export type EncryptedPayloadScheme = 'asymmetric' | 'symmetric' | 'unknown';
|
|
3
2
|
export declare class EncryptedPayload extends ValueObject<string> {
|
|
4
|
-
getScheme(): EncryptedPayloadScheme;
|
|
5
3
|
}
|
|
6
4
|
//# sourceMappingURL=EncryptedPayload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EncryptedPayload.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,
|
|
1
|
+
{"version":3,"file":"EncryptedPayload.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,gBAAiB,SAAQ,WAAW,CAAC,MAAM,CAAC;CAAG"}
|
|
@@ -3,21 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.EncryptedPayload = void 0;
|
|
4
4
|
const ValueObject_1 = require("../ValueObject");
|
|
5
5
|
class EncryptedPayload extends ValueObject_1.ValueObject {
|
|
6
|
-
getScheme() {
|
|
7
|
-
const parts = this.valueOf().split('.');
|
|
8
|
-
if (parts.length === 4) {
|
|
9
|
-
return 'asymmetric';
|
|
10
|
-
}
|
|
11
|
-
if (parts.length === 6 &&
|
|
12
|
-
parts[0] === 'v2' &&
|
|
13
|
-
parts[1] === 'x25519-hkdf-sha256-aes-256-gcm') {
|
|
14
|
-
return 'asymmetric';
|
|
15
|
-
}
|
|
16
|
-
if (parts.length === 5 && parts[0] === 'v1' && parts[1] === 'aes-256-gcm') {
|
|
17
|
-
return 'symmetric';
|
|
18
|
-
}
|
|
19
|
-
return 'unknown';
|
|
20
|
-
}
|
|
21
6
|
}
|
|
22
7
|
exports.EncryptedPayload = EncryptedPayload;
|
|
23
8
|
//# sourceMappingURL=EncryptedPayload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EncryptedPayload.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedPayload.ts"],"names":[],"mappings":";;;AAAA,gDAA6C;
|
|
1
|
+
{"version":3,"file":"EncryptedPayload.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedPayload.ts"],"names":[],"mappings":";;;AAAA,gDAA6C;AAE7C,MAAa,gBAAiB,SAAQ,yBAAmB;CAAG;AAA5D,4CAA4D"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { StringValueObject } from '../StringValueObject';
|
|
2
2
|
import { ValueObject } from '../ValueObject';
|
|
3
3
|
import { PrivateKey } from './PrivateKey';
|
|
4
|
-
import { CryptoPassword } from './SymmetricKey';
|
|
5
4
|
export declare class EncryptedPrivateKey extends ValueObject<string> {
|
|
6
5
|
private static readonly versions;
|
|
7
|
-
static create(privateKey: PrivateKey, password:
|
|
6
|
+
static create(privateKey: PrivateKey, password: string | StringValueObject): Promise<EncryptedPrivateKey>;
|
|
8
7
|
constructor(encryptedPrivateKey: string | StringValueObject);
|
|
9
|
-
decrypt(password:
|
|
8
|
+
decrypt(password: string | StringValueObject): Promise<PrivateKey>;
|
|
10
9
|
needsReEncryption(): boolean;
|
|
11
10
|
}
|
|
12
11
|
//# sourceMappingURL=EncryptedPrivateKey.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EncryptedPrivateKey.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedPrivateKey.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EncryptedPrivateKey.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedPrivateKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,mBAAoB,SAAQ,WAAW,CAAC,MAAM,CAAC;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAG9B;WAEkB,MAAM,CACxB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,mBAAmB,CAAC;gBASnB,mBAAmB,EAAE,MAAM,GAAG,iBAAiB;IAI9C,OAAO,CAClB,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,UAAU,CAAC;IAaf,iBAAiB,IAAI,OAAO;CAYpC"}
|
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EncryptedPrivateKey = void 0;
|
|
4
|
-
const InvalidEncryptedPrivateKeyFormatError_1 = require("../../errors/InvalidEncryptedPrivateKeyFormatError");
|
|
5
|
-
const patterns_1 = require("../../patterns");
|
|
6
4
|
const ValueObject_1 = require("../ValueObject");
|
|
7
5
|
const EncryptedPrivateKeyLegacy_1 = require("./encrypted-private-key/EncryptedPrivateKeyLegacy");
|
|
8
6
|
const EncryptedPrivateKeyV2_1 = require("./encrypted-private-key/EncryptedPrivateKeyV2");
|
|
9
|
-
const EncryptedPrivateKeyV3_1 = require("./encrypted-private-key/EncryptedPrivateKeyV3");
|
|
10
7
|
class EncryptedPrivateKey extends ValueObject_1.ValueObject {
|
|
11
8
|
static versions = [
|
|
12
9
|
new EncryptedPrivateKeyLegacy_1.EncryptedPrivateKeyLegacy(),
|
|
13
10
|
new EncryptedPrivateKeyV2_1.EncryptedPrivateKeyV2(),
|
|
14
|
-
new EncryptedPrivateKeyV3_1.EncryptedPrivateKeyV3(),
|
|
15
11
|
];
|
|
16
12
|
static async create(privateKey, password) {
|
|
17
|
-
const encryptedPrivateKey = await
|
|
13
|
+
const encryptedPrivateKey = await EncryptedPrivateKeyV2_1.EncryptedPrivateKeyV2.encrypt(privateKey, password);
|
|
18
14
|
return new EncryptedPrivateKey(encryptedPrivateKey);
|
|
19
15
|
}
|
|
20
16
|
constructor(encryptedPrivateKey) {
|
|
@@ -23,7 +19,9 @@ class EncryptedPrivateKey extends ValueObject_1.ValueObject {
|
|
|
23
19
|
async decrypt(password) {
|
|
24
20
|
const parts = this.valueOf().split('.');
|
|
25
21
|
const version = EncryptedPrivateKey.versions.find((handler) => handler.matches(parts));
|
|
26
|
-
|
|
22
|
+
if (!version) {
|
|
23
|
+
throw new Error('Invalid encrypted private key format');
|
|
24
|
+
}
|
|
27
25
|
return version.decrypt(parts, password);
|
|
28
26
|
}
|
|
29
27
|
needsReEncryption() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EncryptedPrivateKey.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedPrivateKey.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"EncryptedPrivateKey.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedPrivateKey.ts"],"names":[],"mappings":";;;AACA,gDAA6C;AAC7C,iGAA8F;AAC9F,yFAAsF;AAGtF,MAAa,mBAAoB,SAAQ,yBAAmB;IAClD,MAAM,CAAU,QAAQ,GAAG;QACjC,IAAI,qDAAyB,EAAE;QAC/B,IAAI,6CAAqB,EAAE;KAC5B,CAAC;IAEK,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,UAAsB,EACtB,QAAoC;QAEpC,MAAM,mBAAmB,GAAG,MAAM,6CAAqB,CAAC,OAAO,CAC7D,UAAU,EACV,QAAQ,CACT,CAAC;QAEF,OAAO,IAAI,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IACtD,CAAC;IAED,YAAY,mBAA+C;QACzD,KAAK,CAAC,mBAAmB,EAAE,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,QAAoC;QAEpC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5D,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CACvB,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAEM,iBAAiB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5D,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CACvB,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,OAAO,CAAC,iBAAiB,EAAE,CAAC;IACrC,CAAC;;AAhDH,kDAiDC"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import type { Buffer } from 'buffer';
|
|
2
2
|
import { PrimitiveOf } from '../../interfaces';
|
|
3
|
+
import { StringValueObject } from '../StringValueObject';
|
|
3
4
|
import { CryptoPayload } from './CryptoPayload';
|
|
4
5
|
import { EncryptedKeyPair } from './EncryptedKeyPair';
|
|
5
6
|
import { EncryptedPayload } from './EncryptedPayload';
|
|
6
7
|
import { PrivateKey } from './PrivateKey';
|
|
7
8
|
import { PublicKey } from './PublicKey';
|
|
8
9
|
import { Signature } from './Signature';
|
|
9
|
-
import { CryptoPassword } from './SymmetricKey';
|
|
10
10
|
export declare class KeyPair {
|
|
11
11
|
private readonly publicKey;
|
|
12
12
|
private readonly privateKey;
|
|
13
13
|
static generate(): Promise<KeyPair>;
|
|
14
14
|
static fromPrimitives(primitives: PrimitiveOf<KeyPair>): KeyPair;
|
|
15
15
|
constructor(publicKey: PublicKey, privateKey: PrivateKey);
|
|
16
|
-
encryptKeyPair(password:
|
|
16
|
+
encryptKeyPair(password: string | StringValueObject): Promise<EncryptedKeyPair>;
|
|
17
17
|
isValidSignature(payload: CryptoPayload, signature: Signature): boolean;
|
|
18
18
|
sign(payload: CryptoPayload): Signature;
|
|
19
19
|
toPrimitives(): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyPair.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/KeyPair.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"KeyPair.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/KeyPair.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,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;AAExC,qBAAa,OAAO;IAgBhB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU;WAhBf,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;WAO5B,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"}
|
|
@@ -20,7 +20,7 @@ class KeyPair {
|
|
|
20
20
|
this.privateKey = privateKey;
|
|
21
21
|
}
|
|
22
22
|
async encryptKeyPair(password) {
|
|
23
|
-
return await EncryptedKeyPair_1.EncryptedKeyPair.encryptKeyPair(this.publicKey, this.privateKey, password);
|
|
23
|
+
return await EncryptedKeyPair_1.EncryptedKeyPair.encryptKeyPair(this.publicKey, this.privateKey, password.valueOf());
|
|
24
24
|
}
|
|
25
25
|
isValidSignature(payload, signature) {
|
|
26
26
|
return this.publicKey.isValidSignature(payload, signature);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyPair.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/KeyPair.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"KeyPair.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/KeyPair.ts"],"names":[],"mappings":";;;AAKA,yDAAsD;AAEtD,6CAA0C;AAC1C,2CAAwC;AAGxC,MAAa,OAAO;IAgBC;IACA;IAhBZ,MAAM,CAAC,QAAQ;QACpB,MAAM,UAAU,GAAG,uBAAU,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;QAE5C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAC7D,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;AAvDD,0BAuDC"}
|
|
@@ -7,24 +7,11 @@ import { PublicKey } from './PublicKey';
|
|
|
7
7
|
import { Signature } from './Signature';
|
|
8
8
|
export declare class PrivateKey extends Key {
|
|
9
9
|
private static readonly LENGTH;
|
|
10
|
-
private static readonly LEGACY_ENCRYPTED_PAYLOAD_PARTS;
|
|
11
|
-
private static readonly OWASP_ENCRYPTED_PAYLOAD_PARTS;
|
|
12
|
-
private static readonly EPHEMERAL_PUBLIC_KEY_LENGTH;
|
|
13
|
-
private static readonly IV_LENGTH;
|
|
14
|
-
private static readonly TAG_LENGTH;
|
|
15
|
-
private static readonly MAX_CIPHERTEXT_LENGTH;
|
|
16
|
-
private static readonly PAYLOAD_ALGORITHM;
|
|
17
|
-
private static readonly PAYLOAD_VERSION;
|
|
18
10
|
private static readonly PATTERN;
|
|
19
|
-
private static ensureIsBase64;
|
|
20
|
-
private static ensureBase64DecodedLength;
|
|
21
|
-
private static decodeBase64;
|
|
22
|
-
private static getPayloadAad;
|
|
23
11
|
static fromPEM(pem: string | StringValueObject): PrivateKey;
|
|
24
12
|
static generate(): PrivateKey;
|
|
25
13
|
constructor(value: string | StringValueObject);
|
|
26
14
|
private ensureIsValidPrivateKey;
|
|
27
|
-
private decryptPayload;
|
|
28
15
|
getPublicKey(): PublicKey;
|
|
29
16
|
sign(payload: CryptoPayload): Signature;
|
|
30
17
|
decrypt(encryptedPayload: EncryptedPayload): Buffer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrivateKey.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/PrivateKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"PrivateKey.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/PrivateKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAMhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,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;AACxC,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;gBAIxB,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAU7C,OAAO,CAAC,uBAAuB;IAQxB,YAAY,IAAI,SAAS;IAIzB,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS;IAOvC,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,MAAM;CAwB3D"}
|
|
@@ -5,36 +5,14 @@ const buffer_1 = require("buffer");
|
|
|
5
5
|
const InvalidFormatError_1 = require("../../errors/InvalidFormatError");
|
|
6
6
|
const InvalidLengthError_1 = require("../../errors/InvalidLengthError");
|
|
7
7
|
const patterns_1 = require("../../patterns");
|
|
8
|
-
const media_1 = require("../media");
|
|
9
8
|
const NullObject_1 = require("../NullObject");
|
|
10
9
|
const CryptoAdapter_1 = require("./CryptoAdapter");
|
|
11
10
|
const Key_1 = require("./Key");
|
|
12
11
|
const PublicKey_1 = require("./PublicKey");
|
|
13
12
|
const Signature_1 = require("./Signature");
|
|
14
|
-
const StrictBase64_1 = require("./StrictBase64");
|
|
15
13
|
class PrivateKey extends Key_1.Key {
|
|
16
14
|
static LENGTH = 119;
|
|
17
|
-
static LEGACY_ENCRYPTED_PAYLOAD_PARTS = 4;
|
|
18
|
-
static OWASP_ENCRYPTED_PAYLOAD_PARTS = 6;
|
|
19
|
-
static EPHEMERAL_PUBLIC_KEY_LENGTH = 32;
|
|
20
|
-
static IV_LENGTH = 12;
|
|
21
|
-
static TAG_LENGTH = 16;
|
|
22
|
-
static MAX_CIPHERTEXT_LENGTH = 1024 * 1024;
|
|
23
|
-
static PAYLOAD_ALGORITHM = 'x25519-hkdf-sha256-aes-256-gcm';
|
|
24
|
-
static PAYLOAD_VERSION = 'v2';
|
|
25
15
|
static PATTERN = /^-----BEGIN PRIVATE KEY-----\n[A-Za-z0-9+/=]+\n-----END PRIVATE KEY-----\n$/;
|
|
26
|
-
static ensureIsBase64(value, encryptedPayload, options) {
|
|
27
|
-
StrictBase64_1.StrictBase64.ensure(value, new InvalidFormatError_1.InvalidFormatError(encryptedPayload.valueOf()), options);
|
|
28
|
-
}
|
|
29
|
-
static ensureBase64DecodedLength(value, encryptedPayload, length) {
|
|
30
|
-
StrictBase64_1.StrictBase64.ensureDecodedLength(value, new InvalidFormatError_1.InvalidFormatError(encryptedPayload.valueOf()), length);
|
|
31
|
-
}
|
|
32
|
-
static decodeBase64(value, encryptedPayload) {
|
|
33
|
-
return StrictBase64_1.StrictBase64.decode(value, new InvalidFormatError_1.InvalidFormatError(encryptedPayload.valueOf()));
|
|
34
|
-
}
|
|
35
|
-
static getPayloadAad() {
|
|
36
|
-
return buffer_1.Buffer.from([PrivateKey.PAYLOAD_VERSION, PrivateKey.PAYLOAD_ALGORITHM].join('.'));
|
|
37
|
-
}
|
|
38
16
|
static fromPEM(pem) {
|
|
39
17
|
return new PrivateKey(pem.valueOf());
|
|
40
18
|
}
|
|
@@ -52,50 +30,26 @@ class PrivateKey extends Key_1.Key {
|
|
|
52
30
|
(0, patterns_1.assert)(value.length === PrivateKey.LENGTH, new InvalidLengthError_1.InvalidLengthError(value, PrivateKey.LENGTH));
|
|
53
31
|
(0, patterns_1.assert)(PrivateKey.PATTERN.test(value), new InvalidFormatError_1.InvalidFormatError(value));
|
|
54
32
|
}
|
|
55
|
-
decryptPayload(encryptedPayload, ephPubB64, ivB64, cipherTextB64, tagB64, options) {
|
|
56
|
-
const cipherTextLength = StrictBase64_1.StrictBase64.getDecodedLength(cipherTextB64);
|
|
57
|
-
(0, patterns_1.assert)(cipherTextLength <= PrivateKey.MAX_CIPHERTEXT_LENGTH, new InvalidLengthError_1.InvalidLengthError(cipherTextLength, PrivateKey.MAX_CIPHERTEXT_LENGTH));
|
|
58
|
-
PrivateKey.ensureIsBase64(cipherTextB64, encryptedPayload, {
|
|
59
|
-
allowEmpty: true,
|
|
60
|
-
});
|
|
61
|
-
PrivateKey.ensureBase64DecodedLength(ephPubB64, encryptedPayload, PrivateKey.EPHEMERAL_PUBLIC_KEY_LENGTH);
|
|
62
|
-
PrivateKey.ensureBase64DecodedLength(ivB64, encryptedPayload, PrivateKey.IV_LENGTH);
|
|
63
|
-
PrivateKey.ensureBase64DecodedLength(tagB64, encryptedPayload, PrivateKey.TAG_LENGTH);
|
|
64
|
-
const ephemeralPub = PrivateKey.decodeBase64(ephPubB64, encryptedPayload);
|
|
65
|
-
const iv = PrivateKey.decodeBase64(ivB64, encryptedPayload);
|
|
66
|
-
const cipherText = StrictBase64_1.StrictBase64.decode(cipherTextB64, new InvalidFormatError_1.InvalidFormatError(encryptedPayload.valueOf()), { allowEmpty: true });
|
|
67
|
-
const tag = PrivateKey.decodeBase64(tagB64, encryptedPayload);
|
|
68
|
-
const x25519Priv = CryptoAdapter_1.CryptoAdapter.privateKeyToX25519(this.valueOf());
|
|
69
|
-
const sharedSecret = CryptoAdapter_1.CryptoAdapter.x25519SharedSecret(x25519Priv, ephemeralPub);
|
|
70
|
-
const aesKey = options.useHkdf
|
|
71
|
-
? CryptoAdapter_1.CryptoAdapter.deriveEncryptionKeyWithHkdf(sharedSecret, ephemeralPub, CryptoAdapter_1.CryptoAdapter.x25519PublicKey(x25519Priv))
|
|
72
|
-
: CryptoAdapter_1.CryptoAdapter.deriveEncryptionKey(sharedSecret, ephemeralPub);
|
|
73
|
-
return CryptoAdapter_1.CryptoAdapter.decryptAes256Gcm(aesKey, iv, cipherText, tag, options.aad);
|
|
74
|
-
}
|
|
75
33
|
getPublicKey() {
|
|
76
34
|
return PublicKey_1.PublicKey.fromPEM(CryptoAdapter_1.CryptoAdapter.getPublicKey(this.valueOf()));
|
|
77
35
|
}
|
|
78
36
|
sign(payload) {
|
|
79
|
-
const messageBuffer = payload
|
|
80
|
-
? payload.getBuffer()
|
|
81
|
-
: buffer_1.Buffer.from(payload.valueOf());
|
|
37
|
+
const messageBuffer = buffer_1.Buffer.from(payload.valueOf());
|
|
82
38
|
const signatureBuffer = CryptoAdapter_1.CryptoAdapter.sign(messageBuffer, this.valueOf());
|
|
83
39
|
return Signature_1.Signature.fromBuffer(signatureBuffer);
|
|
84
40
|
}
|
|
85
41
|
decrypt(encryptedPayload) {
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
useHkdf: true,
|
|
98
|
-
});
|
|
42
|
+
const [ephPubB64, ivB64, cipherTextB64, tagB64] = encryptedPayload
|
|
43
|
+
.valueOf()
|
|
44
|
+
.split('.');
|
|
45
|
+
const ephemeralPub = buffer_1.Buffer.from(ephPubB64, 'base64');
|
|
46
|
+
const iv = buffer_1.Buffer.from(ivB64, 'base64');
|
|
47
|
+
const cipherText = buffer_1.Buffer.from(cipherTextB64, 'base64');
|
|
48
|
+
const tag = buffer_1.Buffer.from(tagB64, 'base64');
|
|
49
|
+
const x25519Priv = CryptoAdapter_1.CryptoAdapter.privateKeyToX25519(this.valueOf());
|
|
50
|
+
const sharedSecret = CryptoAdapter_1.CryptoAdapter.x25519SharedSecret(x25519Priv, ephemeralPub);
|
|
51
|
+
const aesKey = CryptoAdapter_1.CryptoAdapter.deriveEncryptionKey(sharedSecret, ephemeralPub);
|
|
52
|
+
return CryptoAdapter_1.CryptoAdapter.decryptAes256Gcm(aesKey, iv, cipherText, tag);
|
|
99
53
|
}
|
|
100
54
|
}
|
|
101
55
|
exports.PrivateKey = PrivateKey;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrivateKey.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/PrivateKey.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,wEAAqE;AACrE,wEAAqE;AACrE,6CAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"PrivateKey.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/PrivateKey.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,wEAAqE;AACrE,wEAAqE;AACrE,6CAAwC;AACxC,8CAA2C;AAE3C,mDAAgD;AAGhD,+BAA4B;AAC5B,2CAAwC;AACxC,2CAAwC;AAExC,MAAa,UAAW,SAAQ,SAAG;IACzB,MAAM,CAAU,MAAM,GAAG,GAAG,CAAC;IAC7B,MAAM,CAAU,OAAO,GAC7B,6EAA6E,CAAC;IAEzE,MAAM,CAAC,OAAO,CAAC,GAA+B;QACnD,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;IAEM,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,UAAU,CAAC,6BAAa,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC7D,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,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAEO,uBAAuB,CAAC,KAAa;QAC3C,IAAA,iBAAM,EACJ,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAClC,IAAI,uCAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CACjD,CAAC;QACF,IAAA,iBAAM,EAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,uCAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,CAAC;IAEM,YAAY;QACjB,OAAO,qBAAS,CAAC,OAAO,CAAC,6BAAa,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAEM,IAAI,CAAC,OAAsB;QAChC,MAAM,aAAa,GAAG,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,6BAAa,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAE1E,OAAO,qBAAS,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC;IAEM,OAAO,CAAC,gBAAkC;QAC/C,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,GAAG,gBAAgB;aAC/D,OAAO,EAAE;aACT,KAAK,CAAC,GAAG,CAAC,CAAC;QAEd,MAAM,YAAY,GAAG,eAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,eAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,eAAM,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,eAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,6BAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAEpE,MAAM,YAAY,GAAG,6BAAa,CAAC,kBAAkB,CACnD,UAAU,EACV,YAAY,CACb,CAAC;QAEF,MAAM,MAAM,GAAG,6BAAa,CAAC,mBAAmB,CAC9C,YAAY,EACZ,YAAY,CACb,CAAC;QAEF,OAAO,6BAAa,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IACrE,CAAC;;AAjEH,gCAkEC"}
|
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
import { StringValueObject } from '../StringValueObject';
|
|
2
|
-
import { AsymmetricEncryptedPayload } from './AsymmetricEncryptedPayload';
|
|
3
2
|
import { CryptoPayload } from './CryptoPayload';
|
|
3
|
+
import { EncryptedPayload } from './EncryptedPayload';
|
|
4
4
|
import { Key } from './Key';
|
|
5
5
|
import { Signature } from './Signature';
|
|
6
6
|
export declare class PublicKey extends Key {
|
|
7
7
|
private static readonly LENGTH;
|
|
8
|
-
private static readonly MAX_PAYLOAD_LENGTH;
|
|
9
|
-
private static readonly PAYLOAD_ALGORITHM;
|
|
10
|
-
private static readonly PAYLOAD_VERSION;
|
|
11
8
|
private static readonly PATTERN;
|
|
12
|
-
private static getPayloadAad;
|
|
13
9
|
static fromPEM(pem: string | StringValueObject): PublicKey;
|
|
14
10
|
constructor(value: string | StringValueObject);
|
|
15
11
|
private ensureIsValidPublicKey;
|
|
16
12
|
isValidSignature(payload: CryptoPayload, signature: Signature): boolean;
|
|
17
|
-
encrypt(payload: CryptoPayload):
|
|
13
|
+
encrypt(payload: CryptoPayload): EncryptedPayload;
|
|
18
14
|
}
|
|
19
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":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,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;IAYH,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,gBAAgB;CAiCzD"}
|
|
@@ -5,20 +5,13 @@ const buffer_1 = require("buffer");
|
|
|
5
5
|
const InvalidFormatError_1 = require("../../errors/InvalidFormatError");
|
|
6
6
|
const InvalidLengthError_1 = require("../../errors/InvalidLengthError");
|
|
7
7
|
const patterns_1 = require("../../patterns");
|
|
8
|
-
const media_1 = require("../media");
|
|
9
8
|
const NullObject_1 = require("../NullObject");
|
|
10
|
-
const AsymmetricEncryptedPayload_1 = require("./AsymmetricEncryptedPayload");
|
|
11
9
|
const CryptoAdapter_1 = require("./CryptoAdapter");
|
|
10
|
+
const EncryptedPayload_1 = require("./EncryptedPayload");
|
|
12
11
|
const Key_1 = require("./Key");
|
|
13
12
|
class PublicKey extends Key_1.Key {
|
|
14
13
|
static LENGTH = 113;
|
|
15
|
-
static MAX_PAYLOAD_LENGTH = 1024 * 1024;
|
|
16
|
-
static PAYLOAD_ALGORITHM = 'x25519-hkdf-sha256-aes-256-gcm';
|
|
17
|
-
static PAYLOAD_VERSION = 'v2';
|
|
18
14
|
static PATTERN = /^-----BEGIN PUBLIC KEY-----\n[A-Za-z0-9+/=]+\n-----END PUBLIC KEY-----\n$/;
|
|
19
|
-
static getPayloadAad() {
|
|
20
|
-
return buffer_1.Buffer.from([PublicKey.PAYLOAD_VERSION, PublicKey.PAYLOAD_ALGORITHM].join('.'));
|
|
21
|
-
}
|
|
22
15
|
static fromPEM(pem) {
|
|
23
16
|
return new PublicKey(pem.valueOf());
|
|
24
17
|
}
|
|
@@ -34,34 +27,27 @@ class PublicKey extends Key_1.Key {
|
|
|
34
27
|
(0, patterns_1.assert)(PublicKey.PATTERN.test(value), new InvalidFormatError_1.InvalidFormatError(value));
|
|
35
28
|
}
|
|
36
29
|
isValidSignature(payload, signature) {
|
|
37
|
-
const messageBuffer = payload
|
|
38
|
-
? payload.getBuffer()
|
|
39
|
-
: buffer_1.Buffer.from(payload.valueOf());
|
|
30
|
+
const messageBuffer = buffer_1.Buffer.from(payload.valueOf());
|
|
40
31
|
const signatureBuffer = buffer_1.Buffer.from(signature.valueOf(), 'base64');
|
|
41
32
|
const valid = CryptoAdapter_1.CryptoAdapter.verify(signatureBuffer, messageBuffer, this.valueOf());
|
|
42
33
|
return valid;
|
|
43
34
|
}
|
|
44
35
|
encrypt(payload) {
|
|
45
|
-
const messageBuffer = payload
|
|
46
|
-
? payload.getBuffer()
|
|
47
|
-
: buffer_1.Buffer.from(payload.valueOf());
|
|
48
|
-
(0, patterns_1.assert)(messageBuffer.length <= PublicKey.MAX_PAYLOAD_LENGTH, new InvalidLengthError_1.InvalidLengthError(messageBuffer.length, PublicKey.MAX_PAYLOAD_LENGTH));
|
|
36
|
+
const messageBuffer = buffer_1.Buffer.from(payload.valueOf());
|
|
49
37
|
const x25519Pub = CryptoAdapter_1.CryptoAdapter.publicKeyToX25519(this.valueOf());
|
|
50
38
|
const ephemeralPriv = CryptoAdapter_1.CryptoAdapter.x25519RandomPrivateKey();
|
|
51
39
|
const ephemeralPub = CryptoAdapter_1.CryptoAdapter.x25519PublicKey(ephemeralPriv);
|
|
52
40
|
const sharedSecret = CryptoAdapter_1.CryptoAdapter.x25519SharedSecret(ephemeralPriv, x25519Pub);
|
|
53
|
-
const aesKey = CryptoAdapter_1.CryptoAdapter.
|
|
41
|
+
const aesKey = CryptoAdapter_1.CryptoAdapter.deriveEncryptionKey(sharedSecret, ephemeralPub);
|
|
54
42
|
const iv = CryptoAdapter_1.CryptoAdapter.randomBytes(12);
|
|
55
|
-
const { cipherText, tag } = CryptoAdapter_1.CryptoAdapter.encryptAes256Gcm(aesKey, iv, messageBuffer
|
|
43
|
+
const { cipherText, tag } = CryptoAdapter_1.CryptoAdapter.encryptAes256Gcm(aesKey, iv, messageBuffer);
|
|
56
44
|
const result = [
|
|
57
|
-
PublicKey.PAYLOAD_VERSION,
|
|
58
|
-
PublicKey.PAYLOAD_ALGORITHM,
|
|
59
45
|
buffer_1.Buffer.from(ephemeralPub).toString('base64'),
|
|
60
46
|
iv.toString('base64'),
|
|
61
47
|
buffer_1.Buffer.from(cipherText).toString('base64'),
|
|
62
48
|
buffer_1.Buffer.from(tag).toString('base64'),
|
|
63
49
|
].join('.');
|
|
64
|
-
return new
|
|
50
|
+
return new EncryptedPayload_1.EncryptedPayload(result);
|
|
65
51
|
}
|
|
66
52
|
}
|
|
67
53
|
exports.PublicKey = PublicKey;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicKey.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/PublicKey.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,wEAAqE;AACrE,wEAAqE;AACrE,6CAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"PublicKey.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/PublicKey.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,wEAAqE;AACrE,wEAAqE;AACrE,6CAAwC;AACxC,8CAA2C;AAE3C,mDAAgD;AAEhD,yDAAsD;AACtD,+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,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,eAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,6BAAa,CAAC,MAAM,CAChC,eAAe,EACf,aAAa,EACb,IAAI,CAAC,OAAO,EAAE,CACf,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,OAAO,CAAC,OAAsB;QACnC,MAAM,aAAa,GAAG,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAErD,MAAM,SAAS,GAAG,6BAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAElE,MAAM,aAAa,GAAG,6BAAa,CAAC,sBAAsB,EAAE,CAAC;QAC7D,MAAM,YAAY,GAAG,6BAAa,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,6BAAa,CAAC,kBAAkB,CACnD,aAAa,EACb,SAAS,CACV,CAAC;QAEF,MAAM,MAAM,GAAG,6BAAa,CAAC,mBAAmB,CAC9C,YAAY,EACZ,YAAY,CACb,CAAC;QAEF,MAAM,EAAE,GAAG,6BAAa,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,6BAAa,CAAC,gBAAgB,CACxD,MAAM,EACN,EAAE,EACF,aAAa,CACd,CAAC;QAEF,MAAM,MAAM,GAAG;YACb,eAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5C,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrB,eAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC1C,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;SACpC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEZ,OAAO,IAAI,mCAAgB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;;AA1EH,8BA2EC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { StringValueObject } from '../../StringValueObject';
|
|
1
2
|
import { PrivateKey } from '../PrivateKey';
|
|
2
|
-
import { CryptoPassword } from '../SymmetricKey';
|
|
3
3
|
import { EncryptedPrivateKeyVersion } from './EncryptedPrivateKeyVersion';
|
|
4
4
|
export declare class EncryptedPrivateKeyLegacy extends EncryptedPrivateKeyVersion {
|
|
5
5
|
private static readonly LEGACY_ITERATIONS;
|
|
@@ -8,7 +8,7 @@ export declare class EncryptedPrivateKeyLegacy extends EncryptedPrivateKeyVersio
|
|
|
8
8
|
private static readonly CIPHER;
|
|
9
9
|
private static readonly EXPECTED_PARTS;
|
|
10
10
|
matches(parts: string[]): boolean;
|
|
11
|
-
decrypt(parts: string[], password:
|
|
11
|
+
decrypt(parts: string[], password: string | StringValueObject): Promise<PrivateKey>;
|
|
12
12
|
needsReEncryption(): boolean;
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=EncryptedPrivateKeyLegacy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EncryptedPrivateKeyLegacy.d.ts","sourceRoot":"","sources":["../../../../src/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EncryptedPrivateKeyLegacy.d.ts","sourceRoot":"","sources":["../../../../src/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,qBAAa,yBAA0B,SAAQ,0BAA0B;IACvE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAU;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAY;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAM;IACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAiB;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAK;IAEpC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO;IAI3B,OAAO,CAClB,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,UAAU,CAAC;IAoBf,iBAAiB,IAAI,OAAO;CAGpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EncryptedPrivateKeyLegacy.js","sourceRoot":"","sources":["../../../../src/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;
|
|
1
|
+
{"version":3,"file":"EncryptedPrivateKeyLegacy.js","sourceRoot":"","sources":["../../../../src/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAGhC,oDAAiD;AACjD,8CAA2C;AAC3C,yDAAsD;AACtD,6EAA0E;AAE1E,MAAa,yBAA0B,SAAQ,uDAA0B;IAC/D,MAAM,CAAU,iBAAiB,GAAG,MAAM,CAAC;IAC3C,MAAM,CAAU,gBAAgB,GAAG,QAAQ,CAAC;IAC5C,MAAM,CAAU,UAAU,GAAG,EAAE,CAAC;IAChC,MAAM,CAAU,MAAM,GAAG,aAAa,CAAC;IACvC,MAAM,CAAU,cAAc,GAAG,CAAC,CAAC;IAEpC,OAAO,CAAC,KAAe;QAC5B,OAAO,KAAK,CAAC,MAAM,KAAK,yBAAyB,CAAC,cAAc,CAAC;IACnE,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,KAAe,EACf,QAAoC;QAEpC,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;QACtD,MAAM,UAAU,GAAG,eAAM,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,eAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,eAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,eAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE1C,MAAM,GAAG,GAAG,MAAM,mCAAgB,CAAC,WAAW,CAC5C,QAAQ,CAAC,OAAO,EAAE,EAClB,IAAI,EACJ,yBAAyB,CAAC,iBAAiB,EAC3C,yBAAyB,CAAC,UAAU,EACpC,yBAAyB,CAAC,gBAAgB,CAC3C,CAAC;QAEF,MAAM,SAAS,GAAG,6BAAa,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAE3E,OAAO,IAAI,uBAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;IAEM,iBAAiB;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;;AApCH,8DAqCC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { StringValueObject } from '../../StringValueObject';
|
|
1
2
|
import { PrivateKey } from '../PrivateKey';
|
|
2
|
-
import { CryptoPassword } from '../SymmetricKey';
|
|
3
3
|
import { EncryptedPrivateKeyVersion } from './EncryptedPrivateKeyVersion';
|
|
4
4
|
export declare class EncryptedPrivateKeyV2 extends EncryptedPrivateKeyVersion {
|
|
5
5
|
private static readonly VERSION;
|
|
@@ -8,15 +8,13 @@ export declare class EncryptedPrivateKeyV2 extends EncryptedPrivateKeyVersion {
|
|
|
8
8
|
private static readonly SCRYPT_R;
|
|
9
9
|
private static readonly SCRYPT_P;
|
|
10
10
|
private static readonly SALT_ENTROPY;
|
|
11
|
+
private static readonly IV_ENTROPY;
|
|
12
|
+
private static readonly KEY_LENGTH;
|
|
11
13
|
private static readonly CIPHER;
|
|
12
14
|
private static readonly EXPECTED_PARTS;
|
|
13
|
-
private static readonly SYMMETRIC_PAYLOAD_VERSION;
|
|
14
15
|
private static hasSupportedScryptParameters;
|
|
15
|
-
|
|
16
|
-
private static toSymmetricPayload;
|
|
17
|
-
static encrypt(privateKey: PrivateKey, password: CryptoPassword): Promise<string>;
|
|
16
|
+
static encrypt(privateKey: PrivateKey, password: string | StringValueObject): Promise<string>;
|
|
18
17
|
matches(parts: string[]): boolean;
|
|
19
|
-
decrypt(parts: string[], password:
|
|
20
|
-
needsReEncryption(): boolean;
|
|
18
|
+
decrypt(parts: string[], password: string | StringValueObject): Promise<PrivateKey>;
|
|
21
19
|
}
|
|
22
20
|
//# sourceMappingURL=EncryptedPrivateKeyV2.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EncryptedPrivateKeyV2.d.ts","sourceRoot":"","sources":["../../../../src/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EncryptedPrivateKeyV2.d.ts","sourceRoot":"","sources":["../../../../src/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,qBAAa,qBAAsB,SAAQ,0BAA0B;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAQ;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAY;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAS;IACzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAK;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAK;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAM;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAM;IACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAM;IACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAiB;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAK;IAE3C,OAAO,CAAC,MAAM,CAAC,4BAA4B;WAQvB,OAAO,CACzB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,MAAM,CAAC;IAoCX,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO;IAS3B,OAAO,CAClB,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,UAAU,CAAC;CAwBvB"}
|