Skip to content

Adding section for language clients. #336

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Oct 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions content/en/language_clients/_index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
type: docs
title: "Language Clients"
description: "Language Clients"
lead: "Language Clients"
date: 2024-10-06T08:49:15+00:00
lastmod: 2024-10-06T08:49:15+00:00
draft: false
images: []
weight: 20
---
19 changes: 19 additions & 0 deletions content/en/language_clients/language_client_overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
type: docs
category: Language Clients
title: Language Client Overview
weight: 5
---

Sigstore uses [cosign](../../cosign/signing/overview) to sign and verify packages by default, but you can opt to use a language specific client instead.

Sigstore has clients for the following language ecosystems:

- [Python](https://github.com/sigstore/sigstore-python#sigstore-python)
- [Rust](https://github.com/sigstore/sigstore-rs#features)
- [Ruby](https://github.com/sigstore/sigstore-ruby#sigstore)
- [JavaScript](https://github.com/sigstore/sigstore-js#sigstore-js---)
- [Java](https://github.com/sigstore/sigstore-java#sigstore-java)
- [Go](https://github.com/sigstore/sigstore-go#sigstore-go)

Currently, language client documentation is hosted in the individual project repositories. This documentation is being migrated to the general sigstore docs.
2 changes: 1 addition & 1 deletion content/en/quickstart/quickstart-cosign.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

Cosign is a command line utility that is used to sign software artifacts and verify signatures using Sigstore.

Sigstore has a number of language specific clients (like [sigstore-python](https://github.com/sigstore/sigstore-python)). These clients are SDKs that you can use to build custom tooling. Although a number of the clients include a basic CLI, Cosign is the recommended tool for signing and verifying.
Sigstore has a number of [language specific clients](../../language_clients/language_client_overview) that you can use to build custom tooling. Although a number of the clients include a basic CLI, Cosign is the recommended tool for signing and verifying.

This quickstart will walk you through how to sign and verify a blob and a container.

Expand All @@ -26,19 +26,19 @@

The basic signing format for a blob is as follows:

```

Check failure on line 29 in content/en/quickstart/quickstart-cosign.md

View workflow job for this annotation

GitHub Actions / markdownlint

Fenced code blocks should have a language specified

content/en/quickstart/quickstart-cosign.md:29 MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"] https://github.com/DavidAnson/markdownlint/blob/v0.29.0/doc/md040.md
$ cosign sign-blob <file> --bundle cosign.bundle

Check failure on line 30 in content/en/quickstart/quickstart-cosign.md

View workflow job for this annotation

GitHub Actions / markdownlint

Dollar signs used before commands without showing output

content/en/quickstart/quickstart-cosign.md:30:1 MD014/commands-show-output Dollar signs used before commands without showing output [Context: "$ cosign sign-blob <file> --bu..."] https://github.com/DavidAnson/markdownlint/blob/v0.29.0/doc/md014.md
```

The bundle contains signing metadata, including the signature and certificate.

The Cosign command requests a certificate from the Sigstore certificate authority, Fulcio. Fulcio checks your identity by using an authentication protocol (OpenID Connect) to confirm your email address. If your identity is correct, Fulcio grants a short-lived, time-stamped certificate. The certificate is bound to the public key to attest to your identity. This activity is logged using the Sigstore transparency and timestamping log, Rekor.

Note that you don’t need to use a key to sign. Currently, you can authenticate with Google, GitHub, or Microsoft, which will associate your identity with a short-lived signing key.

Check failure on line 37 in content/en/quickstart/quickstart-cosign.md

View workflow job for this annotation

GitHub Actions / markdownlint

Trailing spaces

content/en/quickstart/quickstart-cosign.md:37:181 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1] https://github.com/DavidAnson/markdownlint/blob/v0.29.0/doc/md009.md

For more information about Cosign's additional options and features, run the command:

```

Check failure on line 41 in content/en/quickstart/quickstart-cosign.md

View workflow job for this annotation

GitHub Actions / markdownlint

Fenced code blocks should have a language specified

content/en/quickstart/quickstart-cosign.md:41 MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"] https://github.com/DavidAnson/markdownlint/blob/v0.29.0/doc/md040.md
cosign sign-blob --help
```

Expand All @@ -54,7 +54,7 @@

The following example verifies the signature on `file.txt` from user `[email protected]` issued by `[email protected]`. It uses a provided bundle `cosign.bundle` that contains the certificate and signature.

```

Check failure on line 57 in content/en/quickstart/quickstart-cosign.md

View workflow job for this annotation

GitHub Actions / markdownlint

Fenced code blocks should have a language specified

content/en/quickstart/quickstart-cosign.md:57 MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"] https://github.com/DavidAnson/markdownlint/blob/v0.29.0/doc/md040.md
$ cosign verify-blob <file> --bundle cosign.bundle [email protected]
--certificate-oidc-issuer=https://accounts.example.com
```
Expand All @@ -67,11 +67,11 @@

To use `ttl.sh` and [crane](https://github.com/google/go-containerregistry/tree/main/cmd/crane) to prepare the image to sign, run the following:

```

Check failure on line 70 in content/en/quickstart/quickstart-cosign.md

View workflow job for this annotation

GitHub Actions / markdownlint

Fenced code blocks should have a language specified

content/en/quickstart/quickstart-cosign.md:70 MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"] https://github.com/DavidAnson/markdownlint/blob/v0.29.0/doc/md040.md
$ SRC_IMAGE=busybox

Check failure on line 71 in content/en/quickstart/quickstart-cosign.md

View workflow job for this annotation

GitHub Actions / markdownlint

Dollar signs used before commands without showing output

content/en/quickstart/quickstart-cosign.md:71:1 MD014/commands-show-output Dollar signs used before commands without showing output [Context: "$ SRC_IMAGE=busybox"] https://github.com/DavidAnson/markdownlint/blob/v0.29.0/doc/md014.md
$ SRC_DIGEST=$(crane digest busybox)

Check failure on line 72 in content/en/quickstart/quickstart-cosign.md

View workflow job for this annotation

GitHub Actions / markdownlint

Dollar signs used before commands without showing output

content/en/quickstart/quickstart-cosign.md:72:1 MD014/commands-show-output Dollar signs used before commands without showing output [Context: "$ SRC_DIGEST=$(crane digest bu..."] https://github.com/DavidAnson/markdownlint/blob/v0.29.0/doc/md014.md
$ IMAGE_URI=ttl.sh/$(uuidgen | head -c 8 | tr 'A-Z' 'a-z')

Check failure on line 73 in content/en/quickstart/quickstart-cosign.md

View workflow job for this annotation

GitHub Actions / markdownlint

Dollar signs used before commands without showing output

content/en/quickstart/quickstart-cosign.md:73:1 MD014/commands-show-output Dollar signs used before commands without showing output [Context: "$ IMAGE_URI=ttl.sh/$(uuidgen |..."] https://github.com/DavidAnson/markdownlint/blob/v0.29.0/doc/md014.md
$ crane cp $SRC_IMAGE@$SRC_DIGEST $IMAGE_URI:1h

Check failure on line 74 in content/en/quickstart/quickstart-cosign.md

View workflow job for this annotation

GitHub Actions / markdownlint

Dollar signs used before commands without showing output

content/en/quickstart/quickstart-cosign.md:74:1 MD014/commands-show-output Dollar signs used before commands without showing output [Context: "$ crane cp $SRC_IMAGE@$SRC_DIG..."] https://github.com/DavidAnson/markdownlint/blob/v0.29.0/doc/md014.md
$ IMAGE_URI_DIGEST=$IMAGE_URI@$SRC_DIGEST
```

Expand Down
Loading