@freedomofpress/sigstore-browser 0.1.11 → 0.1.13
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/README.md +5 -1
- package/dist/errors.js +0 -1
- package/dist/errors.js.map +1 -1
- package/dist/policy.js +105 -47
- package/dist/policy.js.map +1 -1
- package/dist/rfc3161/timestamp.js +0 -1
- package/dist/rfc3161/timestamp.js.map +1 -1
- package/dist/rfc3161/tstinfo.js +0 -1
- package/dist/rfc3161/tstinfo.js.map +1 -1
- package/dist/sigstore.d.ts +1 -0
- package/dist/sigstore.d.ts.map +1 -1
- package/dist/sigstore.js +14 -13
- package/dist/sigstore.js.map +1 -1
- package/dist/tlog/checkpoint.js +2 -8
- package/dist/tlog/checkpoint.js.map +1 -1
- package/dist/tlog/dsse.js.map +1 -1
- package/dist/tlog/intoto.js.map +1 -1
- package/dist/tlog/merkle.js.map +1 -1
- package/dist/trust/tuf-root.d.ts +3 -0
- package/dist/trust/tuf-root.d.ts.map +1 -0
- package/dist/trust/tuf-root.js +4 -0
- package/dist/trust/tuf-root.js.map +1 -0
- package/dist/trust/tuf.d.ts.map +1 -1
- package/dist/trust/tuf.js +2 -13
- package/dist/trust/tuf.js.map +1 -1
- package/dist/x509/cert.js +0 -1
- package/dist/x509/cert.js.map +1 -1
- package/dist/x509/chain.js +0 -4
- package/dist/x509/chain.js.map +1 -1
- package/dist/x509/ext.js +0 -1
- package/dist/x509/ext.js.map +1 -1
- package/dist/x509/sct.js +0 -7
- package/dist/x509/sct.js.map +1 -1
- package/package.json +3 -3
- package/src/rfc3161/timestamp.ts +1 -1
- package/src/rfc3161/tstinfo.ts +1 -1
- package/src/sigstore.ts +33 -18
- package/src/tlog/checkpoint.ts +2 -2
- package/src/tlog/dsse.ts +2 -2
- package/src/tlog/intoto.ts +1 -1
- package/src/tlog/merkle.ts +2 -2
- package/src/trust/tuf-root.ts +3 -0
- package/src/trust/tuf.ts +2 -3
- package/tsconfig.json +2 -2
- package/vite.config.ts +1 -1
- package/dist/trust/tuf-root.json +0 -1
- package/src/trust/tuf-root.json +0 -1
package/README.md
CHANGED
|
@@ -49,7 +49,9 @@ const verified = await verifier.verifyArtifact(
|
|
|
49
49
|
'identity@example.com', // Expected signer identity (SAN)
|
|
50
50
|
'https://accounts.google.com', // Expected OIDC issuer
|
|
51
51
|
bundle,
|
|
52
|
-
artifactData
|
|
52
|
+
artifactData,
|
|
53
|
+
false,
|
|
54
|
+
policy // Optional VerificationPolicy
|
|
53
55
|
);
|
|
54
56
|
```
|
|
55
57
|
|
|
@@ -77,6 +79,8 @@ The `verifyArtifact` method performs the following checks:
|
|
|
77
79
|
8. **TSA Timestamp Verification**: RFC 3161 timestamp verification (if configured)
|
|
78
80
|
9. **Signature Verification**: Artifact signature using certificate's public key
|
|
79
81
|
|
|
82
|
+
`verifyArtifact` accepts an optional `VerificationPolicy` as the last argument to enforce custom certificate claim checks.
|
|
83
|
+
|
|
80
84
|
## Development
|
|
81
85
|
|
|
82
86
|
```bash
|
package/dist/errors.js
CHANGED
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;EAcE;AAEF;;;GAGG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;EAcE;AAEF;;;GAGG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAmB,IAAY,EAAE,OAAe;QAC9C,KAAK,CAAC,OAAO,CAAC,CAAC;QADE,SAAI,GAAJ,IAAI,CAAQ;QAE7B,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,iBAAiB;IACnD,YAAY,OAAe;QACzB,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,iBAAiB;IACrD,YAAY,OAAe;QACzB,KAAK,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,iBAAiB;IAC9C,YAAY,OAAe;QACzB,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,iBAAiB;IACnD,YAAY,OAAe;QACzB,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,iBAAiB;IAChD,YAAY,OAAe;QACzB,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;CACF"}
|
package/dist/policy.js
CHANGED
|
@@ -22,7 +22,6 @@ export const GITHUB_OIDC_ISSUER = "https://token.actions.githubusercontent.com";
|
|
|
22
22
|
* Base class for V1 extension policies (raw OCTET STRING value).
|
|
23
23
|
*/
|
|
24
24
|
class SingleX509ExtPolicyV1 {
|
|
25
|
-
expectedValue;
|
|
26
25
|
constructor(value) {
|
|
27
26
|
this.expectedValue = value;
|
|
28
27
|
}
|
|
@@ -51,8 +50,11 @@ class SingleX509ExtPolicyV2 extends SingleX509ExtPolicyV1 {
|
|
|
51
50
|
* OID: 1.3.6.1.4.1.57264.1.1
|
|
52
51
|
*/
|
|
53
52
|
export class OIDCIssuer extends SingleX509ExtPolicyV1 {
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
constructor() {
|
|
54
|
+
super(...arguments);
|
|
55
|
+
this.oid = EXTENSION_OID_FULCIO_ISSUER_V1;
|
|
56
|
+
this.name = "OIDCIssuer";
|
|
57
|
+
}
|
|
56
58
|
getExtensionValue(cert) {
|
|
57
59
|
return cert.extFulcioIssuerV1?.issuer;
|
|
58
60
|
}
|
|
@@ -62,8 +64,11 @@ export class OIDCIssuer extends SingleX509ExtPolicyV1 {
|
|
|
62
64
|
* OID: 1.3.6.1.4.1.57264.1.2
|
|
63
65
|
*/
|
|
64
66
|
export class GitHubWorkflowTrigger extends SingleX509ExtPolicyV1 {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
+
constructor() {
|
|
68
|
+
super(...arguments);
|
|
69
|
+
this.oid = EXTENSION_OID_GITHUB_WORKFLOW_TRIGGER;
|
|
70
|
+
this.name = "GitHubWorkflowTrigger";
|
|
71
|
+
}
|
|
67
72
|
getExtensionValue(cert) {
|
|
68
73
|
return cert.extGitHubWorkflowTrigger?.workflowTrigger;
|
|
69
74
|
}
|
|
@@ -73,8 +78,11 @@ export class GitHubWorkflowTrigger extends SingleX509ExtPolicyV1 {
|
|
|
73
78
|
* OID: 1.3.6.1.4.1.57264.1.3
|
|
74
79
|
*/
|
|
75
80
|
export class GitHubWorkflowSHA extends SingleX509ExtPolicyV1 {
|
|
76
|
-
|
|
77
|
-
|
|
81
|
+
constructor() {
|
|
82
|
+
super(...arguments);
|
|
83
|
+
this.oid = EXTENSION_OID_GITHUB_WORKFLOW_SHA;
|
|
84
|
+
this.name = "GitHubWorkflowSHA";
|
|
85
|
+
}
|
|
78
86
|
getExtensionValue(cert) {
|
|
79
87
|
return cert.extGitHubWorkflowSHA?.workflowSHA;
|
|
80
88
|
}
|
|
@@ -84,8 +92,11 @@ export class GitHubWorkflowSHA extends SingleX509ExtPolicyV1 {
|
|
|
84
92
|
* OID: 1.3.6.1.4.1.57264.1.4
|
|
85
93
|
*/
|
|
86
94
|
export class GitHubWorkflowName extends SingleX509ExtPolicyV1 {
|
|
87
|
-
|
|
88
|
-
|
|
95
|
+
constructor() {
|
|
96
|
+
super(...arguments);
|
|
97
|
+
this.oid = EXTENSION_OID_GITHUB_WORKFLOW_NAME;
|
|
98
|
+
this.name = "GitHubWorkflowName";
|
|
99
|
+
}
|
|
89
100
|
getExtensionValue(cert) {
|
|
90
101
|
return cert.extGitHubWorkflowName?.workflowName;
|
|
91
102
|
}
|
|
@@ -95,8 +106,11 @@ export class GitHubWorkflowName extends SingleX509ExtPolicyV1 {
|
|
|
95
106
|
* OID: 1.3.6.1.4.1.57264.1.5
|
|
96
107
|
*/
|
|
97
108
|
export class GitHubWorkflowRepository extends SingleX509ExtPolicyV1 {
|
|
98
|
-
|
|
99
|
-
|
|
109
|
+
constructor() {
|
|
110
|
+
super(...arguments);
|
|
111
|
+
this.oid = EXTENSION_OID_GITHUB_WORKFLOW_REPOSITORY;
|
|
112
|
+
this.name = "GitHubWorkflowRepository";
|
|
113
|
+
}
|
|
100
114
|
getExtensionValue(cert) {
|
|
101
115
|
return cert.extGitHubWorkflowRepository?.workflowRepository;
|
|
102
116
|
}
|
|
@@ -106,8 +120,11 @@ export class GitHubWorkflowRepository extends SingleX509ExtPolicyV1 {
|
|
|
106
120
|
* OID: 1.3.6.1.4.1.57264.1.6
|
|
107
121
|
*/
|
|
108
122
|
export class GitHubWorkflowRef extends SingleX509ExtPolicyV1 {
|
|
109
|
-
|
|
110
|
-
|
|
123
|
+
constructor() {
|
|
124
|
+
super(...arguments);
|
|
125
|
+
this.oid = EXTENSION_OID_GITHUB_WORKFLOW_REF;
|
|
126
|
+
this.name = "GitHubWorkflowRef";
|
|
127
|
+
}
|
|
111
128
|
getExtensionValue(cert) {
|
|
112
129
|
return cert.extGitHubWorkflowRef?.workflowRef;
|
|
113
130
|
}
|
|
@@ -120,8 +137,11 @@ export class GitHubWorkflowRef extends SingleX509ExtPolicyV1 {
|
|
|
120
137
|
* OID: 1.3.6.1.4.1.57264.1.8
|
|
121
138
|
*/
|
|
122
139
|
export class OIDCIssuerV2 extends SingleX509ExtPolicyV2 {
|
|
123
|
-
|
|
124
|
-
|
|
140
|
+
constructor() {
|
|
141
|
+
super(...arguments);
|
|
142
|
+
this.oid = EXTENSION_OID_FULCIO_ISSUER_V2;
|
|
143
|
+
this.name = "OIDCIssuerV2";
|
|
144
|
+
}
|
|
125
145
|
getExtensionValue(cert) {
|
|
126
146
|
return cert.extFulcioIssuerV2?.issuer;
|
|
127
147
|
}
|
|
@@ -131,8 +151,11 @@ export class OIDCIssuerV2 extends SingleX509ExtPolicyV2 {
|
|
|
131
151
|
* OID: 1.3.6.1.4.1.57264.1.9
|
|
132
152
|
*/
|
|
133
153
|
export class OIDCBuildSignerURI extends SingleX509ExtPolicyV2 {
|
|
134
|
-
|
|
135
|
-
|
|
154
|
+
constructor() {
|
|
155
|
+
super(...arguments);
|
|
156
|
+
this.oid = EXTENSION_OID_BUILD_SIGNER_URI;
|
|
157
|
+
this.name = "OIDCBuildSignerURI";
|
|
158
|
+
}
|
|
136
159
|
getExtensionValue(cert) {
|
|
137
160
|
return cert.extBuildSignerURI?.buildSignerURI;
|
|
138
161
|
}
|
|
@@ -142,8 +165,11 @@ export class OIDCBuildSignerURI extends SingleX509ExtPolicyV2 {
|
|
|
142
165
|
* OID: 1.3.6.1.4.1.57264.1.10
|
|
143
166
|
*/
|
|
144
167
|
export class OIDCBuildSignerDigest extends SingleX509ExtPolicyV2 {
|
|
145
|
-
|
|
146
|
-
|
|
168
|
+
constructor() {
|
|
169
|
+
super(...arguments);
|
|
170
|
+
this.oid = EXTENSION_OID_BUILD_SIGNER_DIGEST;
|
|
171
|
+
this.name = "OIDCBuildSignerDigest";
|
|
172
|
+
}
|
|
147
173
|
getExtensionValue(cert) {
|
|
148
174
|
return cert.extBuildSignerDigest?.buildSignerDigest;
|
|
149
175
|
}
|
|
@@ -153,8 +179,11 @@ export class OIDCBuildSignerDigest extends SingleX509ExtPolicyV2 {
|
|
|
153
179
|
* OID: 1.3.6.1.4.1.57264.1.11
|
|
154
180
|
*/
|
|
155
181
|
export class OIDCRunnerEnvironment extends SingleX509ExtPolicyV2 {
|
|
156
|
-
|
|
157
|
-
|
|
182
|
+
constructor() {
|
|
183
|
+
super(...arguments);
|
|
184
|
+
this.oid = EXTENSION_OID_RUNNER_ENVIRONMENT;
|
|
185
|
+
this.name = "OIDCRunnerEnvironment";
|
|
186
|
+
}
|
|
158
187
|
getExtensionValue(cert) {
|
|
159
188
|
return cert.extRunnerEnvironment?.runnerEnvironment;
|
|
160
189
|
}
|
|
@@ -164,8 +193,11 @@ export class OIDCRunnerEnvironment extends SingleX509ExtPolicyV2 {
|
|
|
164
193
|
* OID: 1.3.6.1.4.1.57264.1.12
|
|
165
194
|
*/
|
|
166
195
|
export class OIDCSourceRepositoryURI extends SingleX509ExtPolicyV2 {
|
|
167
|
-
|
|
168
|
-
|
|
196
|
+
constructor() {
|
|
197
|
+
super(...arguments);
|
|
198
|
+
this.oid = EXTENSION_OID_SOURCE_REPOSITORY_URI;
|
|
199
|
+
this.name = "OIDCSourceRepositoryURI";
|
|
200
|
+
}
|
|
169
201
|
getExtensionValue(cert) {
|
|
170
202
|
return cert.extSourceRepositoryURI?.sourceRepositoryURI;
|
|
171
203
|
}
|
|
@@ -175,8 +207,11 @@ export class OIDCSourceRepositoryURI extends SingleX509ExtPolicyV2 {
|
|
|
175
207
|
* OID: 1.3.6.1.4.1.57264.1.13
|
|
176
208
|
*/
|
|
177
209
|
export class OIDCSourceRepositoryDigest extends SingleX509ExtPolicyV2 {
|
|
178
|
-
|
|
179
|
-
|
|
210
|
+
constructor() {
|
|
211
|
+
super(...arguments);
|
|
212
|
+
this.oid = EXTENSION_OID_SOURCE_REPOSITORY_DIGEST;
|
|
213
|
+
this.name = "OIDCSourceRepositoryDigest";
|
|
214
|
+
}
|
|
180
215
|
getExtensionValue(cert) {
|
|
181
216
|
return cert.extSourceRepositoryDigest?.sourceRepositoryDigest;
|
|
182
217
|
}
|
|
@@ -186,8 +221,11 @@ export class OIDCSourceRepositoryDigest extends SingleX509ExtPolicyV2 {
|
|
|
186
221
|
* OID: 1.3.6.1.4.1.57264.1.14
|
|
187
222
|
*/
|
|
188
223
|
export class OIDCSourceRepositoryRef extends SingleX509ExtPolicyV2 {
|
|
189
|
-
|
|
190
|
-
|
|
224
|
+
constructor() {
|
|
225
|
+
super(...arguments);
|
|
226
|
+
this.oid = EXTENSION_OID_SOURCE_REPOSITORY_REF;
|
|
227
|
+
this.name = "OIDCSourceRepositoryRef";
|
|
228
|
+
}
|
|
191
229
|
getExtensionValue(cert) {
|
|
192
230
|
return cert.extSourceRepositoryRef?.sourceRepositoryRef;
|
|
193
231
|
}
|
|
@@ -197,8 +235,11 @@ export class OIDCSourceRepositoryRef extends SingleX509ExtPolicyV2 {
|
|
|
197
235
|
* OID: 1.3.6.1.4.1.57264.1.15
|
|
198
236
|
*/
|
|
199
237
|
export class OIDCSourceRepositoryIdentifier extends SingleX509ExtPolicyV2 {
|
|
200
|
-
|
|
201
|
-
|
|
238
|
+
constructor() {
|
|
239
|
+
super(...arguments);
|
|
240
|
+
this.oid = EXTENSION_OID_SOURCE_REPOSITORY_IDENTIFIER;
|
|
241
|
+
this.name = "OIDCSourceRepositoryIdentifier";
|
|
242
|
+
}
|
|
202
243
|
getExtensionValue(cert) {
|
|
203
244
|
return cert.extSourceRepositoryIdentifier?.sourceRepositoryIdentifier;
|
|
204
245
|
}
|
|
@@ -208,8 +249,11 @@ export class OIDCSourceRepositoryIdentifier extends SingleX509ExtPolicyV2 {
|
|
|
208
249
|
* OID: 1.3.6.1.4.1.57264.1.16
|
|
209
250
|
*/
|
|
210
251
|
export class OIDCSourceRepositoryOwnerURI extends SingleX509ExtPolicyV2 {
|
|
211
|
-
|
|
212
|
-
|
|
252
|
+
constructor() {
|
|
253
|
+
super(...arguments);
|
|
254
|
+
this.oid = EXTENSION_OID_SOURCE_REPOSITORY_OWNER_URI;
|
|
255
|
+
this.name = "OIDCSourceRepositoryOwnerURI";
|
|
256
|
+
}
|
|
213
257
|
getExtensionValue(cert) {
|
|
214
258
|
return cert.extSourceRepositoryOwnerURI?.sourceRepositoryOwnerURI;
|
|
215
259
|
}
|
|
@@ -219,8 +263,11 @@ export class OIDCSourceRepositoryOwnerURI extends SingleX509ExtPolicyV2 {
|
|
|
219
263
|
* OID: 1.3.6.1.4.1.57264.1.17
|
|
220
264
|
*/
|
|
221
265
|
export class OIDCSourceRepositoryOwnerIdentifier extends SingleX509ExtPolicyV2 {
|
|
222
|
-
|
|
223
|
-
|
|
266
|
+
constructor() {
|
|
267
|
+
super(...arguments);
|
|
268
|
+
this.oid = EXTENSION_OID_SOURCE_REPOSITORY_OWNER_IDENTIFIER;
|
|
269
|
+
this.name = "OIDCSourceRepositoryOwnerIdentifier";
|
|
270
|
+
}
|
|
224
271
|
getExtensionValue(cert) {
|
|
225
272
|
return cert.extSourceRepositoryOwnerIdentifier?.sourceRepositoryOwnerIdentifier;
|
|
226
273
|
}
|
|
@@ -230,8 +277,11 @@ export class OIDCSourceRepositoryOwnerIdentifier extends SingleX509ExtPolicyV2 {
|
|
|
230
277
|
* OID: 1.3.6.1.4.1.57264.1.18
|
|
231
278
|
*/
|
|
232
279
|
export class OIDCBuildConfigURI extends SingleX509ExtPolicyV2 {
|
|
233
|
-
|
|
234
|
-
|
|
280
|
+
constructor() {
|
|
281
|
+
super(...arguments);
|
|
282
|
+
this.oid = EXTENSION_OID_BUILD_CONFIG_URI;
|
|
283
|
+
this.name = "OIDCBuildConfigURI";
|
|
284
|
+
}
|
|
235
285
|
getExtensionValue(cert) {
|
|
236
286
|
return cert.extBuildConfigURI?.buildConfigURI;
|
|
237
287
|
}
|
|
@@ -241,8 +291,11 @@ export class OIDCBuildConfigURI extends SingleX509ExtPolicyV2 {
|
|
|
241
291
|
* OID: 1.3.6.1.4.1.57264.1.19
|
|
242
292
|
*/
|
|
243
293
|
export class OIDCBuildConfigDigest extends SingleX509ExtPolicyV2 {
|
|
244
|
-
|
|
245
|
-
|
|
294
|
+
constructor() {
|
|
295
|
+
super(...arguments);
|
|
296
|
+
this.oid = EXTENSION_OID_BUILD_CONFIG_DIGEST;
|
|
297
|
+
this.name = "OIDCBuildConfigDigest";
|
|
298
|
+
}
|
|
246
299
|
getExtensionValue(cert) {
|
|
247
300
|
return cert.extBuildConfigDigest?.buildConfigDigest;
|
|
248
301
|
}
|
|
@@ -252,8 +305,11 @@ export class OIDCBuildConfigDigest extends SingleX509ExtPolicyV2 {
|
|
|
252
305
|
* OID: 1.3.6.1.4.1.57264.1.20
|
|
253
306
|
*/
|
|
254
307
|
export class OIDCBuildTrigger extends SingleX509ExtPolicyV2 {
|
|
255
|
-
|
|
256
|
-
|
|
308
|
+
constructor() {
|
|
309
|
+
super(...arguments);
|
|
310
|
+
this.oid = EXTENSION_OID_BUILD_TRIGGER;
|
|
311
|
+
this.name = "OIDCBuildTrigger";
|
|
312
|
+
}
|
|
257
313
|
getExtensionValue(cert) {
|
|
258
314
|
return cert.extBuildTrigger?.buildTrigger;
|
|
259
315
|
}
|
|
@@ -263,8 +319,11 @@ export class OIDCBuildTrigger extends SingleX509ExtPolicyV2 {
|
|
|
263
319
|
* OID: 1.3.6.1.4.1.57264.1.21
|
|
264
320
|
*/
|
|
265
321
|
export class OIDCRunInvocationURI extends SingleX509ExtPolicyV2 {
|
|
266
|
-
|
|
267
|
-
|
|
322
|
+
constructor() {
|
|
323
|
+
super(...arguments);
|
|
324
|
+
this.oid = EXTENSION_OID_RUN_INVOCATION_URI;
|
|
325
|
+
this.name = "OIDCRunInvocationURI";
|
|
326
|
+
}
|
|
268
327
|
getExtensionValue(cert) {
|
|
269
328
|
return cert.extRunInvocationURI?.runInvocationURI;
|
|
270
329
|
}
|
|
@@ -274,8 +333,11 @@ export class OIDCRunInvocationURI extends SingleX509ExtPolicyV2 {
|
|
|
274
333
|
* OID: 1.3.6.1.4.1.57264.1.22
|
|
275
334
|
*/
|
|
276
335
|
export class OIDCSourceRepositoryVisibility extends SingleX509ExtPolicyV2 {
|
|
277
|
-
|
|
278
|
-
|
|
336
|
+
constructor() {
|
|
337
|
+
super(...arguments);
|
|
338
|
+
this.oid = EXTENSION_OID_SOURCE_REPOSITORY_VISIBILITY;
|
|
339
|
+
this.name = "OIDCSourceRepositoryVisibility";
|
|
340
|
+
}
|
|
279
341
|
getExtensionValue(cert) {
|
|
280
342
|
return cert.extSourceRepositoryVisibility?.sourceRepositoryVisibility;
|
|
281
343
|
}
|
|
@@ -288,7 +350,6 @@ export class OIDCSourceRepositoryVisibility extends SingleX509ExtPolicyV2 {
|
|
|
288
350
|
* An empty list of child policies is considered trivially invalid.
|
|
289
351
|
*/
|
|
290
352
|
export class AnyOf {
|
|
291
|
-
children;
|
|
292
353
|
constructor(children) {
|
|
293
354
|
this.children = children;
|
|
294
355
|
}
|
|
@@ -310,7 +371,6 @@ export class AnyOf {
|
|
|
310
371
|
* An empty list of child policies is considered trivially invalid.
|
|
311
372
|
*/
|
|
312
373
|
export class AllOf {
|
|
313
|
-
children;
|
|
314
374
|
constructor(children) {
|
|
315
375
|
this.children = children;
|
|
316
376
|
}
|
|
@@ -335,8 +395,6 @@ export class AllOf {
|
|
|
335
395
|
* Supported SAN types include emails, URIs, and Sigstore-specific "other names".
|
|
336
396
|
*/
|
|
337
397
|
export class Identity {
|
|
338
|
-
identity;
|
|
339
|
-
issuerPolicy;
|
|
340
398
|
constructor(options) {
|
|
341
399
|
this.identity = options.identity;
|
|
342
400
|
this.issuerPolicy = options.issuer ? new OIDCIssuer(options.issuer) : null;
|
package/dist/policy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAEL,8BAA8B,EAC9B,qCAAqC,EACrC,iCAAiC,EACjC,kCAAkC,EAClC,wCAAwC,EACxC,iCAAiC,EACjC,uBAAuB,EACvB,8BAA8B,EAC9B,8BAA8B,EAC9B,iCAAiC,EACjC,gCAAgC,EAChC,mCAAmC,EACnC,sCAAsC,EACtC,mCAAmC,EACnC,0CAA0C,EAC1C,yCAAyC,EACzC,gDAAgD,EAChD,8BAA8B,EAC9B,iCAAiC,EACjC,2BAA2B,EAC3B,gCAAgC,EAChC,0CAA0C,GAC3C,MAAM,gBAAgB,CAAC;AAExB,sCAAsC;AACtC,kJAAkJ;AAClJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,6CAA6C,CAAC;AAShF;;GAEG;AACH,MAAe,qBAAqB;
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,6 @@ const OID_PKCS9_CONTENT_TYPE_SIGNED_DATA = "1.2.840.113549.1.7.2";
|
|
|
22
22
|
const OID_PKCS9_CONTENT_TYPE_TSTINFO = "1.2.840.113549.1.9.16.1.4";
|
|
23
23
|
const OID_PKCS9_MESSAGE_DIGEST_KEY = "1.2.840.113549.1.9.4";
|
|
24
24
|
export class RFC3161Timestamp {
|
|
25
|
-
root;
|
|
26
25
|
constructor(asn1) {
|
|
27
26
|
this.root = asn1;
|
|
28
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timestamp.js","sourceRoot":"","sources":["../../src/rfc3161/timestamp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;EAcE;AACF,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACxF,OAAO,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,kCAAkC,GAAG,sBAAsB,CAAC;AAClE,MAAM,8BAA8B,GAAG,2BAA2B,CAAC;AACnE,MAAM,4BAA4B,GAAG,sBAAsB,CAAC;AAE5D,MAAM,OAAO,gBAAgB;
|
|
1
|
+
{"version":3,"file":"timestamp.js","sourceRoot":"","sources":["../../src/rfc3161/timestamp.ts"],"names":[],"mappings":"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"}
|
package/dist/rfc3161/tstinfo.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tstinfo.js","sourceRoot":"","sources":["../../src/rfc3161/tstinfo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;EAcE;AACF,OAAO,EAAW,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,OAAO,OAAO;
|
|
1
|
+
{"version":3,"file":"tstinfo.js","sourceRoot":"","sources":["../../src/rfc3161/tstinfo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;EAcE;AACF,OAAO,EAAW,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,OAAO,OAAO;IAGlB,YAAY,IAAa;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACpC,CAAC;IAED,IAAI,2BAA2B;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,+CAA+C,GAAG,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,2BAA2B;QAC7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9C,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,IAAgB;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,2BAA2B,CAAC;QAEjD,kEAAkE;QAClE,MAAM,WAAW,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC/C,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAC9C,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAE1E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CACvC,WAAW,EACX,IAAoB,CACrB,CAAC;QACF,IACE,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,2BAA2B,CAAC,EAC1E,CAAC;YACD,MAAM,IAAI,iCAAiC,CACzC,yCAAyC,CAC1C,CAAC;QACJ,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,IAAY,iBAAiB;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;CACF"}
|
package/dist/sigstore.d.ts
CHANGED
|
@@ -29,6 +29,7 @@ export declare class SigstoreVerifier {
|
|
|
29
29
|
verifySCT(cert: X509Certificate, issuer: X509Certificate, ctlogs: CTLog[]): Promise<Uint8Array[]>;
|
|
30
30
|
verifyInclusionPromise(cert: X509Certificate, bundle: SigstoreBundle, rekor: RekorKeyInfo | undefined): Promise<boolean>;
|
|
31
31
|
verifyInclusionProof(bundle: SigstoreBundle): Promise<void>;
|
|
32
|
+
verifyArtifactPolicy(policy: VerificationPolicy, bundle: SigstoreBundle, data: Uint8Array, isDigestOnly?: boolean): Promise<boolean>;
|
|
32
33
|
verifyArtifact(identity: string, issuer: string, bundle: SigstoreBundle, data: Uint8Array, isDigestOnly?: boolean): Promise<boolean>;
|
|
33
34
|
/**
|
|
34
35
|
* Verify a DSSE bundle using a verification policy.
|
package/dist/sigstore.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sigstore.d.ts","sourceRoot":"","sources":["../src/sigstore.ts"],"names":[],"mappings":"AAaA,OAAO,EAGL,eAAe,EAEhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EACL,aAAa,EACb,KAAK,EACL,MAAM,EACN,OAAO,EACP,uBAAuB,EACvB,YAAY,EAGZ,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"sigstore.d.ts","sourceRoot":"","sources":["../src/sigstore.ts"],"names":[],"mappings":"AAaA,OAAO,EAGL,eAAe,EAEhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EACL,aAAa,EACb,KAAK,EACL,MAAM,EACN,OAAO,EACP,uBAAuB,EACvB,YAAY,EAGZ,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAkCtD,MAAM,WAAW,uBAAuB;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,OAAO,CAAoC;gBAEvC,OAAO,GAAE,uBAA4B;IAU3C,OAAO,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IA4BhF,UAAU,CAAC,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAuCpE,sBAAsB,CAC1B,SAAS,EAAE,IAAI,EACf,IAAI,EAAE,eAAe,EACrB,sBAAsB,EAAE,aAAa,EAAE,GACtC,OAAO,CAAC,eAAe,EAAE,CAAC;IA2B7B,OAAO,CACL,eAAe,EAAE,IAAI,EACrB,IAAI,CAAC,EAAE,uBAAuB,GAC7B,aAAa,EAAE;IAiClB,MAAM,CAAC,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE;IAwBrD,gBAAgB,CAAC,OAAO,EAAE,WAAW;IAe3C;;;;;OAKG;IACG,uBAAuB,CAAC,WAAW,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWzE,SAAS,CACb,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,KAAK,EAAE,GACd,OAAO,CAAC,UAAU,EAAE,CAAC;IAkGlB,sBAAsB,CAC1B,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,YAAY,GAAG,SAAS,GAC9B,OAAO,CAAC,OAAO,CAAC;IA4Lb,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBpD,oBAAoB,CAC/B,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,UAAU,EAChB,YAAY,GAAE,OAAe,GAC5B,OAAO,CAAC,OAAO,CAAC;IAmKR,cAAc,CACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,UAAU,EAChB,YAAY,GAAE,OAAe,GAC5B,OAAO,CAAC,OAAO,CAAC;IAoBjB;;;;;;;;;;;;;;OAcG;IACU,UAAU,CACrB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,CAAA;KAAE,CAAC;CAkGzD"}
|
package/dist/sigstore.js
CHANGED
|
@@ -8,6 +8,7 @@ import { verifyCheckpoint } from "./tlog/checkpoint.js";
|
|
|
8
8
|
import { verifyTLogBody } from "./tlog/body.js";
|
|
9
9
|
import { verifyBundleTimestamp } from "./timestamp/tsa.js";
|
|
10
10
|
import { TrustedRootProvider } from "./trust/tuf.js";
|
|
11
|
+
import { AnyOf, AllOf, OIDCIssuer, OIDCIssuerV2, Identity } from "./policy.js";
|
|
11
12
|
const MEDIA_TYPE_BASE = "application/vnd.dev.sigstore.bundle";
|
|
12
13
|
/**
|
|
13
14
|
* Extract bundle version from mediaType string
|
|
@@ -36,9 +37,6 @@ function getBundleVersion(mediaType) {
|
|
|
36
37
|
return "0.1";
|
|
37
38
|
}
|
|
38
39
|
export class SigstoreVerifier {
|
|
39
|
-
root;
|
|
40
|
-
rawRoot;
|
|
41
|
-
options;
|
|
42
40
|
constructor(options = {}) {
|
|
43
41
|
this.root = undefined;
|
|
44
42
|
this.rawRoot = undefined;
|
|
@@ -435,7 +433,7 @@ export class SigstoreVerifier {
|
|
|
435
433
|
}
|
|
436
434
|
}
|
|
437
435
|
}
|
|
438
|
-
async
|
|
436
|
+
async verifyArtifactPolicy(policy, bundle, data, isDigestOnly = false) {
|
|
439
437
|
// Quick checks first: does the signing certificate have the correct identity?
|
|
440
438
|
if (!this.root) {
|
|
441
439
|
throw new Error("Sigstore root is undefined");
|
|
@@ -460,15 +458,8 @@ export class SigstoreVerifier {
|
|
|
460
458
|
else {
|
|
461
459
|
throw new Error("Bundle does not contain a message signature or DSSE envelope");
|
|
462
460
|
}
|
|
463
|
-
// # 1 Basic stuff
|
|
464
|
-
|
|
465
|
-
throw new Error("Certificate identity (subjectAltName) do not match the verifying one.");
|
|
466
|
-
}
|
|
467
|
-
// Check for issuer - try V2 first, fall back to V1 (like sigstore-js does)
|
|
468
|
-
const certIssuer = signingCert.extFulcioIssuerV2?.issuer || signingCert.extFulcioIssuerV1?.issuer;
|
|
469
|
-
if (certIssuer !== issuer) {
|
|
470
|
-
throw new Error("Identity issuer is not the verifying one.");
|
|
471
|
-
}
|
|
461
|
+
// # 1 Basic stuff: ceritificate policy validation
|
|
462
|
+
policy.verify(signingCert);
|
|
472
463
|
// # 2 Certificate validity - verify chain to trusted CA
|
|
473
464
|
// Similar to sigstore-js key/index.ts:59-64 which calls verifyCertificateChain()
|
|
474
465
|
// Returns the verified certificate path [leaf, intermediate(s), root]
|
|
@@ -566,6 +557,16 @@ export class SigstoreVerifier {
|
|
|
566
557
|
}
|
|
567
558
|
return true;
|
|
568
559
|
}
|
|
560
|
+
async verifyArtifact(identity, issuer, bundle, data, isDigestOnly = false) {
|
|
561
|
+
const policy = new AllOf([
|
|
562
|
+
new Identity({ identity }),
|
|
563
|
+
new AnyOf([
|
|
564
|
+
new OIDCIssuerV2(issuer),
|
|
565
|
+
new OIDCIssuer(issuer),
|
|
566
|
+
]),
|
|
567
|
+
]);
|
|
568
|
+
return this.verifyArtifactPolicy(policy, bundle, data, isDigestOnly);
|
|
569
|
+
}
|
|
569
570
|
/**
|
|
570
571
|
* Verify a DSSE bundle using a verification policy.
|
|
571
572
|
* This matches sigstore-python's verify_dsse API.
|