Skip to content

Commit 8b1ea18

Browse files
committed
Resolving merge conflicts.
Signed-off-by: hayleycd <[email protected]>
2 parents 97f80e2 + cb7a54b commit 8b1ea18

File tree

7 files changed

+416
-5
lines changed

7 files changed

+416
-5
lines changed

content/en/about/bundle.md

Lines changed: 315 additions & 0 deletions
Large diffs are not rendered by default.

content/en/cosign/system_config/custom_components.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,15 @@ This page contains instructions on how to configure Cosign to work with alternat
99

1010
Verifying keyless signatures require verifying signatures from Rekor, material (SCTs) from the CT log, and certificates that chain up to Fulcio. The public keys and root certificates for these components are distributed through [TUF](https://theupdateframework.io/) repositories. By default, Cosign uses a TUF client that has an initial trust in an embedded root and then fetches updated verification material from our public-good-instance TUF repository created on the [root-signing](https://github.com/sigstore/root-signing) GitHub repository.
1111

12-
There are three options to configure Cosign to verify against custom components:
12+
There are several options to configure Cosign to verify against custom components:
1313

1414
1. Use [scaffolding](https://github.com/sigstore/scaffolding) to create a custom Sigstore stack. This provides a TUF root distributing verification material for the custom components, and pre-configured Cosign with the trust root.
1515

1616
2. Create a TUF repository yourself, using [go-tuf](https://github.com/theupdateframework/go-tuf) or [python-tuf](https://github.com/theupdateframework/python-tuf)'s repository writers. Instructions for how to configure this root is in this [blog post](https://blog.sigstore.dev/sigstore-bring-your-own-stuf-with-tuf-40febfd2badd). This [script](https://gist.github.com/asraa/947f1a38afd03af57c7b71d893c36af0) can be used to create a TUF repository from the custom Fulcio, Rekor, and CT log verification material.
1717

18-
3. As a last resort, you may also use the following environment variables to configure custom keys out of band.
18+
3. TUF is recommended because it makes it easy to distribute up-to-date key material to clients. However, if you aren't using TUF, you can manually assemble trusted key material into a trusted root file with `cosign trusted-root create ...`. You can then supply that trusted root file to `cosign verify` commands with `--trusted-root`.
19+
20+
4. As a last resort, you may also use the following environment variables to configure custom keys out of band.
1921

2022
| Env Variable | Description |
2123
| ---------- | ------------------- |

content/en/cosign/verifying/verify.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,12 @@ You can override the public good instance CA using the environment variable `SIG
248248
export SIGSTORE_ROOT_FILE="/home/jdoe/myrootCA.pem"
249249
```
250250

251+
## New bundle format coming soon
252+
253+
There's a new bundle format using [bundle protobuf-specs](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) that has a number of advantages over the previous bundle format: it supports offline verification, and includes additional information (like signed timestamps and attestations) in a single file.
254+
255+
You can take existing signed material and make a new protobuf bundle with `cosign bundle create ...`.
256+
251257
## Experimental Features
252258

253259
### Verify a signature was added to the transparency log
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
type: docs
3+
title: "Go"
4+
description: "Go Language Client"
5+
lead: "Go Language Client"
6+
date: 2024-10-06T08:49:15+00:00
7+
lastmod: 2024-10-06T08:49:15+00:00
8+
draft: false
9+
images: []
10+
weight: 60
11+
---
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
---
2+
type: docs
3+
category: Go
4+
title: Go Client Overview
5+
weight: 5
6+
---
7+
8+
[`sigstore-go`](https://pkg.go.dev/github.com/sigstore/sigstore-go) is the Go language client library for Sigstore.
9+
10+
`sigstore-go` is intended as a minimal dependency library for signing and verifying. It's not intended to replace [cosign](../../cosign/signing/overview.md), which provides a CLI with many features for interacting with Sigstore. Over time, `cosign` will use `sigstore-go` for verification.
11+
12+
- Friendly API for integrating Go code with Sigstore
13+
- Smaller dependency tree
14+
- Focuses on newly specified data structures in [sigstore/protobuf-specs](https://github.com/sigstore/protobuf-specs)
15+
- Perfect for simple signing and verififcation tasks
16+
17+
`sigstore-go` is currently in beta.
18+
19+
## Features
20+
21+
- Signing and verification of [Sigstore bundles](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto)
22+
- Verification of raw Sigstore signatures
23+
- Signing and verifying with a Timestamp Authority (TSA)
24+
- Online and offline signing and verifying with Rekor (Artifact Transparency Log)
25+
- Structured verification results including certificate metadata
26+
- TUF support
27+
- Verification support for custom [trusted root](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_trustroot.proto)
28+
- Basic CLI
29+
30+
## Installation
31+
32+
### Main CLI installation
33+
34+
`sigstore-go` requires Go 1.21 or greater. The package is tested with Go 1.23.
35+
36+
To compile/install the CLI, clone [`sigstore-go`](https://github.com/sigstore/sigstore-go) and run.
37+
38+
```console
39+
make install
40+
```
41+
42+
Alternatively, you can use `go run cmd/sigstore-go/main.go` to access the CLI, as show in the [example](#cli-example).
43+
44+
## Example
45+
46+
### CLI example
47+
48+
The following is an example of using the sigstore-go CLI to verify a signature.
49+
50+
```console
51+
go run cmd/sigstore-go/main.go \
52+
-artifact-digest 76176ffa33808b54602c7c35de5c6e9a4deb96066dba6533f50ac234f4f1f4c6b3527515dc17c06fbe2860030f410eee69ea20079bd3a2c6f3dcf3b329b10751 \
53+
-artifact-digest-algorithm sha512 \
54+
-expectedIssuer https://token.actions.githubusercontent.com \
55+
-expectedSAN https://github.com/sigstore/sigstore-js/.github/workflows/release.yml@refs/heads/main \
56+
examples/bundle-provenance.json
57+
Verification successful!
58+
{
59+
"version": 20230823,
60+
"statement": {
61+
"_type": "https://in-toto.io/Statement/v0.1",
62+
"predicateType": "https://slsa.dev/provenance/v0.2",
63+
"subject": ...
64+
},
65+
...
66+
}
67+
```
68+
69+
### Additional examples
70+
71+
Additional examples are available in the [project documentation](https://github.com/sigstore/sigstore-go#sigstore-go).
72+
73+
- [Signing example](https://github.com/sigstore/sigstore-go/blob/main/docs/signing.md#examples)
74+
- [Verifying example](https://github.com/sigstore/sigstore-go/blob/main/docs/verification.md#verification-using-sigstore-go)
75+
- [OCI image verifying example](https://github.com/sigstore/sigstore-go/blob/main/docs/oci-image-verification.md#example-of-oci-image-verification-using-sigstore-go)

content/en/language_clients/language_client_overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Sigstore uses [cosign](../../cosign/signing/overview) to sign and verify package
99

1010
Sigstore has clients for the following language ecosystems:
1111

12-
- [Go](https://github.com/sigstore/sigstore-go#sigstore-go)
12+
- [Go](../go/overview)
1313
- [Java](https://github.com/sigstore/sigstore-java#sigstore-java)
1414
- [JavaScript](../javascript/overview)
1515
- [Python](../python/overview)

content/en/language_clients/python/overview.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Full project documentation can be found in the [sigstore-python](https://github.
2626
python -m pip install sigstore
2727
```
2828

29-
Optionally, you can install `sigstore` and all its dependencies with [hash-checking mode](https://pip.pypa.io/en/stable/topics/secure-installs/#hash-checking-mode) enabled. Learn more about it in our [project documentation](https://github.com/sigstore/sigstore-python#installation)
29+
Optionally, you can install `sigstore` and all its dependencies with [hash-checking mode](https://pip.pypa.io/en/stable/topics/secure-installs/#hash-checking-mode) enabled. Learn more about it in the [project documentation](https://github.com/sigstore/sigstore-python#installation).
3030

3131
### GitHub Action Installation
3232

@@ -48,14 +48,16 @@ jobs:
4848
4949
### Signing example
5050
51-
For this example, we will sign a a file named `foo.txt`. [`sigstore`](https://pypi.org/project/sigstore/) will use OpenID Connect (OIDC) to veryify your email address.
51+
For this example, we will sign a a file named `foo.txt`. [`sigstore`](https://pypi.org/project/sigstore/) will use OpenID Connect (OIDC) to verify your email address.
5252

5353
Use the following command to sign `foo.txt`:
5454

5555
```console
5656
sigstore sign foo.txt
5757
```
5858

59+
This will produce `foo.txt.sigstore.json` for subsequent verification.
60+
5961
### Verifying example
6062

6163
To verify the signature on `foo.txt` run the following command:

0 commit comments

Comments
 (0)