- Feb 10, 2022
-
-
Scott Nichols authored
Signed-off-by:
Scott Nichols <n3wscott@chainguard.dev>
-
- Jan 25, 2022
-
-
Lily Sturmann authored
* Move range.go into sharding package to avoid import cycles Signed-off-by:
Lily Sturmann <lsturman@redhat.com> * Change name of FullID to EntryID Signed-off-by:
Lily Sturmann <lsturman@redhat.com> * Add unit tests for sharding package Also add a few helper functions and update names. Signed-off-by:
Lily Sturmann <lsturman@redhat.com> * Add logic to GET artifacts via old UUID or new EntryID Signed-off-by:
Lily Sturmann <lsturman@redhat.com> * Add e2e test for longer EntryID Signed-off-by:
Lily Sturmann <lsturman@redhat.com>
-
- Dec 29, 2021
-
-
dlorenc authored
Right now the type itself is defined in the cli package, which means we can't use it without an import cycle. Signed-off-by:
Dan Lorenc <lorenc.d@gmail.com>
-
- Dec 27, 2021
-
-
Morten Linderud authored
* rekor-server: Implement /api/v1/version This implements a version endpoint for rekor. This helps figure out the version the server is currently running. It could later be used to implement version compatibility with CLI utilities. Example: λ rekor main» curl -s localhost:3000/api/v1/version | jq { "builddate": "'2021-12-27T13:20:32Z'", "commit": "12d1a47c", "treestate": "dirty", "version": "v0.4.0-15-g12d1a47-dirty" } This removes some duplication of the build flags and inserts them into /pkg/api which is then reused across the utilities. Signed-off-by:
Morten Linderud <morten@linderud.pw> Signed-off-by:
Morten Linderud <morten@linderud.pw> * Generated files Signed-off-by:
Morten Linderud <morten@linderud.pw>
-
dlorenc authored
This was never actually correct - these are technically "payloadTypes", which are not actually mediaTypes. Some implementations mistakenly sent incorrect media types, so it appeared to work. The GCS storage layer rejected correct implementations that sent the payloadType, because these are not valid mediaTypes. We never used this field anyway, so let's drop it. I verified that the API correctly ignores unknown fields, so removing this will not break clients that send it. Signed-off-by:
Dan Lorenc <lorenc.d@gmail.com>
-
- Dec 20, 2021
-
-
dlorenc authored
We were catching these inside the IndexKeys function calls and logging, this change moves that up to the caller. This is much more standard and simplifies the implementations. Signed-off-by:
Dan Lorenc <lorenc.d@gmail.com>
-
- Dec 16, 2021
-
-
asraa authored
* rename ecosystem to origin Signed-off-by:
Asra Ali <asraa@google.com> * update comments Signed-off-by:
Asra Ali <asraa@google.com>
-
dependabot[bot] authored
* Bump google.golang.org/grpc from 1.42.0 to 1.43.0 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.42.0 to 1.43.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.42.0...v1.43.0 ) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by:
dependabot[bot] <support@github.com> * replace grpc.WithInsecure() with insecure.NewCredentials() Signed-off-by:
Carlos Panato <ctadeu@gmail.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by:
Carlos Panato <ctadeu@gmail.com>
-
- Nov 22, 2021
-
-
dlorenc authored
I had to change a few package imports to deal with upstream refactoring. Signed-off-by:
Dan Lorenc <lorenc.d@gmail.com>
-
- Nov 04, 2021
-
-
Lily Sturmann authored
Signed-off-by:
Lily Sturmann <lsturman@redhat.com>
-
- Oct 06, 2021
-
-
Bob Callaway authored
Each of the supported types has a Canonicalize() method that generates a JSON representation of the entry. If the golang library were to make a change to the order of keys when marshalling an object, it would cause a duplicate entry in the log for a semantically equivalent object. This change simply transforms the JSON into RFC8785-compliant canonicalized JSON protecting against any changes in JSON libraries going forward. Signed-off-by:
Bob Callaway <bob.callaway@gmail.com>
-
- Sep 14, 2021
-
-
dlorenc authored
This is in preparation for supporting multiple logIDs (for sharding). Signed-off-by:
Dan Lorenc <dlorenc@google.com>
-
- Aug 18, 2021
-
-
asraa authored
* Adds rekor TUF type Co-authored-by:
Santiago Torres <santiagotorres@purdue.edu> Co-authored-by:
Trishank Karthik Kuppusamy <trishank.kuppusamy@datadoghq.com> Co-authored-by:
Marina Moore <mnm678@gmail.com> Signed-off-by:
Asra Ali <asraa@google.com> * add type documentation Signed-off-by:
Asra Ali <asraa@google.com> * Address bob comments Signed-off-by:
Asra Ali <asraa@google.com> * run make Signed-off-by:
Asra Ali <asraa@google.com> * wip Signed-off-by:
Asra Ali <asraa@google.com> * Address comments Signed-off-by:
Asra Ali <asraa@google.com> Co-authored-by:
Santiago Torres <santiagotorres@purdue.edu> Co-authored-by:
Trishank Karthik Kuppusamy <trishank.kuppusamy@datadoghq.com> Co-authored-by:
Marina Moore <mnm678@gmail.com>
-
- Jul 30, 2021
-
-
asraa authored
* use an in memory timestamping key Signed-off-by:
Asra Ali <asraa@google.com> * address comments Signed-off-by:
Asra Ali <asraa@google.com>
-
- Jul 20, 2021
-
-
asraa authored
* generalize signed checkpoint Signed-off-by:
Asra Ali <asraa@google.com> * store note as text representation Signed-off-by:
Asra Ali <asraa@google.com> * cleanup diff Signed-off-by:
Asra Ali <asraa@google.com> * simplify Signed-off-by:
Asra Ali <asraa@google.com> * use signer/verifier Signed-off-by:
Asra Ali <asraa@google.com> * address dan comments Signed-off-by:
Asra Ali <asraa@google.com>
-
- Jul 17, 2021
-
-
Bob Callaway authored
Previously we returned an HTTP 500 "error canonicalizing entry" error if Rekor was unable to parse or verify the proposed content of a new log entry. This adds a new error type ValidationError that allows implementers of the Canonicalize method to delineate between internal, transient errors and errors that clients can rectify. With this patch, errors parsing or validating (provided or referenced) artifacts will return an HTTP 400 message to the client with a message about the issue. Fixes: #362 Signed-off-by:
Bob Callaway <bob.callaway@gmail.com>
-
- Jul 14, 2021
-
-
Bob Callaway authored
* Refactor PKI factory and add type checking This allows for more DRY addition of new PKI types, and stricter type checking. This also allows for simpler enumeration of supported PKI formats which will be used in further updates to simplify the CLI codebase. Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * revamp CLI flags; support different versions for upload Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * Add Alpine Package type This adds support for the alpine package format used by Alpine Linux, which is the concatenation of three tgz files (signature, control data, and then the actual package files). Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * use shaFlag for --artifact-hash Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * change arg type to PKIFormat Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * defer type-specific validation logic to type code (instead of in CLI); also use CliLogger throughout CLI Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * refactor factory code Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * review comments Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * Clean up EntryImpl interface Make the interface clearer by removing ambiguity around who and when an entry should have external objects fetched or validated. Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * update pluggable type README Signed-off-by:
Bob Callaway <bob.callaway@gmail.com>
-
Bob Callaway authored
* Refactor PKI factory and add type checking This allows for more DRY addition of new PKI types, and stricter type checking. This also allows for simpler enumeration of supported PKI formats which will be used in further updates to simplify the CLI codebase. Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * revamp CLI flags; support different versions for upload Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * Add Alpine Package type This adds support for the alpine package format used by Alpine Linux, which is the concatenation of three tgz files (signature, control data, and then the actual package files). Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * use shaFlag for --artifact-hash Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * change arg type to PKIFormat Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * defer type-specific validation logic to type code (instead of in CLI); also use CliLogger throughout CLI Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * refactor factory code Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * review comments Signed-off-by:
Bob Callaway <bob.callaway@gmail.com>
-
- Jul 13, 2021
-
-
dlorenc authored
Signed-off-by:
Dan Lorenc <dlorenc@google.com>
-
- Jul 12, 2021
-
-
dlorenc authored
Signed-off-by:
Dan Lorenc <lorenc.d@gmail.com>
-
- Jul 08, 2021
-
-
Bob Callaway authored
* Adopt new signing/verification APIs from sigstore This uses the new APIs introduced in sigstore/sigstore/pkg/signature and removes most of the calls directly to the golang crypto APIs. Signed-off-by:
Bob Callaway <bob.callaway@gmail.com>
-
- Jun 24, 2021
-
-
asraa authored
Signed-off-by:
Asra Ali <asraa@google.com>
-
- Jun 23, 2021
-
-
asraa authored
* upload all generated timestamps Signed-off-by:
Asra Ali <asraa@google.com> * address bazooka comments Signed-off-by:
Asra Ali <asraa@google.com> * simplify params Signed-off-by:
Asra Ali <asraa@google.com> * address changes Signed-off-by:
Asra Ali <asraa@google.com> * forgot to run swagger Signed-off-by:
Asra Ali <asraa@google.com>
-
- Jun 16, 2021
-
-
asraa authored
Signed-off-by:
Asra Ali <asraa@google.com>
-
- Jun 07, 2021
-
-
Bob Callaway authored
* Convert STH to checkpoint format This switches away from sending the (now deprecated) Trillian LogRootV1 format over to the checkpoint format documented at https://github.com/google/trillian-examples/tree/master/formats/log Fixes: #313 Signed-off-by:
Bob Callaway <bob.callaway@gmail.com>
-
dlorenc authored
This adds an "Attestation" method to the entry interface. Entries can return an attestation that they would like to store. The attestations are currently stored in GCS, but it supports any blob store. The feature is turned off with a flag, and we can set a max size as well. Signed-off-by:
Dan Lorenc <dlorenc@google.com>
-
- May 27, 2021
-
-
dlorenc authored
This saves an if err != nil... check. Signed-off-by:
Dan Lorenc <dlorenc@google.com>
-
- May 24, 2021
-
-
asraa authored
* Add timestamps Signed-off-by:
Asra Ali <asraa@google.com> * change Signed-off-by:
Asra Ali <asraa@google.com> * address comments Signed-off-by:
Asra Ali <asraa@google.com> * address comments Signed-off-by:
Asra Ali <asraa@google.com> * fix binary writer Signed-off-by:
Asra Ali <asraa@google.com> * add tsa Signed-off-by:
Asra Ali <asraa@google.com> * distangle cert chain creation from new signer Signed-off-by:
Asra Ali <asraa@google.com> * revert some now unncessary changes Signed-off-by:
Asra Ali <asraa@google.com> * cert chain 404 Signed-off-by:
Asra Ali <asraa@google.com> * fix Signed-off-by:
Asra Ali <asraa@google.com>
-
- May 06, 2021
-
-
Bob Callaway authored
* Add Log ID to LogEntry field Since the signed entry timestamp (SET) will be able to prove insertion into the log, adding the log ID (aka public key SHA256 hash) makes it easier to know which log the entry came from. Signed-off-by:
Bob Callaway <bob.callaway@gmail.com>
-
- May 05, 2021
-
-
Bob Callaway authored
* GetLogByIndexHandler returns 404 for missing index GRPC return codes have changed after switching the Trillian GRPC calls due to recent changes; therefore we need to adapt for InvalidArgument which should be returned as a 404 Not Found error to callers. Fixes #296 Signed-off-by:
Bob Callaway <bob.callaway@gmail.com>
-
- Apr 29, 2021
-
-
Bob Callaway authored
* Add sha256 prefix to index keys for artifact hashes This change adds the `sha256:` prefix to index values that are created to simplify searching the transparency log for artifacts. In case we shift to using a different hashing algorithm in the future, this will provide a way to specify it. Fixes #289 Signed-off-by:
Bob Callaway <bob.callaway@gmail.com>
-
- Apr 28, 2021
-
-
priyawadhwa authored
* Add signature to LogEntry for offline verification Also add an integration test for this. Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Address code review comments: - Canonicalize payload before signing it - Change name of signature to signedEntryTimestamp - move signedEntryTimestamp and inclusionProof into separate Verification field in LogEntry Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Create helper func for extracting log entry Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Add info around verifying signedEntryTimestamp as comments in openapi.yaml Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Generalize verification instructions Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com>
-
- Apr 20, 2021
-
-
asraa authored
Signed-off-by:
Asra Ali <asraa@google.com>
-
- Apr 16, 2021
-
-
priyawadhwa authored
* Update trillian dependency to master This removes calls to the trillian verifier and replaces them with calls to a new rekor verify package! The `verify` package currently only verifies the signed log root. Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Fix lint Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Add verifier back in and update trillian images Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Make verify private Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Address code review comments Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Roll back to trillian v1.3.13 Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Pin trillian to latest commit Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com>
-
- Apr 15, 2021
-
-
priyawadhwa authored
* Add signing package for signing within rekor Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Remove public key from trillian and add in TODO for getting public key from Signer Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Create signer flag and store signer in api struct Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Remove public key from tlog in API, replace with a new pubkey tag Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Make sure we can get the public key locally Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Fix build error Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Reuse cosign implementation of signing interface Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * fix lint Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Add in-memory signer, store unmarshaled public key in api Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Temporarily skip the log_info test, since we are now getting the public key from rekor and not trillian Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Replace cosign import with sigstore Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Add unit test for memory signer Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Remove unnecessary code Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * skip test Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Sign the signature for the signed log root ourselves Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com> * Include memory as a signer option for signer flag, make memory default Signed-off-by:
Priya Wadhwa <priyawadhwa@google.com>
-
Carlos Tadeu Panato Junior authored
* update boilerplate header and apply go fmt Signed-off-by:
Carlos Panato <ctadeu@gmail.com> * lints: fix golangci-lint issues Signed-off-by:
Carlos Panato <ctadeu@gmail.com> * updated based on feedback Signed-off-by:
Carlos Panato <ctadeu@gmail.com>
-
- Apr 12, 2021
-
-
Dan Lorenc authored
This is changing as part of the general trillian signature changes. The trust model is still client -> database, our server trusts our database so we can pass signed messages on directly to users without double verification. Signed-off-by:
Dan Lorenc <dlorenc@google.com>
-
- Apr 10, 2021
-
-
Bob Callaway authored
This patch removes the /api/v1/log/entries/{uuid}/proof endpoint. If you have the UUID (aka the leaf Merkle hash), you likely want proof that the content represented by that hash is included in the log. There's no need for a separate /proof endpoint to deliver the same content. This commit also ensures that the getLogEntryByIndex and getLogEntryByUUID endpoints return an inclusion proof as part of their response content. The search endpoint also now returns the inclusion proof of all entries returned from the query. With this patch, Rekor no longer uses the deprecated `GetLeavesByHash` Trillian API. Fixes #229 Signed-off-by:
Bob Callaway <bob.callaway@gmail.com>
-
- Mar 24, 2021
-
-
Bob Callaway authored
Adds a Location response header when a 409 Conflict error is returned from the server when a duplicate entry is sent for insertion into the log. Also changes message printed by CLI to improve usability. Fixes #222 Signed-off-by:
Bob Callaway <bcallawa@redhat.com>
-
- Mar 19, 2021
-
-
Bob Callaway authored
* Remove gzip processing flow completely from rekor Issue #208 reported different handling of gzipped content via fetch vs direct upload to rekor server. The code should be consistent, regardless of whether content was compressed or not - by always attempting to verify the signature against the (unmodified) byte stream. This patch removes the gzip decoding completely from rekor and verifies the bytes supplied or referenced. Also fixes issue in E2E tests where sending SIGKILL to watch process caused message to be printed to stderr, which fails the test when running on MacOS. Fixes #208 Signed-off-by:
Bob Callaway <bcallawa@redhat.com>
-