@freedomofpress/sigstore-browser 0.1.9 → 0.1.11
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/trust/tuf.d.ts +7 -1
- package/dist/trust/tuf.d.ts.map +1 -1
- package/dist/trust/tuf.js +4 -2
- package/dist/trust/tuf.js.map +1 -1
- package/package.json +4 -4
- package/src/trust/tuf.ts +12 -3
package/dist/trust/tuf.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export interface TrustedRootProviderOptions {
|
|
|
20
20
|
initialRoot?: string;
|
|
21
21
|
/**
|
|
22
22
|
* Namespace for TUF cache storage
|
|
23
|
-
* Default: '
|
|
23
|
+
* Default: 'tuf-cache'
|
|
24
24
|
*/
|
|
25
25
|
namespace?: string;
|
|
26
26
|
/**
|
|
@@ -33,6 +33,11 @@ export interface TrustedRootProviderOptions {
|
|
|
33
33
|
* Default: 1 hour (3600000 ms)
|
|
34
34
|
*/
|
|
35
35
|
cacheTTL?: number;
|
|
36
|
+
/**
|
|
37
|
+
* Disable persistent caching (use in-memory only)
|
|
38
|
+
* Default: false
|
|
39
|
+
*/
|
|
40
|
+
disableCache?: boolean;
|
|
36
41
|
}
|
|
37
42
|
/**
|
|
38
43
|
* Provides Sigstore trusted root via TUF for secure updates
|
|
@@ -53,6 +58,7 @@ export declare class TrustedRootProvider {
|
|
|
53
58
|
private namespace;
|
|
54
59
|
private trustedRootTarget;
|
|
55
60
|
private cacheTTL;
|
|
61
|
+
private disableCache;
|
|
56
62
|
private tufClient?;
|
|
57
63
|
private cachedRoot?;
|
|
58
64
|
private cacheTimestamp?;
|
package/dist/trust/tuf.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuf.d.ts","sourceRoot":"","sources":["../../src/trust/tuf.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"tuf.d.ts","sourceRoot":"","sources":["../../src/trust/tuf.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAaD;;;;;;;;;;;GAWG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAU;IAE9B,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,UAAU,CAAC,CAAc;IACjC,OAAO,CAAC,cAAc,CAAC,CAAS;gBAEpB,OAAO,GAAE,0BAA+B;IAYpD;;;OAGG;YACW,aAAa;IAyB3B;;;OAGG;YACW,cAAc;IAY5B;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;;;;;OAMG;IACG,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IAsC5C;;;;;OAKG;IACG,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC;IAShD;;;OAGG;IACH,UAAU,IAAI,IAAI;CAInB"}
|
package/dist/trust/tuf.js
CHANGED
|
@@ -13,7 +13,7 @@ import { Uint8ArrayToString } from "@freedomofpress/crypto-browser";
|
|
|
13
13
|
const DEFAULT_CONFIG = {
|
|
14
14
|
metadataUrl: 'https://tuf-repo-cdn.sigstore.dev/',
|
|
15
15
|
targetBaseUrl: 'https://tuf-repo-cdn.sigstore.dev/targets/',
|
|
16
|
-
namespace: '
|
|
16
|
+
namespace: 'tuf-cache',
|
|
17
17
|
trustedRootTarget: 'trusted_root.json',
|
|
18
18
|
cacheTTL: 3600000, // 1 hour
|
|
19
19
|
};
|
|
@@ -36,6 +36,7 @@ export class TrustedRootProvider {
|
|
|
36
36
|
namespace;
|
|
37
37
|
trustedRootTarget;
|
|
38
38
|
cacheTTL;
|
|
39
|
+
disableCache;
|
|
39
40
|
tufClient;
|
|
40
41
|
cachedRoot;
|
|
41
42
|
cacheTimestamp;
|
|
@@ -48,6 +49,7 @@ export class TrustedRootProvider {
|
|
|
48
49
|
this.namespace = options.namespace || DEFAULT_CONFIG.namespace;
|
|
49
50
|
this.trustedRootTarget = options.trustedRootTarget || DEFAULT_CONFIG.trustedRootTarget;
|
|
50
51
|
this.cacheTTL = options.cacheTTL ?? DEFAULT_CONFIG.cacheTTL;
|
|
52
|
+
this.disableCache = options.disableCache ?? false;
|
|
51
53
|
}
|
|
52
54
|
/**
|
|
53
55
|
* Initialize the TUF client
|
|
@@ -61,7 +63,7 @@ export class TrustedRootProvider {
|
|
|
61
63
|
const { TUFClient } = await import('@freedomofpress/tuf-browser');
|
|
62
64
|
// Get initial root metadata
|
|
63
65
|
const rootMetadata = this.initialRoot || await this.getDefaultRoot();
|
|
64
|
-
this.tufClient = new TUFClient(this.metadataUrl, rootMetadata, this.namespace, this.targetBaseUrl);
|
|
66
|
+
this.tufClient = new TUFClient(this.metadataUrl, rootMetadata, this.namespace, this.targetBaseUrl, { disableCache: this.disableCache });
|
|
65
67
|
}
|
|
66
68
|
catch (error) {
|
|
67
69
|
throw new Error(`Failed to initialize TUF client: ${error instanceof Error ? error.message : String(error)}`);
|
package/dist/trust/tuf.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuf.js","sourceRoot":"","sources":["../../src/trust/tuf.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"tuf.js","sourceRoot":"","sources":["../../src/trust/tuf.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@freedomofpress/sigstore-browser",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.11",
|
|
4
4
|
"description": "A minimal browser-only Sigstore verification library.",
|
|
5
5
|
"repository": {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/freedomofpress/sigstore-browser"
|
|
8
8
|
},
|
|
9
9
|
"main": "dist/index.js",
|
|
10
10
|
"type": "module",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@freedomofpress/crypto-browser": "^0.1.4",
|
|
44
|
-
"@freedomofpress/tuf-browser": "^0.1.
|
|
44
|
+
"@freedomofpress/tuf-browser": "^0.1.8",
|
|
45
45
|
"@noble/curves": "^2.0.1"
|
|
46
46
|
}
|
|
47
47
|
}
|
package/src/trust/tuf.ts
CHANGED
|
@@ -35,7 +35,7 @@ export interface TrustedRootProviderOptions {
|
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
37
|
* Namespace for TUF cache storage
|
|
38
|
-
* Default: '
|
|
38
|
+
* Default: 'tuf-cache'
|
|
39
39
|
*/
|
|
40
40
|
namespace?: string;
|
|
41
41
|
|
|
@@ -50,6 +50,12 @@ export interface TrustedRootProviderOptions {
|
|
|
50
50
|
* Default: 1 hour (3600000 ms)
|
|
51
51
|
*/
|
|
52
52
|
cacheTTL?: number;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Disable persistent caching (use in-memory only)
|
|
56
|
+
* Default: false
|
|
57
|
+
*/
|
|
58
|
+
disableCache?: boolean;
|
|
53
59
|
}
|
|
54
60
|
|
|
55
61
|
/**
|
|
@@ -58,7 +64,7 @@ export interface TrustedRootProviderOptions {
|
|
|
58
64
|
const DEFAULT_CONFIG = {
|
|
59
65
|
metadataUrl: 'https://tuf-repo-cdn.sigstore.dev/',
|
|
60
66
|
targetBaseUrl: 'https://tuf-repo-cdn.sigstore.dev/targets/',
|
|
61
|
-
namespace: '
|
|
67
|
+
namespace: 'tuf-cache',
|
|
62
68
|
trustedRootTarget: 'trusted_root.json',
|
|
63
69
|
cacheTTL: 3600000, // 1 hour
|
|
64
70
|
};
|
|
@@ -82,6 +88,7 @@ export class TrustedRootProvider {
|
|
|
82
88
|
private namespace: string;
|
|
83
89
|
private trustedRootTarget: string;
|
|
84
90
|
private cacheTTL: number;
|
|
91
|
+
private disableCache: boolean;
|
|
85
92
|
|
|
86
93
|
private tufClient?: TUFClient;
|
|
87
94
|
private cachedRoot?: TrustedRoot;
|
|
@@ -96,6 +103,7 @@ export class TrustedRootProvider {
|
|
|
96
103
|
this.namespace = options.namespace || DEFAULT_CONFIG.namespace;
|
|
97
104
|
this.trustedRootTarget = options.trustedRootTarget || DEFAULT_CONFIG.trustedRootTarget;
|
|
98
105
|
this.cacheTTL = options.cacheTTL ?? DEFAULT_CONFIG.cacheTTL;
|
|
106
|
+
this.disableCache = options.disableCache ?? false;
|
|
99
107
|
}
|
|
100
108
|
|
|
101
109
|
/**
|
|
@@ -117,7 +125,8 @@ export class TrustedRootProvider {
|
|
|
117
125
|
this.metadataUrl,
|
|
118
126
|
rootMetadata,
|
|
119
127
|
this.namespace,
|
|
120
|
-
this.targetBaseUrl
|
|
128
|
+
this.targetBaseUrl,
|
|
129
|
+
{ disableCache: this.disableCache }
|
|
121
130
|
);
|
|
122
131
|
} catch (error) {
|
|
123
132
|
throw new Error(
|