@ledgerhq/hw-bolos 6.31.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +4 -0
- package/LICENSE.txt +21 -0
- package/README.md +25 -0
- package/jest.config.ts +7 -0
- package/jest.integ.config.ts +8 -0
- package/lib/PKIError.d.ts +54 -0
- package/lib/PKIError.d.ts.map +1 -0
- package/lib/PKIError.js +164 -0
- package/lib/PKIError.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +9 -0
- package/lib/index.js.map +1 -0
- package/lib/loadPKI.d.ts +19 -0
- package/lib/loadPKI.d.ts.map +1 -0
- package/lib/loadPKI.integ.test.d.ts +2 -0
- package/lib/loadPKI.integ.test.d.ts.map +1 -0
- package/lib/loadPKI.integ.test.js +42 -0
- package/lib/loadPKI.integ.test.js.map +1 -0
- package/lib/loadPKI.js +48 -0
- package/lib/loadPKI.js.map +1 -0
- package/lib/loadPKI.test.d.ts +2 -0
- package/lib/loadPKI.test.d.ts.map +1 -0
- package/lib/loadPKI.test.js +37 -0
- package/lib/loadPKI.test.js.map +1 -0
- package/lib-es/PKIError.d.ts +54 -0
- package/lib-es/PKIError.d.ts.map +1 -0
- package/lib-es/PKIError.js +143 -0
- package/lib-es/PKIError.js.map +1 -0
- package/lib-es/index.d.ts +2 -0
- package/lib-es/index.d.ts.map +1 -0
- package/lib-es/index.js +2 -0
- package/lib-es/index.js.map +1 -0
- package/lib-es/loadPKI.d.ts +19 -0
- package/lib-es/loadPKI.d.ts.map +1 -0
- package/lib-es/loadPKI.integ.test.d.ts +2 -0
- package/lib-es/loadPKI.integ.test.d.ts.map +1 -0
- package/lib-es/loadPKI.integ.test.js +37 -0
- package/lib-es/loadPKI.integ.test.js.map +1 -0
- package/lib-es/loadPKI.js +46 -0
- package/lib-es/loadPKI.js.map +1 -0
- package/lib-es/loadPKI.test.d.ts +2 -0
- package/lib-es/loadPKI.test.d.ts.map +1 -0
- package/lib-es/loadPKI.test.js +32 -0
- package/lib-es/loadPKI.test.js.map +1 -0
- package/package.json +53 -0
- package/src/PKIError.ts +144 -0
- package/src/index.ts +1 -0
- package/src/loadPKI.integ.test.ts +40 -0
- package/src/loadPKI.test.ts +26 -0
- package/src/loadPKI.ts +54 -0
- package/tsconfig.json +7 -0
package/LICENSE.txt
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2017-present Ledger https://www.ledger.com/
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
## hw-bolos
|
|
2
|
+
|
|
3
|
+
A list of commands (APDUs) to send directly to the OS of Ledger devices (a.k.a. BOLOS).
|
|
4
|
+
|
|
5
|
+
## API
|
|
6
|
+
|
|
7
|
+
<!-- Generated by documentation.js. Update this documentation by updating the source code. -->
|
|
8
|
+
|
|
9
|
+
#### Table of Contents
|
|
10
|
+
|
|
11
|
+
* [loadPKI](#loadpki)
|
|
12
|
+
* [Parameters](#parameters)
|
|
13
|
+
|
|
14
|
+
### loadPKI
|
|
15
|
+
|
|
16
|
+
Load certificate
|
|
17
|
+
|
|
18
|
+
#### Parameters
|
|
19
|
+
|
|
20
|
+
* `transport` **Transport** 
|
|
21
|
+
* `key` **any** 
|
|
22
|
+
* `descriptor` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 
|
|
23
|
+
* `signature` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 
|
|
24
|
+
|
|
25
|
+
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<void>** 
|
package/jest.config.ts
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export declare const errorCodeValue: number[];
|
|
2
|
+
export declare function throwError(code: number): void;
|
|
3
|
+
export declare class PKIError extends Error {
|
|
4
|
+
constructor(cause: string);
|
|
5
|
+
}
|
|
6
|
+
export declare class PKIStructError extends PKIError {
|
|
7
|
+
constructor();
|
|
8
|
+
}
|
|
9
|
+
export declare class PKICertificateVersionError extends PKIError {
|
|
10
|
+
constructor();
|
|
11
|
+
}
|
|
12
|
+
export declare class PKICertificateValidityError extends PKIError {
|
|
13
|
+
constructor();
|
|
14
|
+
}
|
|
15
|
+
export declare class PKICertificateIndexError extends PKIError {
|
|
16
|
+
constructor();
|
|
17
|
+
}
|
|
18
|
+
export declare class PKIUnknownSignerIdError extends PKIError {
|
|
19
|
+
constructor();
|
|
20
|
+
}
|
|
21
|
+
export declare class PKIUnknownSignerAlgorithmError extends PKIError {
|
|
22
|
+
constructor();
|
|
23
|
+
}
|
|
24
|
+
export declare class PKIUnknownPublicIdError extends PKIError {
|
|
25
|
+
constructor();
|
|
26
|
+
}
|
|
27
|
+
export declare class PKIUnknownPublicUsageError extends PKIError {
|
|
28
|
+
constructor();
|
|
29
|
+
}
|
|
30
|
+
export declare class PKIIncorrectCurveError extends PKIError {
|
|
31
|
+
constructor();
|
|
32
|
+
}
|
|
33
|
+
export declare class PKIIncorrectSignatureError extends PKIError {
|
|
34
|
+
constructor();
|
|
35
|
+
}
|
|
36
|
+
export declare class PKIUnknownDeviceError extends PKIError {
|
|
37
|
+
constructor();
|
|
38
|
+
}
|
|
39
|
+
export declare class PKIUnknownCertificateTagError extends PKIError {
|
|
40
|
+
constructor();
|
|
41
|
+
}
|
|
42
|
+
export declare class PKIFailedHashError extends PKIError {
|
|
43
|
+
constructor();
|
|
44
|
+
}
|
|
45
|
+
export declare class PKIMismatchKeyError extends PKIError {
|
|
46
|
+
constructor();
|
|
47
|
+
}
|
|
48
|
+
export declare class PKIFailedVerificationError extends PKIError {
|
|
49
|
+
constructor();
|
|
50
|
+
}
|
|
51
|
+
export declare class PKITrustedNameTooSmallError extends PKIError {
|
|
52
|
+
constructor();
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=PKIError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PKIError.d.ts","sourceRoot":"","sources":["../src/PKIError.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,cAAc,UAA+C,CAAC;AAE3E,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,QAqCtC;AAED,qBAAa,QAAS,SAAQ,KAAK;gBACrB,KAAK,EAAE,MAAM;CAG1B;AACD,qBAAa,cAAe,SAAQ,QAAQ;;CAI3C;AACD,qBAAa,0BAA2B,SAAQ,QAAQ;;CAIvD;AACD,qBAAa,2BAA4B,SAAQ,QAAQ;;CAIxD;AACD,qBAAa,wBAAyB,SAAQ,QAAQ;;CAIrD;AACD,qBAAa,uBAAwB,SAAQ,QAAQ;;CAIpD;AACD,qBAAa,8BAA+B,SAAQ,QAAQ;;CAI3D;AACD,qBAAa,uBAAwB,SAAQ,QAAQ;;CAIpD;AACD,qBAAa,0BAA2B,SAAQ,QAAQ;;CAIvD;AACD,qBAAa,sBAAuB,SAAQ,QAAQ;;CAInD;AACD,qBAAa,0BAA2B,SAAQ,QAAQ;;CAIvD;AACD,qBAAa,qBAAsB,SAAQ,QAAQ;;CAIlD;AACD,qBAAa,6BAA8B,SAAQ,QAAQ;;CAI1D;AACD,qBAAa,kBAAmB,SAAQ,QAAQ;;CAI/C;AACD,qBAAa,mBAAoB,SAAQ,QAAQ;;CAIhD;AACD,qBAAa,0BAA2B,SAAQ,QAAQ;;CAIvD;AACD,qBAAa,2BAA4B,SAAQ,QAAQ;;CAIxD"}
|
package/lib/PKIError.js
ADDED
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PKITrustedNameTooSmallError = exports.PKIFailedVerificationError = exports.PKIMismatchKeyError = exports.PKIFailedHashError = exports.PKIUnknownCertificateTagError = exports.PKIUnknownDeviceError = exports.PKIIncorrectSignatureError = exports.PKIIncorrectCurveError = exports.PKIUnknownPublicUsageError = exports.PKIUnknownPublicIdError = exports.PKIUnknownSignerAlgorithmError = exports.PKIUnknownSignerIdError = exports.PKICertificateIndexError = exports.PKICertificateValidityError = exports.PKICertificateVersionError = exports.PKIStructError = exports.PKIError = exports.throwError = exports.errorCodeValue = void 0;
|
|
4
|
+
const ErrorCode = {
|
|
5
|
+
0x422f: "Incorrect structure type",
|
|
6
|
+
0x4230: "Incorrect certificate version",
|
|
7
|
+
0x4231: "Incorrect certificate validity",
|
|
8
|
+
0x4232: "Incorrect certificate validity index",
|
|
9
|
+
0x4233: "Unknown signer key ID",
|
|
10
|
+
0x4234: "Unknown signature algorithm",
|
|
11
|
+
0x4235: "Unknown public key ID",
|
|
12
|
+
0x4236: "Unknown public key usage",
|
|
13
|
+
0x4237: "Incorrect elliptic curve ID",
|
|
14
|
+
0x4238: "Incorrect signature algorithm associated to the public key",
|
|
15
|
+
0x4239: "Unknown target device",
|
|
16
|
+
0x422d: "Unknown certificate tag",
|
|
17
|
+
0x3301: "Failed to hash data",
|
|
18
|
+
0x422e: "expected_key_usage doesn't match certificate key usage",
|
|
19
|
+
0x5720: "Failed to verify signature",
|
|
20
|
+
0x4118: "trusted_name buffer is too small to contain the trusted name",
|
|
21
|
+
};
|
|
22
|
+
exports.errorCodeValue = Object.keys(ErrorCode).map(v => parseInt(v));
|
|
23
|
+
function throwError(code) {
|
|
24
|
+
switch (code) {
|
|
25
|
+
case 0x422f:
|
|
26
|
+
throw new PKIStructError();
|
|
27
|
+
case 0x4230:
|
|
28
|
+
throw new PKICertificateVersionError();
|
|
29
|
+
case 0x4231:
|
|
30
|
+
throw new PKICertificateValidityError();
|
|
31
|
+
case 0x4232:
|
|
32
|
+
throw new PKICertificateIndexError();
|
|
33
|
+
case 0x4233:
|
|
34
|
+
throw new PKIUnknownSignerIdError();
|
|
35
|
+
case 0x4234:
|
|
36
|
+
throw new PKIUnknownSignerAlgorithmError();
|
|
37
|
+
case 0x4235:
|
|
38
|
+
throw new PKIUnknownPublicIdError();
|
|
39
|
+
case 0x4236:
|
|
40
|
+
throw new PKIUnknownPublicUsageError();
|
|
41
|
+
case 0x4237:
|
|
42
|
+
throw new PKIIncorrectCurveError();
|
|
43
|
+
case 0x4238:
|
|
44
|
+
throw new PKIIncorrectSignatureError();
|
|
45
|
+
case 0x4239:
|
|
46
|
+
throw new PKIUnknownDeviceError();
|
|
47
|
+
case 0x422d:
|
|
48
|
+
throw new PKIUnknownCertificateTagError();
|
|
49
|
+
case 0x3301:
|
|
50
|
+
throw new PKIFailedHashError();
|
|
51
|
+
case 0x422e:
|
|
52
|
+
throw new PKIMismatchKeyError();
|
|
53
|
+
case 0x5720:
|
|
54
|
+
throw new PKIFailedVerificationError();
|
|
55
|
+
case 0x4118:
|
|
56
|
+
throw new PKITrustedNameTooSmallError();
|
|
57
|
+
default:
|
|
58
|
+
throw new PKIError("Unknown");
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.throwError = throwError;
|
|
62
|
+
class PKIError extends Error {
|
|
63
|
+
constructor(cause) {
|
|
64
|
+
super("PKIError due to " + cause);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.PKIError = PKIError;
|
|
68
|
+
class PKIStructError extends PKIError {
|
|
69
|
+
constructor() {
|
|
70
|
+
super(ErrorCode[0x422f]);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.PKIStructError = PKIStructError;
|
|
74
|
+
class PKICertificateVersionError extends PKIError {
|
|
75
|
+
constructor() {
|
|
76
|
+
super(ErrorCode[0x4230]);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.PKICertificateVersionError = PKICertificateVersionError;
|
|
80
|
+
class PKICertificateValidityError extends PKIError {
|
|
81
|
+
constructor() {
|
|
82
|
+
super(ErrorCode[0x4231]);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.PKICertificateValidityError = PKICertificateValidityError;
|
|
86
|
+
class PKICertificateIndexError extends PKIError {
|
|
87
|
+
constructor() {
|
|
88
|
+
super(ErrorCode[0x4232]);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.PKICertificateIndexError = PKICertificateIndexError;
|
|
92
|
+
class PKIUnknownSignerIdError extends PKIError {
|
|
93
|
+
constructor() {
|
|
94
|
+
super(ErrorCode[0x4233]);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
exports.PKIUnknownSignerIdError = PKIUnknownSignerIdError;
|
|
98
|
+
class PKIUnknownSignerAlgorithmError extends PKIError {
|
|
99
|
+
constructor() {
|
|
100
|
+
super(ErrorCode[0x4234]);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.PKIUnknownSignerAlgorithmError = PKIUnknownSignerAlgorithmError;
|
|
104
|
+
class PKIUnknownPublicIdError extends PKIError {
|
|
105
|
+
constructor() {
|
|
106
|
+
super(ErrorCode[0x4235]);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
exports.PKIUnknownPublicIdError = PKIUnknownPublicIdError;
|
|
110
|
+
class PKIUnknownPublicUsageError extends PKIError {
|
|
111
|
+
constructor() {
|
|
112
|
+
super(ErrorCode[0x4236]);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
exports.PKIUnknownPublicUsageError = PKIUnknownPublicUsageError;
|
|
116
|
+
class PKIIncorrectCurveError extends PKIError {
|
|
117
|
+
constructor() {
|
|
118
|
+
super(ErrorCode[0x4237]);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
exports.PKIIncorrectCurveError = PKIIncorrectCurveError;
|
|
122
|
+
class PKIIncorrectSignatureError extends PKIError {
|
|
123
|
+
constructor() {
|
|
124
|
+
super(ErrorCode[0x4238]);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
exports.PKIIncorrectSignatureError = PKIIncorrectSignatureError;
|
|
128
|
+
class PKIUnknownDeviceError extends PKIError {
|
|
129
|
+
constructor() {
|
|
130
|
+
super(ErrorCode[0x4239]);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.PKIUnknownDeviceError = PKIUnknownDeviceError;
|
|
134
|
+
class PKIUnknownCertificateTagError extends PKIError {
|
|
135
|
+
constructor() {
|
|
136
|
+
super(ErrorCode[0x422d]);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
exports.PKIUnknownCertificateTagError = PKIUnknownCertificateTagError;
|
|
140
|
+
class PKIFailedHashError extends PKIError {
|
|
141
|
+
constructor() {
|
|
142
|
+
super(ErrorCode[0x3301]);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
exports.PKIFailedHashError = PKIFailedHashError;
|
|
146
|
+
class PKIMismatchKeyError extends PKIError {
|
|
147
|
+
constructor() {
|
|
148
|
+
super(ErrorCode[0x422e]);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
exports.PKIMismatchKeyError = PKIMismatchKeyError;
|
|
152
|
+
class PKIFailedVerificationError extends PKIError {
|
|
153
|
+
constructor() {
|
|
154
|
+
super(ErrorCode[0x5720]);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
exports.PKIFailedVerificationError = PKIFailedVerificationError;
|
|
158
|
+
class PKITrustedNameTooSmallError extends PKIError {
|
|
159
|
+
constructor() {
|
|
160
|
+
super(ErrorCode[0x4118]);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
exports.PKITrustedNameTooSmallError = PKITrustedNameTooSmallError;
|
|
164
|
+
//# sourceMappingURL=PKIError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PKIError.js","sourceRoot":"","sources":["../src/PKIError.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.loadPKI = void 0;
|
|
7
|
+
var loadPKI_1 = require("./loadPKI");
|
|
8
|
+
Object.defineProperty(exports, "loadPKI", { enumerable: true, get: function () { return __importDefault(loadPKI_1).default; } });
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,qCAA+C;AAAtC,mHAAA,OAAO,OAAW"}
|
package/lib/loadPKI.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import Transport from "@ledgerhq/hw-transport";
|
|
2
|
+
declare const keyUsage: {
|
|
3
|
+
GENUINE_CHECK: number;
|
|
4
|
+
EXCHANGE_PAYLOAD: number;
|
|
5
|
+
NFT_METADATA: number;
|
|
6
|
+
TRUSTED_NAME: number;
|
|
7
|
+
BACKUP_PROVIDER: number;
|
|
8
|
+
RECOVER_ORCHESTRATOR: number;
|
|
9
|
+
PLUGIN_METADATA: number;
|
|
10
|
+
COIN_META: number;
|
|
11
|
+
SEED_ID_AUTH: number;
|
|
12
|
+
UNKNOWN: number;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Load certificate
|
|
16
|
+
*/
|
|
17
|
+
declare const _default: (transport: Transport, key: keyof typeof keyUsage, descriptor: string, signature: string) => Promise<void>;
|
|
18
|
+
export default _default;
|
|
19
|
+
//# sourceMappingURL=loadPKI.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadPKI.d.ts","sourceRoot":"","sources":["../src/loadPKI.ts"],"names":[],"mappings":"AAAA,OAAO,SAA0B,MAAM,wBAAwB,CAAC;AAUhE,QAAA,MAAM,QAAQ;;;;;;;;;;;CAWb,CAAC;AAEF;;GAEG;oCAEU,SAAS,OACf,MAAM,eAAe,cACd,MAAM,aACP,MAAM,KAChB,QAAQ,IAAI,CAAC;AALhB,wBA2BE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadPKI.integ.test.d.ts","sourceRoot":"","sources":["../src/loadPKI.integ.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const hw_transport_node_hid_singleton_1 = __importDefault(require("@ledgerhq/hw-transport-node-hid-singleton"));
|
|
16
|
+
const loadPKI_1 = __importDefault(require("./loadPKI"));
|
|
17
|
+
const PKIError_1 = require("./PKIError");
|
|
18
|
+
describe("loadPKI with real connected device", () => {
|
|
19
|
+
let transport;
|
|
20
|
+
beforeAll(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
21
|
+
transport = yield hw_transport_node_hid_singleton_1.default.open("");
|
|
22
|
+
}));
|
|
23
|
+
afterAll(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
24
|
+
yield transport.close();
|
|
25
|
+
}));
|
|
26
|
+
it.skip("returns an Ok", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
|
+
// Given
|
|
28
|
+
const descriptor = "0101010201023501043601021004010500001302000314010120086e66745f6d657461300200053101043201213401013321035e6c1020c14dc46442fe89f97c0b68cdb15976dc24f24c316e7b30fe4e8cc76b";
|
|
29
|
+
const signature = "30440220774aa1a064c9bd5ff2c820156b4af106d464d8ca0eb2de5f2956c8b52356496202205ef40dd54beb3c1534d011af9f581f426141d39338b3da6abf4023254cbef72c";
|
|
30
|
+
// When & Then
|
|
31
|
+
yield expect((0, loadPKI_1.default)(transport, "TRUSTED_NAME", descriptor, signature)).rejects.not.toThrow();
|
|
32
|
+
yield (() => new Promise(f => setTimeout(f, 1000)))();
|
|
33
|
+
}));
|
|
34
|
+
it("returns an Verification Failed error", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
35
|
+
// Given
|
|
36
|
+
const descriptor = "0101010201023501043601021004010500001302000314010120086e66745f6d657461300200053101043201213401013321035e6c1020c14dc46442fe89f97c0b68cdb15976dc24f24c316e7b30fe4e8cc76b";
|
|
37
|
+
const signature = "30440220774aa1a064c9bd5ff2c820156b4af106d464d8ca0eb2de5f2956c8b52356496202205ef40dd54beb3c1534d011af9f581f426141d39338b3da6abf4023254cbef72c";
|
|
38
|
+
// When & Then
|
|
39
|
+
yield expect((0, loadPKI_1.default)(transport, "TRUSTED_NAME", descriptor, signature)).rejects.toThrow(PKIError_1.PKIFailedVerificationError);
|
|
40
|
+
}));
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=loadPKI.integ.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadPKI.integ.test.js","sourceRoot":"","sources":["../src/loadPKI.integ.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,gHAAkF;AAClF,wDAAgC;AAChC,yCAAwD;AAExD,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,IAAI,SAAoB,CAAC;IAEzB,SAAS,CAAC,GAAS,EAAE;QACnB,SAAS,GAAG,MAAM,yCAAyB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC,CAAA,CAAC,CAAC;IACH,QAAQ,CAAC,GAAS,EAAE;QAClB,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,GAAS,EAAE;QAClC,QAAQ;QACR,MAAM,UAAU,GACd,wKAAwK,CAAC;QAC3K,MAAM,SAAS,GACb,8IAA8I,CAAC;QAEjJ,cAAc;QACd,MAAM,MAAM,CAAC,IAAA,iBAAO,EAAC,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC9F,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAS,EAAE;QACpD,QAAQ;QACR,MAAM,UAAU,GACd,wKAAwK,CAAC;QAC3K,MAAM,SAAS,GACb,8IAA8I,CAAC;QAEjJ,cAAc;QACd,MAAM,MAAM,CAAC,IAAA,iBAAO,EAAC,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACrF,qCAA0B,CAC3B,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/lib/loadPKI.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const hw_transport_1 = require("@ledgerhq/hw-transport");
|
|
13
|
+
const PKIError_1 = require("./PKIError");
|
|
14
|
+
const handledErrorCode = PKIError_1.errorCodeValue.concat(hw_transport_1.StatusCodes.OK);
|
|
15
|
+
const CLA = 0xb0;
|
|
16
|
+
const INS = 0x06;
|
|
17
|
+
const P2 = 0x00;
|
|
18
|
+
// Extract from https://github.com/LedgerHQ/ledger-secure-sdk/blob/d59b21f8a1f2e78ad50b5a8a21d0daac68826643/include/os_pki.h#L74
|
|
19
|
+
const keyUsage = {
|
|
20
|
+
GENUINE_CHECK: 0x01,
|
|
21
|
+
EXCHANGE_PAYLOAD: 0x02,
|
|
22
|
+
NFT_METADATA: 0x03,
|
|
23
|
+
TRUSTED_NAME: 0x04,
|
|
24
|
+
BACKUP_PROVIDER: 0x05,
|
|
25
|
+
RECOVER_ORCHESTRATOR: 0x06,
|
|
26
|
+
PLUGIN_METADATA: 0x07,
|
|
27
|
+
COIN_META: 0x08,
|
|
28
|
+
SEED_ID_AUTH: 0x09,
|
|
29
|
+
UNKNOWN: 0x0a,
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Load certificate
|
|
33
|
+
*/
|
|
34
|
+
exports.default = (transport, key, descriptor, signature) => __awaiter(void 0, void 0, void 0, function* () {
|
|
35
|
+
const descriptorBuffer = Buffer.from(descriptor, "hex");
|
|
36
|
+
const signatureBuffer = Buffer.from(signature, "hex");
|
|
37
|
+
const result = yield transport.send(CLA, INS, keyUsage[key], P2, Buffer.concat([
|
|
38
|
+
new Uint8Array(descriptorBuffer),
|
|
39
|
+
new Uint8Array(Buffer.from("15", "hex")),
|
|
40
|
+
new Uint8Array(Buffer.from([signatureBuffer.length])),
|
|
41
|
+
new Uint8Array(signatureBuffer),
|
|
42
|
+
]), handledErrorCode);
|
|
43
|
+
const resultCode = result.readUInt16BE(result.length - 2);
|
|
44
|
+
if (resultCode !== hw_transport_1.StatusCodes.OK) {
|
|
45
|
+
(0, PKIError_1.throwError)(resultCode);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
//# sourceMappingURL=loadPKI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadPKI.js","sourceRoot":"","sources":["../src/loadPKI.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,yDAAgE;AAChE,yCAAwD;AAExD,MAAM,gBAAgB,GAAG,yBAAc,CAAC,MAAM,CAAC,0BAAW,CAAC,EAAE,CAAC,CAAC;AAE/D,MAAM,GAAG,GAAG,IAAI,CAAC;AACjB,MAAM,GAAG,GAAG,IAAI,CAAC;AACjB,MAAM,EAAE,GAAG,IAAI,CAAC;AAEhB,gIAAgI;AAChI,MAAM,QAAQ,GAAG;IACf,aAAa,EAAE,IAAI;IACnB,gBAAgB,EAAE,IAAI;IACtB,YAAY,EAAE,IAAI;IAClB,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,IAAI;IACrB,oBAAoB,EAAE,IAAI;IAC1B,eAAe,EAAE,IAAI;IACrB,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,IAAI;CACd,CAAC;AAEF;;GAEG;AACH,kBAAe,CACb,SAAoB,EACpB,GAA0B,EAC1B,UAAkB,EAClB,SAAiB,EACF,EAAE;IACjB,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CACjC,GAAG,EACH,GAAG,EACH,QAAQ,CAAC,GAAG,CAAC,EACb,EAAE,EACF,MAAM,CAAC,MAAM,CAAC;QACZ,IAAI,UAAU,CAAC,gBAAgB,CAAC;QAChC,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,IAAI,UAAU,CAAC,eAAe,CAAC;KAChC,CAAC,EACF,gBAAgB,CACjB,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1D,IAAI,UAAU,KAAK,0BAAW,CAAC,EAAE,EAAE,CAAC;QAClC,IAAA,qBAAU,EAAC,UAAU,CAAC,CAAC;IACzB,CAAC;AACH,CAAC,CAAA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadPKI.test.d.ts","sourceRoot":"","sources":["../src/loadPKI.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const hw_transport_mocker_1 = require("@ledgerhq/hw-transport-mocker");
|
|
16
|
+
const loadPKI_1 = __importDefault(require("./loadPKI"));
|
|
17
|
+
describe("loadPKI", () => {
|
|
18
|
+
const recordStore = new hw_transport_mocker_1.RecordStore();
|
|
19
|
+
const mockTransport = new hw_transport_mocker_1.MockTransport(Buffer.from([0, 0x90, 0x00]));
|
|
20
|
+
const TransportRecorder = (0, hw_transport_mocker_1.createTransportRecorder)(mockTransport, recordStore);
|
|
21
|
+
it("returns a new Challenge value", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
+
// Given
|
|
23
|
+
const descriptor = "010203";
|
|
24
|
+
const signature = "0a0b0c0d0e0f1a1b1c1d1e1f";
|
|
25
|
+
const signatureLengthInHex = "0c";
|
|
26
|
+
const transport = new TransportRecorder(mockTransport);
|
|
27
|
+
// When
|
|
28
|
+
yield (0, loadPKI_1.default)(transport, "GENUINE_CHECK", descriptor, signature);
|
|
29
|
+
// Then
|
|
30
|
+
const expectCommand = Buffer.from([0xb0, 0x06, 0x01, 0x00]).toString("hex");
|
|
31
|
+
const certSeparator = "15";
|
|
32
|
+
const data = descriptor + certSeparator + signatureLengthInHex + signature;
|
|
33
|
+
const dataLengthInHex = (data.length / 2).toString(16);
|
|
34
|
+
expect(recordStore.queue[0][0]).toBe(expectCommand + dataLengthInHex + data);
|
|
35
|
+
}));
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=loadPKI.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadPKI.test.js","sourceRoot":"","sources":["../src/loadPKI.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uEAAoG;AACpG,wDAAgC;AAEhC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,MAAM,WAAW,GAAG,IAAI,iCAAW,EAAE,CAAC;IACtC,MAAM,aAAa,GAAG,IAAI,mCAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,iBAAiB,GAAG,IAAA,6CAAuB,EAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAE9E,EAAE,CAAC,+BAA+B,EAAE,GAAS,EAAE;QAC7C,QAAQ;QACR,MAAM,UAAU,GAAG,QAAQ,CAAC;QAC5B,MAAM,SAAS,GAAG,0BAA0B,CAAC;QAC7C,MAAM,oBAAoB,GAAG,IAAI,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAEvD,OAAO;QACP,MAAM,IAAA,iBAAO,EAAC,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAEjE,OAAO;QACP,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,aAAa,GAAG,IAAI,CAAC;QAC3B,MAAM,IAAI,GAAG,UAAU,GAAG,aAAa,GAAG,oBAAoB,GAAG,SAAS,CAAC;QAC3E,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,eAAe,GAAG,IAAI,CAAC,CAAC;IAC/E,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export declare const errorCodeValue: number[];
|
|
2
|
+
export declare function throwError(code: number): void;
|
|
3
|
+
export declare class PKIError extends Error {
|
|
4
|
+
constructor(cause: string);
|
|
5
|
+
}
|
|
6
|
+
export declare class PKIStructError extends PKIError {
|
|
7
|
+
constructor();
|
|
8
|
+
}
|
|
9
|
+
export declare class PKICertificateVersionError extends PKIError {
|
|
10
|
+
constructor();
|
|
11
|
+
}
|
|
12
|
+
export declare class PKICertificateValidityError extends PKIError {
|
|
13
|
+
constructor();
|
|
14
|
+
}
|
|
15
|
+
export declare class PKICertificateIndexError extends PKIError {
|
|
16
|
+
constructor();
|
|
17
|
+
}
|
|
18
|
+
export declare class PKIUnknownSignerIdError extends PKIError {
|
|
19
|
+
constructor();
|
|
20
|
+
}
|
|
21
|
+
export declare class PKIUnknownSignerAlgorithmError extends PKIError {
|
|
22
|
+
constructor();
|
|
23
|
+
}
|
|
24
|
+
export declare class PKIUnknownPublicIdError extends PKIError {
|
|
25
|
+
constructor();
|
|
26
|
+
}
|
|
27
|
+
export declare class PKIUnknownPublicUsageError extends PKIError {
|
|
28
|
+
constructor();
|
|
29
|
+
}
|
|
30
|
+
export declare class PKIIncorrectCurveError extends PKIError {
|
|
31
|
+
constructor();
|
|
32
|
+
}
|
|
33
|
+
export declare class PKIIncorrectSignatureError extends PKIError {
|
|
34
|
+
constructor();
|
|
35
|
+
}
|
|
36
|
+
export declare class PKIUnknownDeviceError extends PKIError {
|
|
37
|
+
constructor();
|
|
38
|
+
}
|
|
39
|
+
export declare class PKIUnknownCertificateTagError extends PKIError {
|
|
40
|
+
constructor();
|
|
41
|
+
}
|
|
42
|
+
export declare class PKIFailedHashError extends PKIError {
|
|
43
|
+
constructor();
|
|
44
|
+
}
|
|
45
|
+
export declare class PKIMismatchKeyError extends PKIError {
|
|
46
|
+
constructor();
|
|
47
|
+
}
|
|
48
|
+
export declare class PKIFailedVerificationError extends PKIError {
|
|
49
|
+
constructor();
|
|
50
|
+
}
|
|
51
|
+
export declare class PKITrustedNameTooSmallError extends PKIError {
|
|
52
|
+
constructor();
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=PKIError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PKIError.d.ts","sourceRoot":"","sources":["../src/PKIError.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,cAAc,UAA+C,CAAC;AAE3E,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,QAqCtC;AAED,qBAAa,QAAS,SAAQ,KAAK;gBACrB,KAAK,EAAE,MAAM;CAG1B;AACD,qBAAa,cAAe,SAAQ,QAAQ;;CAI3C;AACD,qBAAa,0BAA2B,SAAQ,QAAQ;;CAIvD;AACD,qBAAa,2BAA4B,SAAQ,QAAQ;;CAIxD;AACD,qBAAa,wBAAyB,SAAQ,QAAQ;;CAIrD;AACD,qBAAa,uBAAwB,SAAQ,QAAQ;;CAIpD;AACD,qBAAa,8BAA+B,SAAQ,QAAQ;;CAI3D;AACD,qBAAa,uBAAwB,SAAQ,QAAQ;;CAIpD;AACD,qBAAa,0BAA2B,SAAQ,QAAQ;;CAIvD;AACD,qBAAa,sBAAuB,SAAQ,QAAQ;;CAInD;AACD,qBAAa,0BAA2B,SAAQ,QAAQ;;CAIvD;AACD,qBAAa,qBAAsB,SAAQ,QAAQ;;CAIlD;AACD,qBAAa,6BAA8B,SAAQ,QAAQ;;CAI1D;AACD,qBAAa,kBAAmB,SAAQ,QAAQ;;CAI/C;AACD,qBAAa,mBAAoB,SAAQ,QAAQ;;CAIhD;AACD,qBAAa,0BAA2B,SAAQ,QAAQ;;CAIvD;AACD,qBAAa,2BAA4B,SAAQ,QAAQ;;CAIxD"}
|