@crela/license 1.0.1 → 1.0.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/dist/index.d.ts +33 -32
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -22
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Crela License SDK
|
|
2
|
+
* Crela License SDK - Node.js / Electron
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* Required integration for tools on the Crela marketplace (paid and free).
|
|
5
|
+
* The SDK reads a JWT signed by the Crela launcher, either from the
|
|
6
|
+
* environment variable `CRELA_LICENSE_JWT` or from a shared cache file, and
|
|
7
|
+
* verifies it offline against a compiled-in Ed25519 public key. No network
|
|
8
|
+
* call happens.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
10
|
+
* Typical use in an Electron `main.ts`:
|
|
11
11
|
*
|
|
12
12
|
* import { verifyOrExit, CRELA_SDK_MARKER } from '@crela/license'
|
|
13
|
-
* verifyOrExit('
|
|
13
|
+
* verifyOrExit('my-tool', CRELA_SDK_MARKER)
|
|
14
14
|
*
|
|
15
|
-
* Marker
|
|
16
|
-
*
|
|
15
|
+
* Marker and public key are usually injected through a bundler define at
|
|
16
|
+
* build time, or read from a file generated during the build.
|
|
17
17
|
*/
|
|
18
|
-
/** Prefix
|
|
18
|
+
/** Prefix of the v2 marker; the full token comes from the creator dashboard. */
|
|
19
19
|
export declare const CRELA_SDK_MARKER_PREFIX: "CRELA_SDKv2_";
|
|
20
20
|
export declare const CRELA_SDK_MARKER_CONST: string | undefined;
|
|
21
21
|
export declare class LicenseError extends Error {
|
|
@@ -24,40 +24,41 @@ export declare class LicenseError extends Error {
|
|
|
24
24
|
}
|
|
25
25
|
export type LicenseErrorCode = 'NOT_LAUNCHED_FROM_CRELA' | 'INVALID_JWT_FORMAT' | 'INVALID_SIGNATURE' | 'EXPIRED' | 'WRONG_TOOL' | 'WRONG_DEVICE' | 'MISSING_CLAIM' | 'INVALID_PUBKEY' | 'INVALID_MARKER';
|
|
26
26
|
export interface LicenseClaims {
|
|
27
|
-
/**
|
|
27
|
+
/** Licence id (UUID) */
|
|
28
28
|
sub: string;
|
|
29
29
|
/** Tool-Slug */
|
|
30
30
|
tool: string;
|
|
31
31
|
/** Device-Fingerprint */
|
|
32
32
|
fp: string;
|
|
33
|
-
/** Unix
|
|
33
|
+
/** Unix timestamp, issued at */
|
|
34
34
|
iat: number;
|
|
35
|
-
/** Unix
|
|
35
|
+
/** Unix timestamp, expires at */
|
|
36
36
|
exp: number;
|
|
37
|
-
/** Grace
|
|
37
|
+
/** Grace period in seconds */
|
|
38
38
|
grace: number;
|
|
39
|
-
/** True
|
|
39
|
+
/** True when CRELA_DEV_MODE=1 (verification skipped) */
|
|
40
40
|
isDev: boolean;
|
|
41
41
|
}
|
|
42
42
|
export interface VerifierOptions {
|
|
43
|
-
/** Tool
|
|
43
|
+
/** Tool slug; must match the `tool` claim in the licence */
|
|
44
44
|
toolSlug: string;
|
|
45
|
-
/** Marker
|
|
45
|
+
/** Marker token from the creator dashboard. Must start with CRELA_SDKv2_. */
|
|
46
46
|
markerToken: string;
|
|
47
|
-
/** Ed25519
|
|
47
|
+
/** Ed25519 public key (32 bytes hex). Defaults to the BUILD_TIME_PUBKEY_HEX constant. */
|
|
48
48
|
pubkeyHex?: string;
|
|
49
|
-
/**
|
|
49
|
+
/** Override the cache path (default: <DATA_LOCAL>/crela/licenses/<slug>.jwt). */
|
|
50
50
|
cachePath?: string;
|
|
51
51
|
/**
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
52
|
+
* Allow dev mode (`CRELA_DEV_MODE=1`). Defaults to FALSE and has to be
|
|
53
|
+
* enabled explicitly for local development. Shipped tools leave it off, so
|
|
54
|
+
* that end users cannot bypass the licence check with an environment
|
|
55
|
+
* variable.
|
|
55
56
|
*/
|
|
56
57
|
allowDevMode?: boolean;
|
|
57
58
|
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
59
|
+
* Override the local device fingerprint (tests only). Production uses the
|
|
60
|
+
* machine id (node-machine-id, original) - the same source the launcher
|
|
61
|
+
* uses.
|
|
61
62
|
*/
|
|
62
63
|
deviceFp?: string;
|
|
63
64
|
}
|
|
@@ -69,14 +70,14 @@ export declare class LicenseVerifier {
|
|
|
69
70
|
private readonly deviceFp;
|
|
70
71
|
constructor(opts: VerifierOptions);
|
|
71
72
|
/**
|
|
72
|
-
*
|
|
73
|
-
* MachineGuid/IOPlatformUUID/machine-id,
|
|
74
|
-
* (machine-uid 0.5)
|
|
75
|
-
* (
|
|
73
|
+
* Local device fingerprint. The source is node-machine-id (original) - the
|
|
74
|
+
* MachineGuid / IOPlatformUUID / machine-id, exactly what the launcher
|
|
75
|
+
* (machine-uid 0.5) writes into the licence. An override wins if set
|
|
76
|
+
* (tests). Returns null when the id cannot be determined.
|
|
76
77
|
*/
|
|
77
78
|
private resolveDeviceFp;
|
|
78
79
|
verify(): LicenseClaims;
|
|
79
|
-
/**
|
|
80
|
+
/** On failure: message on stderr + process.exit(0xC1). */
|
|
80
81
|
verifyOrExit(): LicenseClaims;
|
|
81
82
|
private resolveToken;
|
|
82
83
|
private resolveCachePath;
|
|
@@ -86,6 +87,6 @@ export declare class LicenseVerifier {
|
|
|
86
87
|
}
|
|
87
88
|
/** Convenience: verifiziert und exitet bei Fehler. */
|
|
88
89
|
export declare function verifyOrExit(toolSlug: string, markerToken: string, pubkeyHex?: string): LicenseClaims;
|
|
89
|
-
/** Fingerprint
|
|
90
|
+
/** Fingerprint helper, public for apps that want to log it. */
|
|
90
91
|
export declare function deviceFingerprint(): string;
|
|
91
92
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AASH,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AASH,gFAAgF;AAChF,eAAO,MAAM,uBAAuB,EAAG,cAAuB,CAAA;AAY9D,eAAO,MAAM,sBAAsB,EAAE,MAAM,GAAG,SAC0B,CAAA;AAIxE,qBAAa,YAAa,SAAQ,KAAK;IAClB,IAAI,EAAE,gBAAgB;gBAAtB,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM;CAI3D;AAED,MAAM,MAAM,gBAAgB,GACxB,yBAAyB,GACzB,oBAAoB,GACpB,mBAAmB,GACnB,SAAS,GACT,YAAY,GACZ,cAAc,GACd,eAAe,GACf,gBAAgB,GAChB,gBAAgB,CAAA;AAEpB,MAAM,WAAW,aAAa;IAC5B,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,yBAAyB;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,wDAAwD;IACxD,KAAK,EAAE,OAAO,CAAA;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAA;IAChB,6EAA6E;IAC7E,WAAW,EAAE,MAAM,CAAA;IACnB,yFAAyF;IACzF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAiBD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;gBAEjC,IAAI,EAAE,eAAe;IAYjC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAavB,MAAM,IAAI,aAAa;IAoCvB,0DAA0D;IAC1D,YAAY,IAAI,aAAa;IAW7B,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,SAAS;CAgDlB;AAED,sDAAsD;AACtD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,aAAa,CAErG;AAED,+DAA+D;AAC/D,wBAAgB,iBAAiB,IAAI,MAAM,CAM1C"}
|
package/dist/index.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Crela License SDK
|
|
2
|
+
* Crela License SDK - Node.js / Electron
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* Required integration for tools on the Crela marketplace (paid and free).
|
|
5
|
+
* The SDK reads a JWT signed by the Crela launcher, either from the
|
|
6
|
+
* environment variable `CRELA_LICENSE_JWT` or from a shared cache file, and
|
|
7
|
+
* verifies it offline against a compiled-in Ed25519 public key. No network
|
|
8
|
+
* call happens.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
10
|
+
* Typical use in an Electron `main.ts`:
|
|
11
11
|
*
|
|
12
12
|
* import { verifyOrExit, CRELA_SDK_MARKER } from '@crela/license'
|
|
13
|
-
* verifyOrExit('
|
|
13
|
+
* verifyOrExit('my-tool', CRELA_SDK_MARKER)
|
|
14
14
|
*
|
|
15
|
-
* Marker
|
|
16
|
-
*
|
|
15
|
+
* Marker and public key are usually injected through a bundler define at
|
|
16
|
+
* build time, or read from a file generated during the build.
|
|
17
17
|
*/
|
|
18
18
|
import { readFileSync } from 'node:fs';
|
|
19
19
|
import { existsSync } from 'node:fs';
|
|
@@ -21,7 +21,7 @@ import { join } from 'node:path';
|
|
|
21
21
|
import { homedir, hostname, platform } from 'node:os';
|
|
22
22
|
import { createRequire } from 'node:module';
|
|
23
23
|
import { createHash, createPublicKey, verify as cryptoVerify } from 'node:crypto';
|
|
24
|
-
/** Prefix
|
|
24
|
+
/** Prefix of the v2 marker; the full token comes from the creator dashboard. */
|
|
25
25
|
export const CRELA_SDK_MARKER_PREFIX = 'CRELA_SDKv2_';
|
|
26
26
|
export const CRELA_SDK_MARKER_CONST = typeof CRELA_SDK_MARKER !== 'undefined' ? CRELA_SDK_MARKER : undefined;
|
|
27
27
|
const SKEW_SECONDS = 300; // 5 Minuten Clock-Skew-Toleranz
|
|
@@ -34,11 +34,11 @@ export class LicenseError extends Error {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
37
|
-
* Production
|
|
38
|
-
*
|
|
39
|
-
* base64url-decoded
|
|
40
|
-
*
|
|
41
|
-
*
|
|
37
|
+
* Production public key for Ed25519 JWT verification against crela.io.
|
|
38
|
+
* Taken from the `x` field of the production CRELA_LICENSE_SIGNING_JWK,
|
|
39
|
+
* base64url-decoded, as 32-byte hex. Used as the default and overridable
|
|
40
|
+
* through a bundler define (CRELA_LICENSE_PUBKEY_HEX), e.g. for self-hosted
|
|
41
|
+
* Crela instances.
|
|
42
42
|
*/
|
|
43
43
|
const PRODUCTION_PUBKEY_HEX = 'c6c37639c659cb9168d6af510d9696d141d980c5145212232f800b21a8210231';
|
|
44
44
|
const BUILD_TIME_PUBKEY_HEX = typeof CRELA_LICENSE_PUBKEY_HEX !== 'undefined' && CRELA_LICENSE_PUBKEY_HEX.length === 64
|
|
@@ -63,10 +63,10 @@ export class LicenseVerifier {
|
|
|
63
63
|
this.deviceFp = opts.deviceFp;
|
|
64
64
|
}
|
|
65
65
|
/**
|
|
66
|
-
*
|
|
67
|
-
* MachineGuid/IOPlatformUUID/machine-id,
|
|
68
|
-
* (machine-uid 0.5)
|
|
69
|
-
* (
|
|
66
|
+
* Local device fingerprint. The source is node-machine-id (original) - the
|
|
67
|
+
* MachineGuid / IOPlatformUUID / machine-id, exactly what the launcher
|
|
68
|
+
* (machine-uid 0.5) writes into the licence. An override wins if set
|
|
69
|
+
* (tests). Returns null when the id cannot be determined.
|
|
70
70
|
*/
|
|
71
71
|
resolveDeviceFp() {
|
|
72
72
|
if (this.deviceFp !== undefined)
|
|
@@ -104,7 +104,7 @@ export class LicenseVerifier {
|
|
|
104
104
|
}
|
|
105
105
|
return claims;
|
|
106
106
|
}
|
|
107
|
-
/**
|
|
107
|
+
/** On failure: message on stderr + process.exit(0xC1). */
|
|
108
108
|
verifyOrExit() {
|
|
109
109
|
try {
|
|
110
110
|
return this.verify();
|
|
@@ -202,7 +202,7 @@ export class LicenseVerifier {
|
|
|
202
202
|
export function verifyOrExit(toolSlug, markerToken, pubkeyHex) {
|
|
203
203
|
return new LicenseVerifier({ toolSlug, markerToken, pubkeyHex }).verifyOrExit();
|
|
204
204
|
}
|
|
205
|
-
/** Fingerprint
|
|
205
|
+
/** Fingerprint helper, public for apps that want to log it. */
|
|
206
206
|
export function deviceFingerprint() {
|
|
207
207
|
const h = createHash('sha256');
|
|
208
208
|
try {
|
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,
|
|
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.2",
|
|
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",
|