Skip to content

Commit 59ffd02

Browse files
1.0 changelog! (#830)
* Fulcio 1.0!! Signed-off-by: Hayden Blauzvern <[email protected]>
1 parent ef0b75b commit 59ffd02

File tree

2 files changed

+57
-28
lines changed

2 files changed

+57
-28
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
# v1.0.0
2+
3+
1.0 release!
4+
5+
No changes from the previous release v1.0.0-rc.0.
6+
17
# v1.0.0-rc.0
28

39
**Notice for Deprecation**: The legacy (V1) API will be deprecated by February

README.md

Lines changed: 51 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -6,36 +6,43 @@
66

77
# Fulcio
88

9-
_A New Kind of Root CA For Code Signing_
9+
_A Free-to-Use CA For Code Signing_
1010

11-
fulcio is a free Root-CA for code signing certs - issuing certificates based on an OIDC email address.
11+
Fulcio is a free-to-use certificate authority for issuing code signing certificates
12+
for an OpenID Connect (OIDC) identity, such as email address.
1213

13-
fulcio only signs short-lived certificates that are valid for under 20 minutes.
14+
Fulcio only issues short-lived certificates that are valid for 10 minutes.
1415

15-
## Status
16+
## Public Instance
1617

17-
Fulcio is a *work in progress*!
18+
Fulcio is in General Availability, offering a 99.5 Availability SLO,
19+
and follows [semver rules](https://semver.org/) for API stability.
1820

19-
We're currently working hard on cutting a 1.0 release and productionizing the public instance.
20-
We don't have a date yet, but follow along on the [GitHub project](https://github.com/orgs/sigstore/projects/5).
21+
For uptime data on the Fulcio public instance, see [https://status.sigstore.dev](https://status.sigstore.dev).
2122

22-
The fulcio root certificate running on our public instance (https://fulcio.sigstore.dev) can be obtained and verified against Sigstore's root (at the [sigstore/root-signing](https://github.com/sigstore/root-signing) repository). To do this, install and use [go-tuf](https://github.com/theupdateframework/go-tuf)'s CLI tools:
23+
Fulcio's certificate chain can be obtained from the `TrustBundle` API, for example for the public instance
24+
([https://fulcio.sigstore.dev](https://fulcio.sigstore.dev/api/v2/trustBundle)). To verify the public instance,
25+
you must verify the chain using Sigstore's [TUF](https://theupdateframework.io/) root from the
26+
[sigstore/root-signing](https://github.com/sigstore/root-signing) repository).
27+
28+
To do this, install and use [go-tuf](https://github.com/theupdateframework/go-tuf)'s CLI tools:
2329
```
24-
$ go get github.com/theupdateframework/go-tuf/cmd/tuf
25-
$ go get github.com/theupdateframework/go-tuf/cmd/tuf-client
30+
$ go install github.com/theupdateframework/go-tuf/cmd/tuf-client@06ed59941769f55b7d54158a0be85a16a7475fa7
2631
```
2732

28-
Then, obtain trusted root keys for Sigstore. This can be done from a checkout of the Sigstore's root signing repository at a trusted commit (e.g. after the livestreamed root signing ceremony).
33+
Then, obtain trusted root keys for Sigstore. This can be done from a trusted commit in Sigstore's root signing repository
34+
(e.g. after the [livestreamed root signing ceremony](https://github.com/sigstore/root-signing#initial-root-signing-ceremony)).
2935
```
30-
$ git clone https://github.com/sigstore/root-signing
31-
$ cd root-signing && git checkout 193343461a4d365ac517b5d668e01fbaddd4eba5
32-
$ tuf -d ceremony/2021-06-18/ root-keys > sigstore-root.json
36+
# Ref 193343461a4d365ac517b5d668e01fbaddd4eba5 is when the root ceremony was completed
37+
curl -o sigstore-root.json https://raw.githubusercontent.com/sigstore/root-signing/193343461a4d365ac517b5d668e01fbaddd4eba5/ceremony/2021-06-18/repository/root.json
3338
```
3439

35-
Initialize the TUF client with the previously obtained root keys and get the current Fulcio root certificate `fulcio_v1.crt.pem`.
40+
Initialize the TUF client with the previously obtained root and the remote repository, https://sigstore-tuf-root.storage.googleapis.com,
41+
and get the current Fulcio root certificate `fulcio_v1.crt.pem` and intermediate certificate `fulcio_intermediate_v1.crt.pem`.
3642
```
37-
$ tuf-client init https://raw.githubusercontent.com/sigstore/root-signing/main/repository/repository/ sigstore-root.json
38-
$ tuf-client get https://raw.githubusercontent.com/sigstore/root-signing/main/repository/repository/ fulcio_v1.crt.pem
43+
$ tuf-client init https://sigstore-tuf-root.storage.googleapis.com sigstore-root.json
44+
45+
$ tuf-client get https://sigstore-tuf-root.storage.googleapis.com fulcio_v1.crt.pem
3946
-----BEGIN CERTIFICATE-----
4047
MIIB9zCCAXygAwIBAgIUALZNAPFdxHPwjeDloDwyYChAO/4wCgYIKoZIzj0EAwMw
4148
KjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MREwDwYDVQQDEwhzaWdzdG9yZTAeFw0y
@@ -49,28 +56,44 @@ KsXF+jAKBggqhkjOPQQDAwNpADBmAjEAj1nHeXZp+13NWBNa+EDsDP8G1WWg1tCM
4956
WP/WHPqpaVo0jhsweNFZgSs0eE7wYI4qAjEA2WB9ot98sIkoF3vZYdd3/VtWB5b9
5057
TNMea7Ix/stJ5TfcLLeABLE4BNJOsQ4vnBHJ
5158
-----END CERTIFICATE-----
52-
```
5359
54-
We **WILL** change this and add intermediaries in the future.
60+
$ tuf-client get https://sigstore-tuf-root.storage.googleapis.com fulcio_intermediate_v1.crt.pem
61+
-----BEGIN CERTIFICATE-----
62+
MIICGjCCAaGgAwIBAgIUALnViVfnU0brJasmRkHrn/UnfaQwCgYIKoZIzj0EAwMw
63+
KjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MREwDwYDVQQDEwhzaWdzdG9yZTAeFw0y
64+
MjA0MTMyMDA2MTVaFw0zMTEwMDUxMzU2NThaMDcxFTATBgNVBAoTDHNpZ3N0b3Jl
65+
LmRldjEeMBwGA1UEAxMVc2lnc3RvcmUtaW50ZXJtZWRpYXRlMHYwEAYHKoZIzj0C
66+
AQYFK4EEACIDYgAE8RVS/ysH+NOvuDZyPIZtilgUF9NlarYpAd9HP1vBBH1U5CV7
67+
7LSS7s0ZiH4nE7Hv7ptS6LvvR/STk798LVgMzLlJ4HeIfF3tHSaexLcYpSASr1kS
68+
0N/RgBJz/9jWCiXno3sweTAOBgNVHQ8BAf8EBAMCAQYwEwYDVR0lBAwwCgYIKwYB
69+
BQUHAwMwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU39Ppz1YkEZb5qNjp
70+
KFWixi4YZD8wHwYDVR0jBBgwFoAUWMAeX5FFpWapesyQoZMi0CrFxfowCgYIKoZI
71+
zj0EAwMDZwAwZAIwPCsQK4DYiZYDPIaDi5HFKnfxXx6ASSVmERfsynYBiX2X6SJR
72+
nZU84/9DZdnFvvxmAjBOt6QpBlc4J/0DxvkTCqpclvziL6BCCPnjdlIB3Pu3BxsP
73+
mygUY7Ii2zbdCdliiow=
74+
-----END CERTIFICATE-----
75+
```
5576

5677
## API
5778

58-
The API is defined [here](./pkg/api/client.go).
59-
60-
## Transparency
79+
The API is defined [here](./fulcio.proto). The API can be accessed
80+
over [HTTP](https://www.sigstore.dev/swagger/?urls.primaryName=Fulcio) or gRPC.
6181

62-
Fulcio will publish issued certificates to a unique Certificate Transparency log (CT-log).
63-
That log will be hosted by the sigstore project.
82+
## Certificate Transparency
6483

65-
We encourage auditors to monitor this log, and aim to help people access the data.
84+
Fulcio will publish issued certificates to a Certificate Transparency log (CT log).
85+
The log is hosted at `https://ctfe.sigstore.dev/test`. Each year, the log will be updated
86+
to a new log ID, for example `https://ctfe.sigstore.dev/2022`.
6687

67-
A simple example would be a service that emails users (on a different address) when certficates have been issued on their behalf.
68-
This can then be used to detect bad behavior or possible compromise.
88+
The log provides an API documented in [RFC 6962](https://datatracker.ietf.org/doc/rfc6962/).
6989

90+
We encourage auditors to monitor this log for both integrity and specific identities.
91+
For example, auditors can monitor for when a certificate is issued for certain eamil addresses,
92+
which will detect misconfiguration or potential compromise of the user's identity.
7093

7194
## Security
7295

73-
Should you discover any security issues, please refer to sigstore's [security
96+
Please report any vulnerabilities following sigstore's [security
7497
process](https://github.com/sigstore/.github/blob/main/SECURITY.md).
7598

7699
## Info

0 commit comments

Comments
 (0)