@ledgerhq/hw-ledger-key-ring-protocol 0.2.1-nightly.0 → 0.2.1-nightly.2
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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +14 -0
- package/lib/ApduDevice.d.ts.map +1 -1
- package/lib/ApduDevice.js +37 -41
- package/lib/ApduDevice.js.map +1 -1
- package/lib/CommandBlock.d.ts +4 -4
- package/lib/CommandBlock.d.ts.map +1 -1
- package/lib/CommandBlock.js +18 -35
- package/lib/CommandBlock.js.map +1 -1
- package/lib/CommandStream.d.ts +1 -1
- package/lib/CommandStream.d.ts.map +1 -1
- package/lib/CommandStream.js +5 -7
- package/lib/CommandStream.js.map +1 -1
- package/lib/Crypto.d.ts +11 -11
- package/lib/Crypto.d.ts.map +1 -1
- package/lib/Device.d.ts +1 -1
- package/lib/Device.d.ts.map +1 -1
- package/lib/Device.js +28 -36
- package/lib/Device.js.map +1 -1
- package/lib/NobleCrypto.d.ts +13 -15
- package/lib/NobleCrypto.d.ts.map +1 -1
- package/lib/NobleCrypto.js +90 -148
- package/lib/NobleCrypto.js.map +1 -1
- package/lib/StreamTreeCipher.d.ts.map +1 -1
- package/lib/StreamTreeCipher.js +32 -36
- package/lib/StreamTreeCipher.js.map +1 -1
- package/lib/__tests__/codec.js +33 -33
- package/lib/__tests__/codec.js.map +1 -1
- package/lib-es/ApduDevice.d.ts.map +1 -1
- package/lib-es/ApduDevice.js +37 -41
- package/lib-es/ApduDevice.js.map +1 -1
- package/lib-es/CommandBlock.d.ts +4 -4
- package/lib-es/CommandBlock.d.ts.map +1 -1
- package/lib-es/CommandBlock.js +18 -35
- package/lib-es/CommandBlock.js.map +1 -1
- package/lib-es/CommandStream.d.ts +1 -1
- package/lib-es/CommandStream.d.ts.map +1 -1
- package/lib-es/CommandStream.js +5 -7
- package/lib-es/CommandStream.js.map +1 -1
- package/lib-es/Crypto.d.ts +11 -11
- package/lib-es/Crypto.d.ts.map +1 -1
- package/lib-es/Device.d.ts +1 -1
- package/lib-es/Device.d.ts.map +1 -1
- package/lib-es/Device.js +28 -36
- package/lib-es/Device.js.map +1 -1
- package/lib-es/NobleCrypto.d.ts +13 -15
- package/lib-es/NobleCrypto.d.ts.map +1 -1
- package/lib-es/NobleCrypto.js +90 -148
- package/lib-es/NobleCrypto.js.map +1 -1
- package/lib-es/StreamTreeCipher.d.ts.map +1 -1
- package/lib-es/StreamTreeCipher.js +32 -36
- package/lib-es/StreamTreeCipher.js.map +1 -1
- package/lib-es/__tests__/codec.js +33 -33
- package/lib-es/__tests__/codec.js.map +1 -1
- package/package.json +2 -2
- package/src/ApduDevice.ts +10 -14
- package/src/CommandBlock.ts +11 -14
- package/src/CommandStream.ts +6 -8
- package/src/Crypto.ts +11 -11
- package/src/Device.ts +26 -34
- package/src/NobleCrypto.ts +20 -59
- package/src/StreamTreeCipher.ts +15 -15
- package/src/__tests__/codec.ts +32 -32
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandBlock.js","sourceRoot":"","sources":["../src/CommandBlock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CommandBlock.js","sourceRoot":"","sources":["../src/CommandBlock.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ export default class CommandStream {
|
|
|
27
27
|
private _blocks;
|
|
28
28
|
constructor(blocks?: CommandBlock[]);
|
|
29
29
|
resolve(incomplete?: boolean): Promise<ResolvedCommandStream>;
|
|
30
|
-
getRootHash():
|
|
30
|
+
getRootHash(): Uint8Array;
|
|
31
31
|
getStreamPath(): string | null;
|
|
32
32
|
push(block: CommandBlock, issuer: Device, tree: StreamTree | null): Promise<CommandStream>;
|
|
33
33
|
issue(device: Device, commands: Command[], tree?: StreamTree | null, parentHash?: Uint8Array | null): Promise<CommandStream>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandStream.d.ts","sourceRoot":"","sources":["../src/CommandStream.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,OAAO,EASR,MAAM,gBAAgB,CAAC;AACxB,OAA8B,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEvF,OAAO,EAAE,MAAM,EAAsB,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,aAAa,EACzB,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,KAC3B,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AAExB;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,EAAE,aAAa;IAI1B,IAAI,CAAC,KAAK,GAAE,UAAU,GAAG,IAAW,GAAG,mBAAmB;IAe1D,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,mBAAmB;IAgB3C,SAAS,CACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,UAAU,EACrB,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,OAAc,GACzB,mBAAmB;IAsBf,UAAU,CAAC,SAAS,EAAE,UAAU,GAAG,mBAAmB;IAetD,KAAK,IAAI,mBAAmB;IAetB,KAAK,CAChB,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,EAC9B,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,GAC7B,OAAO,CAAC,aAAa,CAAC;CAqB1B;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,OAAO,CAAC,OAAO,CAAsB;gBAEzB,MAAM,GAAE,YAAY,EAAO;IAIhC,OAAO,CAAC,UAAU,GAAE,OAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAKpE,WAAW,IAAI,
|
|
1
|
+
{"version":3,"file":"CommandStream.d.ts","sourceRoot":"","sources":["../src/CommandStream.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,OAAO,EASR,MAAM,gBAAgB,CAAC;AACxB,OAA8B,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEvF,OAAO,EAAE,MAAM,EAAsB,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,aAAa,EACzB,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,KAC3B,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AAExB;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,EAAE,aAAa;IAI1B,IAAI,CAAC,KAAK,GAAE,UAAU,GAAG,IAAW,GAAG,mBAAmB;IAe1D,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,mBAAmB;IAgB3C,SAAS,CACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,UAAU,EACrB,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,OAAc,GACzB,mBAAmB;IAsBf,UAAU,CAAC,SAAS,EAAE,UAAU,GAAG,mBAAmB;IAetD,KAAK,IAAI,mBAAmB;IAetB,KAAK,CAChB,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,EAC9B,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,GAC7B,OAAO,CAAC,aAAa,CAAC;CAqB1B;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,OAAO,CAAC,OAAO,CAAsB;gBAEzB,MAAM,GAAE,YAAY,EAAO;IAIhC,OAAO,CAAC,UAAU,GAAE,OAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAKpE,WAAW,IAAI,UAAU;IAIzB,aAAa,IAAI,MAAM,GAAG,IAAI;IAWxB,IAAI,CACf,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,GAAG,IAAI,GACtB,OAAO,CAAC,aAAa,CAAC;IAkCZ,KAAK,CAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,OAAO,EAAE,EACnB,IAAI,GAAE,UAAU,GAAG,IAAW,EAC9B,UAAU,GAAE,UAAU,GAAG,IAAW,GACnC,OAAO,CAAC,aAAa,CAAC;IAYlB,IAAI,IAAI,mBAAmB;IAIrB,kBAAkB,IAAI,OAAO,CAAC,UAAU,CAAC;IAatD,IAAI,MAAM,IAAI,YAAY,EAAE,CAE3B;CACF"}
|
package/lib-es/CommandStream.js
CHANGED
|
@@ -82,9 +82,9 @@ export class CommandStreamIssuer {
|
|
|
82
82
|
issue(device, streamTree, parentHash) {
|
|
83
83
|
return __awaiter(this, void 0, void 0, function* () {
|
|
84
84
|
const lastBlockHash = this._stream.blocks.length > 0
|
|
85
|
-
?
|
|
85
|
+
? hashCommandBlock(this._stream.blocks[this._stream.blocks.length - 1])
|
|
86
86
|
: null;
|
|
87
|
-
const block =
|
|
87
|
+
const block = createCommandBlock(ISSUER_PLACEHOLDER, [], new Uint8Array(), parentHash || lastBlockHash);
|
|
88
88
|
const stream = new CommandStream(this._stream.blocks.concat([]));
|
|
89
89
|
const tempStream = new CommandStream(this._stream.blocks.concat([block]));
|
|
90
90
|
let commands = [];
|
|
@@ -146,7 +146,7 @@ export default class CommandStream {
|
|
|
146
146
|
if (block.commands[0].getType() === CommandType.Derive) {
|
|
147
147
|
// Set the parent hash of the block to the root hash
|
|
148
148
|
const b = Object.assign({}, block);
|
|
149
|
-
b.parent =
|
|
149
|
+
b.parent = hashCommandBlock(stream[0]);
|
|
150
150
|
stream = stream.concat([b]);
|
|
151
151
|
}
|
|
152
152
|
else {
|
|
@@ -158,10 +158,8 @@ export default class CommandStream {
|
|
|
158
158
|
}
|
|
159
159
|
issue(device_1, commands_1) {
|
|
160
160
|
return __awaiter(this, arguments, void 0, function* (device, commands, tree = null, parentHash = null) {
|
|
161
|
-
const lastBlockHash = this._blocks.length > 0
|
|
162
|
-
|
|
163
|
-
: null;
|
|
164
|
-
const block = yield createCommandBlock(ISSUER_PLACEHOLDER, commands, new Uint8Array(), parentHash || lastBlockHash);
|
|
161
|
+
const lastBlockHash = this._blocks.length > 0 ? hashCommandBlock(this._blocks[this._blocks.length - 1]) : null;
|
|
162
|
+
const block = createCommandBlock(ISSUER_PLACEHOLDER, commands, new Uint8Array(), parentHash || lastBlockHash);
|
|
165
163
|
return this.push(block, device, tree);
|
|
166
164
|
});
|
|
167
165
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandStream.js","sourceRoot":"","sources":["../src/CommandStream.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CommandStream.js","sourceRoot":"","sources":["../src/CommandStream.ts"],"names":[],"mappings":"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"}
|
package/lib-es/Crypto.d.ts
CHANGED
|
@@ -10,19 +10,19 @@ export interface KeyPairWithChainCode extends KeyPair {
|
|
|
10
10
|
*
|
|
11
11
|
*/
|
|
12
12
|
export interface Crypto {
|
|
13
|
-
randomKeypair():
|
|
14
|
-
keypairFromSecretKey(secretKey: Uint8Array):
|
|
15
|
-
sign(message: Uint8Array, keyPair: KeyPair):
|
|
16
|
-
verify(message: Uint8Array, signature: Uint8Array, publicKey: Uint8Array):
|
|
17
|
-
encrypt(secret: Uint8Array, nonce: Uint8Array, message: Uint8Array):
|
|
18
|
-
decrypt(secret: Uint8Array, nonce: Uint8Array, ciphertext: Uint8Array):
|
|
19
|
-
randomBytes(size: number):
|
|
20
|
-
ecdh(keyPair: KeyPair, publicKey: Uint8Array):
|
|
21
|
-
hash(message: Uint8Array):
|
|
22
|
-
computeSymmetricKey(privateKey: Uint8Array, extra: Uint8Array):
|
|
13
|
+
randomKeypair(): KeyPair;
|
|
14
|
+
keypairFromSecretKey(secretKey: Uint8Array): KeyPair;
|
|
15
|
+
sign(message: Uint8Array, keyPair: KeyPair): Uint8Array;
|
|
16
|
+
verify(message: Uint8Array, signature: Uint8Array, publicKey: Uint8Array): boolean;
|
|
17
|
+
encrypt(secret: Uint8Array, nonce: Uint8Array, message: Uint8Array): Uint8Array;
|
|
18
|
+
decrypt(secret: Uint8Array, nonce: Uint8Array, ciphertext: Uint8Array): Uint8Array;
|
|
19
|
+
randomBytes(size: number): Uint8Array;
|
|
20
|
+
ecdh(keyPair: KeyPair, publicKey: Uint8Array): Uint8Array;
|
|
21
|
+
hash(message: Uint8Array): Uint8Array;
|
|
22
|
+
computeSymmetricKey(privateKey: Uint8Array, extra: Uint8Array): Uint8Array;
|
|
23
23
|
from_hex(hex: string): Uint8Array;
|
|
24
24
|
to_hex(bytes?: Uint8Array): string;
|
|
25
|
-
derivePrivate(xpriv: Uint8Array, path: number[]):
|
|
25
|
+
derivePrivate(xpriv: Uint8Array, path: number[]): KeyPairWithChainCode;
|
|
26
26
|
}
|
|
27
27
|
export declare class DerivationPath {
|
|
28
28
|
private constructor();
|
package/lib-es/Crypto.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Crypto.d.ts","sourceRoot":"","sources":["../src/Crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,UAAU,CAAC;IACtB,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,oBAAqB,SAAQ,OAAO;IACnD,SAAS,EAAE,UAAU,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,aAAa,IAAI,OAAO,CAAC
|
|
1
|
+
{"version":3,"file":"Crypto.d.ts","sourceRoot":"","sources":["../src/Crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,UAAU,CAAC;IACtB,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,oBAAqB,SAAQ,OAAO;IACnD,SAAS,EAAE,UAAU,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,aAAa,IAAI,OAAO,CAAC;IACzB,oBAAoB,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC;IACrD,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC;IACxD,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC;IACnF,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,UAAU,CAAC;IAChF,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC;IACnF,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IACtC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,GAAG,UAAU,CAAC;IAC1D,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,CAAC;IACtC,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,UAAU,CAAC;IAC3E,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;IAClC,MAAM,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACnC,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAAC;CACxE;AAED,qBAAa,cAAc;IACzB,OAAO;IAEP,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI3C,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIlD,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE;IAetD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM;CAgBjD;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,sBAA6B,CAAC"}
|
package/lib-es/Device.d.ts
CHANGED
|
@@ -38,6 +38,6 @@ export declare class SoftwareDevice implements Device {
|
|
|
38
38
|
/**
|
|
39
39
|
*
|
|
40
40
|
*/
|
|
41
|
-
export declare function createDevice():
|
|
41
|
+
export declare function createDevice(): Device;
|
|
42
42
|
export declare const ISSUER_PLACEHOLDER: Uint8Array;
|
|
43
43
|
//# sourceMappingURL=Device.d.ts.map
|
package/lib-es/Device.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../src/Device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,YAAY,EAMb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAA0B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,MAAM;IAErB,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IAEnC;;;;;OAKG;IACH,oBAAoB,IAAI,OAAO,CAAC;IAGhC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEvE;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAChE;AAcD,qBAAa,cAAe,YAAW,MAAM;IAC3C,OAAO,CAAC,OAAO,CAAU;gBAEb,EAAE,EAAE,OAAO;IAIjB,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../src/Device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,YAAY,EAMb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAA0B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,MAAM;IAErB,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IAEnC;;;;;OAKG;IACH,oBAAoB,IAAI,OAAO,CAAC;IAGhC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEvE;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAChE;AAcD,qBAAa,cAAe,YAAW,MAAM;IAC3C,OAAO,CAAC,OAAO,CAAU;gBAEb,EAAE,EAAE,OAAO;IAIjB,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAIxC,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,gBAAgB;YAUV,SAAS;IAmBjB,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IA2FtE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IA4BpE,oBAAoB,IAAI,OAAO;CAGhC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAGrC;AAED,eAAO,MAAM,kBAAkB,YAE7B,CAAC"}
|
package/lib-es/Device.js
CHANGED
|
@@ -21,32 +21,26 @@ export class SoftwareDevice {
|
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
23
|
generateSharedKey() {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return { xpriv, publicKey: pk.publicKey };
|
|
28
|
-
});
|
|
24
|
+
const xpriv = crypto.randomBytes(64);
|
|
25
|
+
const pk = crypto.derivePrivate(xpriv, []);
|
|
26
|
+
return { xpriv, publicKey: pk.publicKey };
|
|
29
27
|
}
|
|
30
28
|
encryptSharedKey(sharedKey, recipient) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
};
|
|
42
|
-
});
|
|
29
|
+
const kp = crypto.randomKeypair();
|
|
30
|
+
const ecdh = crypto.ecdh(kp, recipient);
|
|
31
|
+
const initializationVector = crypto.randomBytes(16);
|
|
32
|
+
const encryptedXpriv = crypto.encrypt(ecdh, initializationVector, sharedKey.xpriv);
|
|
33
|
+
return {
|
|
34
|
+
encryptedXpriv,
|
|
35
|
+
publicKey: sharedKey.publicKey,
|
|
36
|
+
ephemeralPublicKey: kp.publicKey,
|
|
37
|
+
initializationVector,
|
|
38
|
+
};
|
|
43
39
|
}
|
|
44
40
|
decryptSharedKey(encryptedSharedKey) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return { xpriv, publicKey: encryptedSharedKey.publicKey };
|
|
49
|
-
});
|
|
41
|
+
const ecdh = crypto.ecdh(this.keyPair, encryptedSharedKey.ephemeralPublicKey);
|
|
42
|
+
const xpriv = crypto.decrypt(ecdh, encryptedSharedKey.initializationVector, encryptedSharedKey.encryptedXpriv);
|
|
43
|
+
return { xpriv, publicKey: encryptedSharedKey.publicKey };
|
|
50
44
|
}
|
|
51
45
|
deriveKey(tree, path) {
|
|
52
46
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -60,8 +54,8 @@ export class SoftwareDevice {
|
|
|
60
54
|
ephemeralPublicKey: event.ephemeralPublicKey,
|
|
61
55
|
initializationVector: event.nonce,
|
|
62
56
|
};
|
|
63
|
-
const sharedKey =
|
|
64
|
-
const newKey =
|
|
57
|
+
const sharedKey = this.decryptSharedKey(encryptedSharedKey);
|
|
58
|
+
const newKey = crypto.derivePrivate(sharedKey.xpriv, path);
|
|
65
59
|
const xpriv = new Uint8Array(64);
|
|
66
60
|
xpriv.set(newKey.privateKey);
|
|
67
61
|
xpriv.set(newKey.chainCode, 32);
|
|
@@ -88,9 +82,9 @@ export class SoftwareDevice {
|
|
|
88
82
|
switch (command.getType()) {
|
|
89
83
|
case CommandType.Seed: {
|
|
90
84
|
// Generate the shared key
|
|
91
|
-
sharedKey =
|
|
85
|
+
sharedKey = this.generateSharedKey();
|
|
92
86
|
// Encrypt the shared key and inject it in the command
|
|
93
|
-
const encryptedSharedKey =
|
|
87
|
+
const encryptedSharedKey = this.encryptSharedKey(sharedKey, this.keyPair.publicKey);
|
|
94
88
|
command.groupKey = sharedKey.publicKey;
|
|
95
89
|
command.encryptedXpriv = encryptedSharedKey.encryptedXpriv;
|
|
96
90
|
command.ephemeralPublicKey = encryptedSharedKey.ephemeralPublicKey;
|
|
@@ -104,7 +98,7 @@ export class SoftwareDevice {
|
|
|
104
98
|
}
|
|
105
99
|
sharedKey = yield this.deriveKey(tree, command.path);
|
|
106
100
|
// Encrypt the shared key and inject it in the command
|
|
107
|
-
const encryptedDerivedKey =
|
|
101
|
+
const encryptedDerivedKey = this.encryptSharedKey(sharedKey, this.keyPair.publicKey);
|
|
108
102
|
command.groupKey = sharedKey.publicKey;
|
|
109
103
|
command.encryptedXpriv = encryptedDerivedKey.encryptedXpriv;
|
|
110
104
|
command.initializationVector = encryptedDerivedKey.initializationVector;
|
|
@@ -117,7 +111,7 @@ export class SoftwareDevice {
|
|
|
117
111
|
// If the current stream is the seed stream, read the key from the first command in the first block
|
|
118
112
|
const encryptedKey = resolved.getEncryptedKey(this.keyPair.publicKey);
|
|
119
113
|
if (encryptedKey) {
|
|
120
|
-
sharedKey =
|
|
114
|
+
sharedKey = this.decryptSharedKey({
|
|
121
115
|
encryptedXpriv: encryptedKey.encryptedXpriv,
|
|
122
116
|
initializationVector: encryptedKey.initialiationVector,
|
|
123
117
|
publicKey: encryptedKey.issuer,
|
|
@@ -136,7 +130,7 @@ export class SoftwareDevice {
|
|
|
136
130
|
if (!sharedKey)
|
|
137
131
|
throw new Error("Cannot find the shared key");
|
|
138
132
|
}
|
|
139
|
-
const encryptedSharedKey =
|
|
133
|
+
const encryptedSharedKey = this.encryptSharedKey(sharedKey, command.recipient);
|
|
140
134
|
command.encryptedXpriv = encryptedSharedKey.encryptedXpriv;
|
|
141
135
|
command.initializationVector = encryptedSharedKey.initializationVector;
|
|
142
136
|
command.ephemeralPublicKey = encryptedSharedKey.ephemeralPublicKey;
|
|
@@ -144,7 +138,7 @@ export class SoftwareDevice {
|
|
|
144
138
|
}
|
|
145
139
|
}
|
|
146
140
|
}
|
|
147
|
-
const signature =
|
|
141
|
+
const signature = signCommandBlock(lastBlock, (yield this.getPublicKey()).publicKey, this.keyPair.privateKey).signature;
|
|
148
142
|
lastBlock.signature = signature;
|
|
149
143
|
return lastBlock;
|
|
150
144
|
});
|
|
@@ -161,11 +155,11 @@ export class SoftwareDevice {
|
|
|
161
155
|
publicKey: event.groupPublicKey,
|
|
162
156
|
ephemeralPublicKey: event.ephemeralPublicKey,
|
|
163
157
|
};
|
|
164
|
-
const sharedKey =
|
|
158
|
+
const sharedKey = this.decryptSharedKey(encryptedSharedKey);
|
|
165
159
|
// Derive the key to match the path
|
|
166
160
|
let index = DerivationPath.toIndexArray(event.stream.getStreamPath()).length;
|
|
167
161
|
while (index < path.length) {
|
|
168
|
-
const derivation =
|
|
162
|
+
const derivation = crypto.derivePrivate(sharedKey.xpriv, [index]);
|
|
169
163
|
const xpriv = new Uint8Array(64);
|
|
170
164
|
xpriv.set(derivation.privateKey);
|
|
171
165
|
xpriv.set(derivation.chainCode, 32);
|
|
@@ -184,10 +178,8 @@ export class SoftwareDevice {
|
|
|
184
178
|
*
|
|
185
179
|
*/
|
|
186
180
|
export function createDevice() {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
return new SoftwareDevice(kp);
|
|
190
|
-
});
|
|
181
|
+
const kp = crypto.randomKeypair();
|
|
182
|
+
return new SoftwareDevice(kp);
|
|
191
183
|
}
|
|
192
184
|
export const ISSUER_PLACEHOLDER = new Uint8Array([
|
|
193
185
|
3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
package/lib-es/Device.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Device.js","sourceRoot":"","sources":["../src/Device.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAEL,WAAW,EACX,gBAAgB,GAIjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,cAAc,EAAW,MAAM,UAAU,CAAC;AA0C3D,MAAM,OAAO,cAAc;IAGzB,YAAY,EAAW;QACrB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAEK,YAAY;;YAChB,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;KAAA;
|
|
1
|
+
{"version":3,"file":"Device.js","sourceRoot":"","sources":["../src/Device.ts"],"names":[],"mappings":"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"}
|
package/lib-es/NobleCrypto.d.ts
CHANGED
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
import { Crypto, KeyPair, KeyPairWithChainCode } from "./Crypto";
|
|
2
2
|
export declare class NobleCryptoSecp256k1 implements Crypto {
|
|
3
|
-
randomKeypair():
|
|
4
|
-
derivePrivate(xpriv: Uint8Array, path: number[]):
|
|
5
|
-
keypairFromSecretKey(secretKey: Uint8Array):
|
|
3
|
+
randomKeypair(): KeyPair;
|
|
4
|
+
derivePrivate(xpriv: Uint8Array, path: number[]): KeyPairWithChainCode;
|
|
5
|
+
keypairFromSecretKey(secretKey: Uint8Array): KeyPair;
|
|
6
6
|
private derEncode;
|
|
7
7
|
private derDecode;
|
|
8
|
-
sign(message: Uint8Array, keyPair: KeyPair):
|
|
9
|
-
verify(message: Uint8Array, signature: Uint8Array, publicKey: Uint8Array):
|
|
8
|
+
sign(message: Uint8Array, keyPair: KeyPair): Uint8Array;
|
|
9
|
+
verify(message: Uint8Array, signature: Uint8Array, publicKey: Uint8Array): boolean;
|
|
10
10
|
private to_array;
|
|
11
11
|
private normalizeKey;
|
|
12
12
|
private normalizeNonce;
|
|
13
13
|
private concat;
|
|
14
14
|
private enforceLength;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
encrypt(secret: Uint8Array, nonce: Uint8Array, message: Uint8Array): Promise<Uint8Array>;
|
|
18
|
-
decrypt(secret: Uint8Array, nonce: Uint8Array, ciphertext: Uint8Array): Promise<Uint8Array>;
|
|
15
|
+
encrypt(secret: Uint8Array, nonce: Uint8Array, message: Uint8Array): Uint8Array;
|
|
16
|
+
decrypt(secret: Uint8Array, nonce: Uint8Array, ciphertext: Uint8Array): Uint8Array;
|
|
19
17
|
/**
|
|
20
18
|
* Ledger Live data are encrypted following pattern based on ECIES.
|
|
21
19
|
* For each encryption the Ledger Live instance generates a random keypair over secp256k1 (ephemeral public key)
|
|
@@ -28,12 +26,12 @@ export declare class NobleCryptoSecp256k1 implements Crypto {
|
|
|
28
26
|
16 bytes : Tag/MAC (from AES-256-GCM)
|
|
29
27
|
variable : Encrypted data
|
|
30
28
|
*/
|
|
31
|
-
encryptUserData(commandStreamPrivateKey: Uint8Array, data: Uint8Array):
|
|
32
|
-
decryptUserData(commandStreamPrivateKey: Uint8Array, data: Uint8Array):
|
|
33
|
-
randomBytes(size: number):
|
|
34
|
-
ecdh(keyPair: KeyPair, publicKey: Uint8Array):
|
|
35
|
-
computeSymmetricKey(privateKey: Uint8Array, extra: Uint8Array):
|
|
36
|
-
hash(message: Uint8Array):
|
|
29
|
+
encryptUserData(commandStreamPrivateKey: Uint8Array, data: Uint8Array): Uint8Array;
|
|
30
|
+
decryptUserData(commandStreamPrivateKey: Uint8Array, data: Uint8Array): Uint8Array;
|
|
31
|
+
randomBytes(size: number): Uint8Array;
|
|
32
|
+
ecdh(keyPair: KeyPair, publicKey: Uint8Array): Uint8Array;
|
|
33
|
+
computeSymmetricKey(privateKey: Uint8Array, extra: Uint8Array): any;
|
|
34
|
+
hash(message: Uint8Array): Uint8Array;
|
|
37
35
|
from_hex(hex: string): Uint8Array;
|
|
38
36
|
to_hex(bytes?: Uint8Array | undefined | null): string;
|
|
39
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NobleCrypto.d.ts","sourceRoot":"","sources":["../src/NobleCrypto.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAMjE,qBAAa,oBAAqB,YAAW,MAAM;
|
|
1
|
+
{"version":3,"file":"NobleCrypto.d.ts","sourceRoot":"","sources":["../src/NobleCrypto.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAMjE,qBAAa,oBAAqB,YAAW,MAAM;IACjD,aAAa,IAAI,OAAO;IAQxB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,oBAAoB;IActE,oBAAoB,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO;IAOpD,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,SAAS;IAYjB,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU;IAMvD,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO;IAMlF,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,UAAU;IAW/E,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,UAAU;IAYlF;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,uBAAuB,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU;IAmClF,eAAe,CAAC,uBAAuB,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU;IA2BlF,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;IAIrC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,GAAG,UAAU;IAOzD,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU;IAK7D,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU;IAIrC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IAQjC,MAAM,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM;CAGtD;AAED,wBAAgB,MAAM,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAKpE"}
|