Skip to content

Commit b62e39c

Browse files
committed
README: update docs, examples
Signed-off-by: William Woodruff <[email protected]>
1 parent 3ab05a7 commit b62e39c

File tree

1 file changed

+20
-29
lines changed

1 file changed

+20
-29
lines changed

README.md

+20-29
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,13 @@ Sigstore instance options:
153153
154154
### Verifying
155155
156+
#### Identities
157+
158+
This is the most common verification done with `sigstore`, and therefore
159+
the one you probably want: you can use it to verify that a signature was
160+
produced by a particular identity (like `[email protected]`), as attested
161+
to by a particular OIDC provider (like `https://github.com/login/oauth`).
162+
156163
<!-- @begin-sigstore-verify-identity-help@ -->
157164
```
158165
usage: sigstore verify identity [-h] [--certificate FILE] [--signature FILE]
@@ -207,6 +214,10 @@ Sigstore instance options:
207214
```
208215
<!-- @end-sigstore-verify-identity-help@ -->
209216
217+
For backwards compatibility, `sigstore verify [args ...]` is equivalent to
218+
`sigstore verify identity [args ...]`, but the latter form is **strongly**
219+
preferred.
220+
210221
## Example uses
211222
212223
`sigstore` supports a wide variety of workflows and usages. Some common ones are
@@ -272,51 +283,31 @@ same directory as the file being verified:
272283

273284
```console
274285
# looks for foo.txt.sig and foo.txt.crt
275-
$ python -m sigstore verify foo.txt
286+
$ python -m sigstore verify identity foo.txt \
287+
--cert-identity '[email protected]' \
288+
--cert-oidc-issuer 'https://github.com/login/oauth'
276289
```
277290

278291
Multiple files can be verified at once:
279292

280293
```console
281294
# looks for {foo,bar}.txt.{sig,crt}
282-
$ python -m sigstore verify foo.txt bar.txt
295+
$ python -m sigstore verify identity foo.txt bar.txt \
296+
--cert-identity '[email protected]' \
297+
--cert-oidc-issuer 'https://github.com/login/oauth'
283298
```
284299

285300
If your signature and certificate are at different paths, you can specify them
286301
explicitly (but only for one file at a time):
287302

288303
```console
289-
$ python -m sigstore verify \
304+
$ python -m sigstore verify identity foo.txt \
290305
--certificate some/other/path/foo.crt \
291306
--signature some/other/path/foo.sig \
292-
foo.txt
307+
--cert-identity '[email protected]' \
308+
--cert-oidc-issuer 'https://github.com/login/oauth'
293309
```
294310

295-
### Extended verification against OpenID Connect claims
296-
297-
By default, `sigstore verify` only checks the validity of the certificate,
298-
the correctness of the signature, and the consistency of both with the
299-
certificate transparency log.
300-
301-
To assert further details about the signature (such as *who* or *what* signed for the artifact),
302-
you can test against the OpenID Connect claims embedded within it.
303-
304-
For example, to accept the signature and certificate only if they correspond to a particular
305-
email identity:
306-
307-
```console
308-
$ python -m sigstore verify --cert-email [email protected] foo.txt
309-
```
310-
311-
Or to accept only if the OpenID Connect issuer is the expected one:
312-
313-
```console
314-
$ python -m sigstore verify --cert-oidc-issuer https://github.com/login/oauth foo.txt
315-
```
316-
317-
These options can be combined, and further extended validation options (e.g., for
318-
signing results from GitHub Actions) are under development.
319-
320311
## Licensing
321312

322313
`sigstore` is licensed under the Apache 2.0 License.

0 commit comments

Comments
 (0)