@crela/license 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +15 -15
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -52,9 +52,9 @@ export class LicenseVerifier {
|
|
|
52
52
|
deviceFp;
|
|
53
53
|
constructor(opts) {
|
|
54
54
|
if (!opts.toolSlug)
|
|
55
|
-
throw new LicenseError('MISSING_CLAIM', 'toolSlug
|
|
55
|
+
throw new LicenseError('MISSING_CLAIM', 'toolSlug is required');
|
|
56
56
|
if (!opts.markerToken || !opts.markerToken.startsWith(CRELA_SDK_MARKER_PREFIX)) {
|
|
57
|
-
throw new LicenseError('INVALID_MARKER', `markerToken
|
|
57
|
+
throw new LicenseError('INVALID_MARKER', `markerToken must start with "${CRELA_SDK_MARKER_PREFIX}"`);
|
|
58
58
|
}
|
|
59
59
|
this.toolSlug = opts.toolSlug;
|
|
60
60
|
this.pubkeyHex = opts.pubkeyHex ?? BUILD_TIME_PUBKEY_HEX;
|
|
@@ -87,11 +87,11 @@ export class LicenseVerifier {
|
|
|
87
87
|
const token = this.resolveToken();
|
|
88
88
|
const claims = this.verifyJwt(token);
|
|
89
89
|
if (claims.tool !== this.toolSlug) {
|
|
90
|
-
throw new LicenseError('WRONG_TOOL', `
|
|
90
|
+
throw new LicenseError('WRONG_TOOL', `Licence was issued for "${claims.tool}", expected "${this.toolSlug}"`);
|
|
91
91
|
}
|
|
92
92
|
const now = nowSeconds();
|
|
93
93
|
if (claims.exp + SKEW_SECONDS < now) {
|
|
94
|
-
throw new LicenseError('EXPIRED', '
|
|
94
|
+
throw new LicenseError('EXPIRED', 'Licence has expired');
|
|
95
95
|
}
|
|
96
96
|
// Geraetebindung: der fp-Claim muss zur lokalen Maschine passen, sonst
|
|
97
97
|
// laesst sich ein gueltiges Token einfach auf beliebig viele Rechner
|
|
@@ -100,7 +100,7 @@ export class LicenseVerifier {
|
|
|
100
100
|
// ermittelbar ist (ein vom Launcher gestartetes Tool hat immer eine).
|
|
101
101
|
const localFp = this.resolveDeviceFp();
|
|
102
102
|
if (localFp === null || localFp.toLowerCase() !== claims.fp.toLowerCase()) {
|
|
103
|
-
throw new LicenseError('WRONG_DEVICE', '
|
|
103
|
+
throw new LicenseError('WRONG_DEVICE', 'Licence is bound to a different device (it was copied from another machine)');
|
|
104
104
|
}
|
|
105
105
|
return claims;
|
|
106
106
|
}
|
|
@@ -112,7 +112,7 @@ export class LicenseVerifier {
|
|
|
112
112
|
catch (e) {
|
|
113
113
|
const msg = e instanceof Error ? e.message : String(e);
|
|
114
114
|
process.stderr.write(`crela-license: ${msg}\n`);
|
|
115
|
-
process.stderr.write('
|
|
115
|
+
process.stderr.write('Please start this app through the Crela launcher.\n');
|
|
116
116
|
process.exit(0xc1);
|
|
117
117
|
}
|
|
118
118
|
}
|
|
@@ -123,7 +123,7 @@ export class LicenseVerifier {
|
|
|
123
123
|
const cached = this.readCacheFile();
|
|
124
124
|
if (cached)
|
|
125
125
|
return cached;
|
|
126
|
-
throw new LicenseError('NOT_LAUNCHED_FROM_CRELA', '
|
|
126
|
+
throw new LicenseError('NOT_LAUNCHED_FROM_CRELA', 'No licence token found (neither env var nor cache file). Please start this app through the Crela launcher.');
|
|
127
127
|
}
|
|
128
128
|
resolveCachePath() {
|
|
129
129
|
if (this.cachePath)
|
|
@@ -156,11 +156,11 @@ export class LicenseVerifier {
|
|
|
156
156
|
}
|
|
157
157
|
verifyJwt(token) {
|
|
158
158
|
if (!this.pubkeyHex || this.pubkeyHex.length !== 64) {
|
|
159
|
-
throw new LicenseError('INVALID_PUBKEY', 'Ed25519
|
|
159
|
+
throw new LicenseError('INVALID_PUBKEY', 'Ed25519 public key is missing or malformed');
|
|
160
160
|
}
|
|
161
161
|
const parts = token.split('.');
|
|
162
162
|
if (parts.length !== 3) {
|
|
163
|
-
throw new LicenseError('INVALID_JWT_FORMAT', '
|
|
163
|
+
throw new LicenseError('INVALID_JWT_FORMAT', 'Malformed licence token');
|
|
164
164
|
}
|
|
165
165
|
let payloadBytes;
|
|
166
166
|
let sigBytes;
|
|
@@ -169,23 +169,23 @@ export class LicenseVerifier {
|
|
|
169
169
|
sigBytes = base64UrlDecode(parts[2]);
|
|
170
170
|
}
|
|
171
171
|
catch {
|
|
172
|
-
throw new LicenseError('INVALID_JWT_FORMAT', '
|
|
172
|
+
throw new LicenseError('INVALID_JWT_FORMAT', 'Licence token is not valid base64');
|
|
173
173
|
}
|
|
174
174
|
if (sigBytes.length !== 64) {
|
|
175
|
-
throw new LicenseError('INVALID_JWT_FORMAT', `
|
|
175
|
+
throw new LicenseError('INVALID_JWT_FORMAT', `Licence signature has wrong length: ${sigBytes.length}`);
|
|
176
176
|
}
|
|
177
177
|
const signingInput = Buffer.from(`${parts[0]}.${parts[1]}`);
|
|
178
178
|
const pubkey = ed25519PublicKey(this.pubkeyHex);
|
|
179
179
|
const ok = cryptoVerify(null, signingInput, pubkey, sigBytes);
|
|
180
180
|
if (!ok) {
|
|
181
|
-
throw new LicenseError('INVALID_SIGNATURE', '
|
|
181
|
+
throw new LicenseError('INVALID_SIGNATURE', 'Licence signature could not be verified');
|
|
182
182
|
}
|
|
183
183
|
let raw;
|
|
184
184
|
try {
|
|
185
185
|
raw = JSON.parse(payloadBytes.toString('utf-8'));
|
|
186
186
|
}
|
|
187
187
|
catch {
|
|
188
|
-
throw new LicenseError('INVALID_JWT_FORMAT', '
|
|
188
|
+
throw new LicenseError('INVALID_JWT_FORMAT', 'Licence payload is not valid JSON');
|
|
189
189
|
}
|
|
190
190
|
return {
|
|
191
191
|
sub: requireString(raw, 'sub'),
|
|
@@ -240,14 +240,14 @@ function nowSeconds() {
|
|
|
240
240
|
function requireString(o, key) {
|
|
241
241
|
const v = o[key];
|
|
242
242
|
if (typeof v !== 'string' || v.length === 0) {
|
|
243
|
-
throw new LicenseError('MISSING_CLAIM', `
|
|
243
|
+
throw new LicenseError('MISSING_CLAIM', `Licence claim "${key}" is missing or not a string`);
|
|
244
244
|
}
|
|
245
245
|
return v;
|
|
246
246
|
}
|
|
247
247
|
function requireNumber(o, key) {
|
|
248
248
|
const v = o[key];
|
|
249
249
|
if (typeof v !== 'number') {
|
|
250
|
-
throw new LicenseError('MISSING_CLAIM', `
|
|
250
|
+
throw new LicenseError('MISSING_CLAIM', `Licence claim "${key}" is missing or not a number`);
|
|
251
251
|
}
|
|
252
252
|
return v;
|
|
253
253
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAkB,YAAY,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,aAAa,CAAA;AAEjF,kFAAkF;AAClF,MAAM,CAAC,MAAM,uBAAuB,GAAG,cAAuB,CAAA;AAY9D,MAAM,CAAC,MAAM,sBAAsB,GACjC,OAAO,gBAAgB,KAAK,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAA;AAExE,MAAM,YAAY,GAAG,GAAG,CAAA,CAAC,gCAAgC;AAEzD,MAAM,OAAO,YAAa,SAAQ,KAAK;IAClB;IAAnB,YAAmB,IAAsB,EAAE,OAAe;QACxD,KAAK,CAAC,OAAO,CAAC,CAAA;QADG,SAAI,GAAJ,IAAI,CAAkB;QAEvC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA;IAC5B,CAAC;CACF;AAqDD;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAG,kEAAkE,CAAA;AAGhG,MAAM,qBAAqB,GACzB,OAAO,wBAAwB,KAAK,WAAW,IAAI,wBAAwB,CAAC,MAAM,KAAK,EAAE;IACvF,CAAC,CAAC,wBAAwB;IAC1B,CAAC,CAAC,qBAAqB,CAAA;AAE3B,MAAM,OAAO,eAAe;IACT,QAAQ,CAAQ;IAChB,SAAS,CAAQ;IACjB,SAAS,CAAoB;IAC7B,YAAY,CAAS;IACrB,QAAQ,CAAoB;IAE7C,YAAY,IAAqB;QAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crela/license",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "License verification SDK for Crela marketplace tools (Node.js / Electron). Reads JWT from launcher-injected env var or cache file, verifies offline via Ed25519.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"homepage": "https://crela.io/docs#sdk-marker",
|
|
40
40
|
"repository": {
|
|
41
41
|
"type": "git",
|
|
42
|
-
"url": "https://github.com/Boniihhh/Crela",
|
|
42
|
+
"url": "git+https://github.com/Boniihhh/Crela.git",
|
|
43
43
|
"directory": "packages/sdk-node"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|