mirror of
https://github.com/aquasecurity/trivy.git
synced 2026-01-31 13:53:14 +08:00
perf: retrieve rekor entries in bulk (#2987)
This commit is contained in:
@@ -14,6 +14,7 @@ import (
|
||||
"github.com/sigstore/rekor/pkg/generated/models"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"golang.org/x/exp/slices"
|
||||
"golang.org/x/xerrors"
|
||||
|
||||
"github.com/aquasecurity/trivy/pkg/fanal/analyzer"
|
||||
@@ -1200,10 +1201,27 @@ func TestArtifact_InspectRekorAttestation(t *testing.T) {
|
||||
} else {
|
||||
http.Error(w, "something wrong", http.StatusInternalServerError)
|
||||
}
|
||||
case "/api/v1/log/entries/392f8ecba72f4326eb624a7403756250b5f2ad58842a99d1653cd6f147f4ce9eda2da350bd908a55":
|
||||
http.ServeFile(w, r, "testdata/log-entry-no-attestation.json")
|
||||
case "/api/v1/log/entries/392f8ecba72f4326414eaca77bd19bf5f378725d7fd79309605a81b69cc0101f5cd3119d0a216523":
|
||||
http.ServeFile(w, r, "testdata/log-entry.json")
|
||||
case "/api/v1/log/entries/retrieve":
|
||||
var params models.SearchLogQuery
|
||||
err := json.NewDecoder(r.Body).Decode(¶ms)
|
||||
require.NoError(t, err)
|
||||
|
||||
if slices.Equal(
|
||||
params.EntryUUIDs,
|
||||
[]string{
|
||||
"392f8ecba72f4326eb624a7403756250b5f2ad58842a99d1653cd6f147f4ce9eda2da350bd908a55",
|
||||
"392f8ecba72f4326414eaca77bd19bf5f378725d7fd79309605a81b69cc0101f5cd3119d0a216523",
|
||||
},
|
||||
) {
|
||||
http.ServeFile(w, r, "testdata/log-entries.json")
|
||||
} else if slices.Equal(
|
||||
params.EntryUUIDs,
|
||||
[]string{"392f8ecba72f4326eb624a7403756250b5f2ad58842a99d1653cd6f147f4ce9eda2da350bd908a55"},
|
||||
) {
|
||||
http.ServeFile(w, r, "testdata/log-entries-no-attestation.json")
|
||||
} else {
|
||||
http.Error(w, "something wrong", http.StatusInternalServerError)
|
||||
}
|
||||
}
|
||||
return
|
||||
}))
|
||||
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/in-toto/in-toto-golang/in_toto"
|
||||
"github.com/samber/lo"
|
||||
"golang.org/x/xerrors"
|
||||
|
||||
"github.com/aquasecurity/trivy/pkg/attestation"
|
||||
@@ -59,24 +60,27 @@ func (a Artifact) inspectSBOMAttestation(ctx context.Context) (ftypes.ArtifactRe
|
||||
}
|
||||
|
||||
log.Logger.Debugf("Found matching Rekor entries: %s", entryIDs)
|
||||
for _, id := range entryIDs {
|
||||
log.Logger.Debugf("Inspecting Rekor entry: %s", id)
|
||||
ref, err := a.inspectRekorRecord(ctx, client, id)
|
||||
if errors.Is(err, rekor.ErrNoAttestation) || errors.Is(err, errNoSBOMFound) {
|
||||
continue
|
||||
} else if err != nil {
|
||||
return ftypes.ArtifactReference{}, xerrors.Errorf("rekor record inspection error: %w", err)
|
||||
|
||||
for _, ids := range lo.Chunk[rekor.EntryID](entryIDs, rekor.MaxGetEntriesLimit) {
|
||||
entries, err := client.GetEntries(ctx, ids)
|
||||
if err != nil {
|
||||
return ftypes.ArtifactReference{}, xerrors.Errorf("failed to get entries: %w", err)
|
||||
}
|
||||
|
||||
for _, entry := range entries {
|
||||
ref, err := a.inspectRekorRecord(ctx, entry)
|
||||
if errors.Is(err, errNoSBOMFound) {
|
||||
continue
|
||||
} else if err != nil {
|
||||
return ftypes.ArtifactReference{}, xerrors.Errorf("rekor record inspection error: %w", err)
|
||||
}
|
||||
return ref, nil
|
||||
}
|
||||
return ref, nil
|
||||
}
|
||||
return ftypes.ArtifactReference{}, errNoSBOMFound
|
||||
}
|
||||
|
||||
func (a Artifact) inspectRekorRecord(ctx context.Context, client *rekor.Client, entryID rekor.EntryID) (ftypes.ArtifactReference, error) {
|
||||
entry, err := client.GetEntry(ctx, entryID)
|
||||
if err != nil {
|
||||
return ftypes.ArtifactReference{}, xerrors.Errorf("failed to get rekor entry: %w", err)
|
||||
}
|
||||
func (a Artifact) inspectRekorRecord(ctx context.Context, entry rekor.Entry) (ftypes.ArtifactReference, error) {
|
||||
|
||||
// TODO: Trivy SBOM should take precedence
|
||||
raw, err := a.parseStatement(entry)
|
||||
|
||||
33
pkg/fanal/artifact/image/testdata/log-entries-no-attestation.json
vendored
Normal file
33
pkg/fanal/artifact/image/testdata/log-entries-no-attestation.json
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
[
|
||||
{
|
||||
"392f8ecba72f4326eb624a7403756250b5f2ad58842a99d1653cd6f147f4ce9eda2da350bd908a55": {
|
||||
"body": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaW50b3RvIiwic3BlYyI6eyJjb250ZW50Ijp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI3ODIxNDNlMzlmMWU3YTA0ZTNmNmRhMmQ4OGIxYzA1N2U1NjU3MzYzYzRmOTA2NzlmM2U4YTA3MWI3NjE5ZTAyIn0sInBheWxvYWRIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiZWJiZmRkZGE2Mjc3YWYxOTllOTNjNWJiNWNmNTk5OGE3OTMxMWRlMjM4ZTQ5YmNjOGFjMjQxMDI2OTg3NjFiYiJ9fSwicHVibGljS2V5IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVTndSRU5EUVdseFowRjNTVUpCWjBsVllXaHNPRUZSZDFsWlYwNVpiblY2ZGxGdk9FVnJOMWRNVFVSdmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcEpkMDlFU1RKTlJFVjRUbnBGTTFkb1kwNU5ha2wzVDBSSk1rMUVSWGxPZWtVelYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZMV21aRVF6bHBhbFZ5Y2xwQldFOWpXRllyUVhGSFJVbFRTbEV6VkhScVNuZEpkRUVLZFRFM1JtbDJhV3BuU2sxaFlVaEdORGNyVDNaMk9WUjFla0ZEUTNscFNVVjVVRFV5WlhJMlptRjVibVpLWVZWcU9FdFBRMEZWYTNkblowWkdUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZIUWxkVUNrTXdkVVUzZFRSUWNVUlZSakZZVjBjMFFsVldWVXBCZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBwUldVUldVakJTUVZGSUwwSkNjM2RIV1VWWVl6SkdlbUl5Um5KaFdFcG9UbXBGZUU1RlFtNWlWMFp3WWtNMWFtSXlNSGRMVVZsTFMzZFpRZ3BDUVVkRWRucEJRa0ZSVVdKaFNGSXdZMGhOTmt4NU9XaFpNazUyWkZjMU1HTjVOVzVpTWpsdVlrZFZkVmt5T1hSTlNVZE1RbWR2Y2tKblJVVkJaRm8xQ2tGblVVTkNTREJGWlhkQ05VRklZMEZEUjBOVE9FTm9VeTh5YUVZd1pFWnlTalJUWTFKWFkxbHlRbGs1ZDNwcVUySmxZVGhKWjFreVlqTkpRVUZCUjBNS01UZHRTbWhuUVVGQ1FVMUJVMFJDUjBGcFJVRm9TMDlCU2tkV1ZsaENiMWN4VERSNGFsazVlV0pXT0daVVVYTjVUU3R2VUVwSWVEazVTMjlMWVVwVlF3cEpVVVJDWkRsbGMxUTBNazFTVG5nM1ZtOUJNMXBhS3pWNGFraE5aV1I2YW1WeFEyWm9aVGN2ZDFweFlUbFVRVXRDWjJkeGFHdHFUMUJSVVVSQmQwNXZDa0ZFUW14QmFrVkJjbkJrZVhsRlJqYzNiMkp5VEVOTVVYcHpZbUl4TTJsc05qZDNkek00WTA1MGFtZE5RbWw2WTJWVWFrUmlZMlZMZVZGU04xUktOSE1LWkVOc2Nsa3hZMUJCYWtFNGFYQjZTVVE0VlUxQ2FHeGtTbVV2WlhKR2NHZHROMnN3TldGaWMybFBOM1Y1ZFZadVMyOVZOazByVFhKNlZWVXJaVGxHZHdwSlJHaENhblZSYTFkUll6MEtMUzB0TFMxRlRrUWdRMFZTVkVsR1NVTkJWRVV0TFMwdExRbz0ifX0=",
|
||||
"integratedTime": 1661476639,
|
||||
"logID": "c0d23d6ad406973f9559f3ba2d1ca01f84147d8ffc5b8445c224f98b9591801d",
|
||||
"logIndex": 3280165,
|
||||
"verification": {
|
||||
"inclusionProof": {
|
||||
"hashes": [
|
||||
"da70e43d33aadff047c7aa4542a1c2c0f039555b4ebb75773659b246a096d983",
|
||||
"8e6876b02a01bc1e0491802b967f8b490e46fc3fb5e48986c092fe648377801b",
|
||||
"eaf1241ffc88cfa3bc51697a678122d9425258967d2975ddd43bd720aa693a42",
|
||||
"9420c625e610223867a58f840505674b0b3d741c24c432505c6738f2ac4f688d",
|
||||
"be1b7b409a68ebcdc48c8ab773e72008454203fa4412344f25f6b1a13cb49773",
|
||||
"5950c17122cae78ec19ea5f531887b7b7aad3ce14beeac68b91f115b388725df",
|
||||
"664dc6a32f46aaa70be3e2206606890bebc928d4e876c405eade9a244778626e",
|
||||
"48d515eeab9e86cbab194944afbc744e4c589c7b6701f1d635b70d180e0cfa3d",
|
||||
"296ac93f733e66cf78544a1412c7724f6fd32ad1aeeff6359c89a5047d0093bc",
|
||||
"ba20fa75d6d10494608f7716384ae46d62968d7a2ac0d1d49101e3b949d38c90",
|
||||
"6d494b237648126525b08f975c736a55d1f7a64472fcc2782bbc16733c608d7b",
|
||||
"efb36cfc54705d8cd921a621a9389ffa03956b15d68bfabadac2b4853852079b"
|
||||
],
|
||||
"logIndex": 3280165,
|
||||
"rootHash": "d714a81604a4a6ea1a6a485296b112b559eea0b6b93580afcb7d382a5944f03f",
|
||||
"treeSize": 3280179
|
||||
},
|
||||
"signedEntryTimestamp": "MEQCICXqUEWZzu0q2tk89u7hEBIKCxmRTQGmH+DRcwvdZoPkAiBJEbBsMdLtTWxxg8XNrJ6bRH2QskAJsKnzsgBjAsAo9A=="
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
66
pkg/fanal/artifact/image/testdata/log-entries.json
vendored
Normal file
66
pkg/fanal/artifact/image/testdata/log-entries.json
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
[
|
||||
{
|
||||
"392f8ecba72f4326414eaca77bd19bf5f378725d7fd79309605a81b69cc0101f5cd3119d0a216523": {
|
||||
"attestation": {
|
||||
"data": "eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInByZWRpY2F0ZVR5cGUiOiJodHRwczovL2N5Y2xvbmVkeC5vcmcvc2NoZW1hIiwic3ViamVjdCI6W3sibmFtZSI6ImluZGV4LmRvY2tlci5pby9rbnF5ZjI2My9jb3NpZ24tdGVzdCIsImRpZ2VzdCI6eyJzaGEyNTYiOiJhNzc3YzljNjZiYTE3N2NjZmVhMjNmMmEyMTZmZjY3MjFlNzhhNjYyY2QxNzAxOTQ4OGM0MTcxMzUyOTljZDg5In19XSwicHJlZGljYXRlIjp7IkRhdGEiOnsiYm9tRm9ybWF0IjoiQ3ljbG9uZURYIiwiY29tcG9uZW50cyI6W3siYm9tLXJlZiI6InBrZzphcGsvYWxwaW5lL211c2xAMS4yLjMtcjA/ZGlzdHJvPTMuMTYuMiIsImxpY2Vuc2VzIjpbeyJleHByZXNzaW9uIjoiTUlUIn1dLCJuYW1lIjoibXVzbCIsInByb3BlcnRpZXMiOlt7Im5hbWUiOiJhcXVhc2VjdXJpdHk6dHJpdnk6UGtnVHlwZSIsInZhbHVlIjoiYWxwaW5lIn0seyJuYW1lIjoiYXF1YXNlY3VyaXR5OnRyaXZ5OlNyY05hbWUiLCJ2YWx1ZSI6Im11c2wifSx7Im5hbWUiOiJhcXVhc2VjdXJpdHk6dHJpdnk6U3JjVmVyc2lvbiIsInZhbHVlIjoiMS4yLjMtcjAifSx7Im5hbWUiOiJhcXVhc2VjdXJpdHk6dHJpdnk6TGF5ZXJEaWZmSUQiLCJ2YWx1ZSI6InNoYTI1Njo5OTQzOTNkYzU4ZTc5MzE4NjI1NThkMDZlNDZhYTJiYjE3NDg3MDQ0ZjY3MGYzMTBkZmZlMWQyNGU0ZDFlZWM3In1dLCJwdXJsIjoicGtnOmFway9hbHBpbmUvbXVzbEAxLjIuMy1yMD9kaXN0cm89My4xNi4yIiwidHlwZSI6ImxpYnJhcnkiLCJ2ZXJzaW9uIjoiMS4yLjMtcjAifSx7ImJvbS1yZWYiOiJmYWQ0ZWI5Ny0zZDJhLTQ0OTktYWNlNy0yYzk0NDQ0MTQ4YTciLCJuYW1lIjoiYWxwaW5lIiwicHJvcGVydGllcyI6W3sibmFtZSI6ImFxdWFzZWN1cml0eTp0cml2eTpUeXBlIiwidmFsdWUiOiJhbHBpbmUifSx7Im5hbWUiOiJhcXVhc2VjdXJpdHk6dHJpdnk6Q2xhc3MiLCJ2YWx1ZSI6Im9zLXBrZ3MifV0sInR5cGUiOiJvcGVyYXRpbmctc3lzdGVtIiwidmVyc2lvbiI6IjMuMTYuMiJ9XSwiZGVwZW5kZW5jaWVzIjpbeyJkZXBlbmRzT24iOlsicGtnOmFway9hbHBpbmUvbXVzbEAxLjIuMy1yMD9kaXN0cm89My4xNi4yIl0sInJlZiI6ImZhZDRlYjk3LTNkMmEtNDQ5OS1hY2U3LTJjOTQ0NDQxNDhhNyJ9LHsiZGVwZW5kc09uIjpbImZhZDRlYjk3LTNkMmEtNDQ5OS1hY2U3LTJjOTQ0NDQxNDhhNyJdLCJyZWYiOiJwa2c6b2NpL2FscGluZUBzaGEyNTY6YmM0MTE4MmQ3ZWY1ZmZjNTNhNDBiMDQ0ZTcyNTE5M2JjMTAxNDJhMTI0M2YzOTVlZTg1MmE4ZDk3MzBmYzJhZD9yZXBvc2l0b3J5X3VybD1pbmRleC5kb2NrZXIuaW8lMkZsaWJyYXJ5JTJGYWxwaW5lXHUwMDI2YXJjaD1hbWQ2NCJ9XSwibWV0YWRhdGEiOnsiY29tcG9uZW50Ijp7ImJvbS1yZWYiOiJwa2c6b2NpL2FscGluZUBzaGEyNTY6YmM0MTE4MmQ3ZWY1ZmZjNTNhNDBiMDQ0ZTcyNTE5M2JjMTAxNDJhMTI0M2YzOTVlZTg1MmE4ZDk3MzBmYzJhZD9yZXBvc2l0b3J5X3VybD1pbmRleC5kb2NrZXIuaW8lMkZsaWJyYXJ5JTJGYWxwaW5lXHUwMDI2YXJjaD1hbWQ2NCIsIm5hbWUiOiJhbHBpbmU6My4xNiIsInByb3BlcnRpZXMiOlt7Im5hbWUiOiJhcXVhc2VjdXJpdHk6dHJpdnk6U2NoZW1hVmVyc2lvbiIsInZhbHVlIjoiMiJ9LHsibmFtZSI6ImFxdWFzZWN1cml0eTp0cml2eTpJbWFnZUlEIiwidmFsdWUiOiJzaGEyNTY6OWM2ZjA3MjQ0NzI4NzNiYjUwYTJhZTY3YTllN2FkY2I1NzY3M2ExODNjZWE4YjA2ZWI3NzhkY2E4NTkxODFiNSJ9LHsibmFtZSI6ImFxdWFzZWN1cml0eTp0cml2eTpSZXBvRGlnZXN0IiwidmFsdWUiOiJhbHBpbmVAc2hhMjU2OmJjNDExODJkN2VmNWZmYzUzYTQwYjA0NGU3MjUxOTNiYzEwMTQyYTEyNDNmMzk1ZWU4NTJhOGQ5NzMwZmMyYWQifSx7Im5hbWUiOiJhcXVhc2VjdXJpdHk6dHJpdnk6RGlmZklEIiwidmFsdWUiOiJzaGEyNTY6OTk0MzkzZGM1OGU3OTMxODYyNTU4ZDA2ZTQ2YWEyYmIxNzQ4NzA0NGY2NzBmMzEwZGZmZTFkMjRlNGQxZWVjNyJ9LHsibmFtZSI6ImFxdWFzZWN1cml0eTp0cml2eTpSZXBvVGFnIiwidmFsdWUiOiJhbHBpbmU6My4xNiJ9XSwicHVybCI6InBrZzpvY2kvYWxwaW5lQHNoYTI1NjpiYzQxMTgyZDdlZjVmZmM1M2E0MGIwNDRlNzI1MTkzYmMxMDE0MmExMjQzZjM5NWVlODUyYThkOTczMGZjMmFkP3JlcG9zaXRvcnlfdXJsPWluZGV4LmRvY2tlci5pbyUyRmxpYnJhcnklMkZhbHBpbmVcdTAwMjZhcmNoPWFtZDY0IiwidHlwZSI6ImNvbnRhaW5lciJ9LCJ0aW1lc3RhbXAiOiIyMDIyLTA5LTE1VDEzOjUzOjQ5KzAwOjAwIiwidG9vbHMiOlt7Im5hbWUiOiJ0cml2eSIsInZlbmRvciI6ImFxdWFzZWN1cml0eSIsInZlcnNpb24iOiJkZXYifV19LCJzZXJpYWxOdW1iZXIiOiJ1cm46dXVpZDo2NDUzZmQ4Mi03MWY0LTQ3YzgtYWQxMi0wMTc3NTYxOWM0NDMiLCJzcGVjVmVyc2lvbiI6IjEuNCIsInZlcnNpb24iOjEsInZ1bG5lcmFiaWxpdGllcyI6W119LCJUaW1lc3RhbXAiOiIifX0="
|
||||
},
|
||||
"body": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaW50b3RvIiwic3BlYyI6eyJjb250ZW50Ijp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI3ODIxNDNlMzlmMWU3YTA0ZTNmNmRhMmQ4OGIxYzA1N2U1NjU3MzYzYzRmOTA2NzlmM2U4YTA3MWI3NjE5ZTAyIn0sInBheWxvYWRIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiZWJiZmRkZGE2Mjc3YWYxOTllOTNjNWJiNWNmNTk5OGE3OTMxMWRlMjM4ZTQ5YmNjOGFjMjQxMDI2OTg3NjFiYiJ9fSwicHVibGljS2V5IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVTndSRU5EUVdseFowRjNTVUpCWjBsVllXaHNPRUZSZDFsWlYwNVpiblY2ZGxGdk9FVnJOMWRNVFVSdmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcEpkMDlFU1RKTlJFVjRUbnBGTTFkb1kwNU5ha2wzVDBSSk1rMUVSWGxPZWtVelYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZMV21aRVF6bHBhbFZ5Y2xwQldFOWpXRllyUVhGSFJVbFRTbEV6VkhScVNuZEpkRUVLZFRFM1JtbDJhV3BuU2sxaFlVaEdORGNyVDNaMk9WUjFla0ZEUTNscFNVVjVVRFV5WlhJMlptRjVibVpLWVZWcU9FdFBRMEZWYTNkblowWkdUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZIUWxkVUNrTXdkVVUzZFRSUWNVUlZSakZZVjBjMFFsVldWVXBCZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBwUldVUldVakJTUVZGSUwwSkNjM2RIV1VWWVl6SkdlbUl5Um5KaFdFcG9UbXBGZUU1RlFtNWlWMFp3WWtNMWFtSXlNSGRMVVZsTFMzZFpRZ3BDUVVkRWRucEJRa0ZSVVdKaFNGSXdZMGhOTmt4NU9XaFpNazUyWkZjMU1HTjVOVzVpTWpsdVlrZFZkVmt5T1hSTlNVZE1RbWR2Y2tKblJVVkJaRm8xQ2tGblVVTkNTREJGWlhkQ05VRklZMEZEUjBOVE9FTm9VeTh5YUVZd1pFWnlTalJUWTFKWFkxbHlRbGs1ZDNwcVUySmxZVGhKWjFreVlqTkpRVUZCUjBNS01UZHRTbWhuUVVGQ1FVMUJVMFJDUjBGcFJVRm9TMDlCU2tkV1ZsaENiMWN4VERSNGFsazVlV0pXT0daVVVYTjVUU3R2VUVwSWVEazVTMjlMWVVwVlF3cEpVVVJDWkRsbGMxUTBNazFTVG5nM1ZtOUJNMXBhS3pWNGFraE5aV1I2YW1WeFEyWm9aVGN2ZDFweFlUbFVRVXRDWjJkeGFHdHFUMUJSVVVSQmQwNXZDa0ZFUW14QmFrVkJjbkJrZVhsRlJqYzNiMkp5VEVOTVVYcHpZbUl4TTJsc05qZDNkek00WTA1MGFtZE5RbWw2WTJWVWFrUmlZMlZMZVZGU04xUktOSE1LWkVOc2Nsa3hZMUJCYWtFNGFYQjZTVVE0VlUxQ2FHeGtTbVV2WlhKR2NHZHROMnN3TldGaWMybFBOM1Y1ZFZadVMyOVZOazByVFhKNlZWVXJaVGxHZHdwSlJHaENhblZSYTFkUll6MEtMUzB0TFMxRlRrUWdRMFZTVkVsR1NVTkJWRVV0TFMwdExRbz0ifX0=",
|
||||
"integratedTime": 1661476639,
|
||||
"logID": "c0d23d6ad406973f9559f3ba2d1ca01f84147d8ffc5b8445c224f98b9591801d",
|
||||
"logIndex": 3280165,
|
||||
"verification": {
|
||||
"inclusionProof": {
|
||||
"hashes": [
|
||||
"da70e43d33aadff047c7aa4542a1c2c0f039555b4ebb75773659b246a096d983",
|
||||
"8e6876b02a01bc1e0491802b967f8b490e46fc3fb5e48986c092fe648377801b",
|
||||
"eaf1241ffc88cfa3bc51697a678122d9425258967d2975ddd43bd720aa693a42",
|
||||
"9420c625e610223867a58f840505674b0b3d741c24c432505c6738f2ac4f688d",
|
||||
"be1b7b409a68ebcdc48c8ab773e72008454203fa4412344f25f6b1a13cb49773",
|
||||
"5950c17122cae78ec19ea5f531887b7b7aad3ce14beeac68b91f115b388725df",
|
||||
"664dc6a32f46aaa70be3e2206606890bebc928d4e876c405eade9a244778626e",
|
||||
"48d515eeab9e86cbab194944afbc744e4c589c7b6701f1d635b70d180e0cfa3d",
|
||||
"296ac93f733e66cf78544a1412c7724f6fd32ad1aeeff6359c89a5047d0093bc",
|
||||
"ba20fa75d6d10494608f7716384ae46d62968d7a2ac0d1d49101e3b949d38c90",
|
||||
"6d494b237648126525b08f975c736a55d1f7a64472fcc2782bbc16733c608d7b",
|
||||
"efb36cfc54705d8cd921a621a9389ffa03956b15d68bfabadac2b4853852079b"
|
||||
],
|
||||
"logIndex": 3280165,
|
||||
"rootHash": "d714a81604a4a6ea1a6a485296b112b559eea0b6b93580afcb7d382a5944f03f",
|
||||
"treeSize": 3280179
|
||||
},
|
||||
"signedEntryTimestamp": "MEQCICXqUEWZzu0q2tk89u7hEBIKCxmRTQGmH+DRcwvdZoPkAiBJEbBsMdLtTWxxg8XNrJ6bRH2QskAJsKnzsgBjAsAo9A=="
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"392f8ecba72f4326eb624a7403756250b5f2ad58842a99d1653cd6f147f4ce9eda2da350bd908a55": {
|
||||
"body": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaW50b3RvIiwic3BlYyI6eyJjb250ZW50Ijp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI3ODIxNDNlMzlmMWU3YTA0ZTNmNmRhMmQ4OGIxYzA1N2U1NjU3MzYzYzRmOTA2NzlmM2U4YTA3MWI3NjE5ZTAyIn0sInBheWxvYWRIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiZWJiZmRkZGE2Mjc3YWYxOTllOTNjNWJiNWNmNTk5OGE3OTMxMWRlMjM4ZTQ5YmNjOGFjMjQxMDI2OTg3NjFiYiJ9fSwicHVibGljS2V5IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVTndSRU5EUVdseFowRjNTVUpCWjBsVllXaHNPRUZSZDFsWlYwNVpiblY2ZGxGdk9FVnJOMWRNVFVSdmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcEpkMDlFU1RKTlJFVjRUbnBGTTFkb1kwNU5ha2wzVDBSSk1rMUVSWGxPZWtVelYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZMV21aRVF6bHBhbFZ5Y2xwQldFOWpXRllyUVhGSFJVbFRTbEV6VkhScVNuZEpkRUVLZFRFM1JtbDJhV3BuU2sxaFlVaEdORGNyVDNaMk9WUjFla0ZEUTNscFNVVjVVRFV5WlhJMlptRjVibVpLWVZWcU9FdFBRMEZWYTNkblowWkdUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZIUWxkVUNrTXdkVVUzZFRSUWNVUlZSakZZVjBjMFFsVldWVXBCZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBwUldVUldVakJTUVZGSUwwSkNjM2RIV1VWWVl6SkdlbUl5Um5KaFdFcG9UbXBGZUU1RlFtNWlWMFp3WWtNMWFtSXlNSGRMVVZsTFMzZFpRZ3BDUVVkRWRucEJRa0ZSVVdKaFNGSXdZMGhOTmt4NU9XaFpNazUyWkZjMU1HTjVOVzVpTWpsdVlrZFZkVmt5T1hSTlNVZE1RbWR2Y2tKblJVVkJaRm8xQ2tGblVVTkNTREJGWlhkQ05VRklZMEZEUjBOVE9FTm9VeTh5YUVZd1pFWnlTalJUWTFKWFkxbHlRbGs1ZDNwcVUySmxZVGhKWjFreVlqTkpRVUZCUjBNS01UZHRTbWhuUVVGQ1FVMUJVMFJDUjBGcFJVRm9TMDlCU2tkV1ZsaENiMWN4VERSNGFsazVlV0pXT0daVVVYTjVUU3R2VUVwSWVEazVTMjlMWVVwVlF3cEpVVVJDWkRsbGMxUTBNazFTVG5nM1ZtOUJNMXBhS3pWNGFraE5aV1I2YW1WeFEyWm9aVGN2ZDFweFlUbFVRVXRDWjJkeGFHdHFUMUJSVVVSQmQwNXZDa0ZFUW14QmFrVkJjbkJrZVhsRlJqYzNiMkp5VEVOTVVYcHpZbUl4TTJsc05qZDNkek00WTA1MGFtZE5RbWw2WTJWVWFrUmlZMlZMZVZGU04xUktOSE1LWkVOc2Nsa3hZMUJCYWtFNGFYQjZTVVE0VlUxQ2FHeGtTbVV2WlhKR2NHZHROMnN3TldGaWMybFBOM1Y1ZFZadVMyOVZOazByVFhKNlZWVXJaVGxHZHdwSlJHaENhblZSYTFkUll6MEtMUzB0TFMxRlRrUWdRMFZTVkVsR1NVTkJWRVV0TFMwdExRbz0ifX0=",
|
||||
"integratedTime": 1661476639,
|
||||
"logID": "c0d23d6ad406973f9559f3ba2d1ca01f84147d8ffc5b8445c224f98b9591801d",
|
||||
"logIndex": 3280165,
|
||||
"verification": {
|
||||
"inclusionProof": {
|
||||
"hashes": [
|
||||
"da70e43d33aadff047c7aa4542a1c2c0f039555b4ebb75773659b246a096d983",
|
||||
"8e6876b02a01bc1e0491802b967f8b490e46fc3fb5e48986c092fe648377801b",
|
||||
"eaf1241ffc88cfa3bc51697a678122d9425258967d2975ddd43bd720aa693a42",
|
||||
"9420c625e610223867a58f840505674b0b3d741c24c432505c6738f2ac4f688d",
|
||||
"be1b7b409a68ebcdc48c8ab773e72008454203fa4412344f25f6b1a13cb49773",
|
||||
"5950c17122cae78ec19ea5f531887b7b7aad3ce14beeac68b91f115b388725df",
|
||||
"664dc6a32f46aaa70be3e2206606890bebc928d4e876c405eade9a244778626e",
|
||||
"48d515eeab9e86cbab194944afbc744e4c589c7b6701f1d635b70d180e0cfa3d",
|
||||
"296ac93f733e66cf78544a1412c7724f6fd32ad1aeeff6359c89a5047d0093bc",
|
||||
"ba20fa75d6d10494608f7716384ae46d62968d7a2ac0d1d49101e3b949d38c90",
|
||||
"6d494b237648126525b08f975c736a55d1f7a64472fcc2782bbc16733c608d7b",
|
||||
"efb36cfc54705d8cd921a621a9389ffa03956b15d68bfabadac2b4853852079b"
|
||||
],
|
||||
"logIndex": 3280165,
|
||||
"rootHash": "d714a81604a4a6ea1a6a485296b112b559eea0b6b93580afcb7d382a5944f03f",
|
||||
"treeSize": 3280179
|
||||
},
|
||||
"signedEntryTimestamp": "MEQCICXqUEWZzu0q2tk89u7hEBIKCxmRTQGmH+DRcwvdZoPkAiBJEbBsMdLtTWxxg8XNrJ6bRH2QskAJsKnzsgBjAsAo9A=="
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
{
|
||||
"eb624a7403756250b5f2ad58842a99d1653cd6f147f4ce9eda2da350bd908a55": {
|
||||
"body": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaW50b3RvIiwic3BlYyI6eyJjb250ZW50Ijp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI3ODIxNDNlMzlmMWU3YTA0ZTNmNmRhMmQ4OGIxYzA1N2U1NjU3MzYzYzRmOTA2NzlmM2U4YTA3MWI3NjE5ZTAyIn0sInBheWxvYWRIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiZWJiZmRkZGE2Mjc3YWYxOTllOTNjNWJiNWNmNTk5OGE3OTMxMWRlMjM4ZTQ5YmNjOGFjMjQxMDI2OTg3NjFiYiJ9fSwicHVibGljS2V5IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVTndSRU5EUVdseFowRjNTVUpCWjBsVllXaHNPRUZSZDFsWlYwNVpiblY2ZGxGdk9FVnJOMWRNVFVSdmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcEpkMDlFU1RKTlJFVjRUbnBGTTFkb1kwNU5ha2wzVDBSSk1rMUVSWGxPZWtVelYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZMV21aRVF6bHBhbFZ5Y2xwQldFOWpXRllyUVhGSFJVbFRTbEV6VkhScVNuZEpkRUVLZFRFM1JtbDJhV3BuU2sxaFlVaEdORGNyVDNaMk9WUjFla0ZEUTNscFNVVjVVRFV5WlhJMlptRjVibVpLWVZWcU9FdFBRMEZWYTNkblowWkdUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZIUWxkVUNrTXdkVVUzZFRSUWNVUlZSakZZVjBjMFFsVldWVXBCZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBwUldVUldVakJTUVZGSUwwSkNjM2RIV1VWWVl6SkdlbUl5Um5KaFdFcG9UbXBGZUU1RlFtNWlWMFp3WWtNMWFtSXlNSGRMVVZsTFMzZFpRZ3BDUVVkRWRucEJRa0ZSVVdKaFNGSXdZMGhOTmt4NU9XaFpNazUyWkZjMU1HTjVOVzVpTWpsdVlrZFZkVmt5T1hSTlNVZE1RbWR2Y2tKblJVVkJaRm8xQ2tGblVVTkNTREJGWlhkQ05VRklZMEZEUjBOVE9FTm9VeTh5YUVZd1pFWnlTalJUWTFKWFkxbHlRbGs1ZDNwcVUySmxZVGhKWjFreVlqTkpRVUZCUjBNS01UZHRTbWhuUVVGQ1FVMUJVMFJDUjBGcFJVRm9TMDlCU2tkV1ZsaENiMWN4VERSNGFsazVlV0pXT0daVVVYTjVUU3R2VUVwSWVEazVTMjlMWVVwVlF3cEpVVVJDWkRsbGMxUTBNazFTVG5nM1ZtOUJNMXBhS3pWNGFraE5aV1I2YW1WeFEyWm9aVGN2ZDFweFlUbFVRVXRDWjJkeGFHdHFUMUJSVVVSQmQwNXZDa0ZFUW14QmFrVkJjbkJrZVhsRlJqYzNiMkp5VEVOTVVYcHpZbUl4TTJsc05qZDNkek00WTA1MGFtZE5RbWw2WTJWVWFrUmlZMlZMZVZGU04xUktOSE1LWkVOc2Nsa3hZMUJCYWtFNGFYQjZTVVE0VlUxQ2FHeGtTbVV2WlhKR2NHZHROMnN3TldGaWMybFBOM1Y1ZFZadVMyOVZOazByVFhKNlZWVXJaVGxHZHdwSlJHaENhblZSYTFkUll6MEtMUzB0TFMxRlRrUWdRMFZTVkVsR1NVTkJWRVV0TFMwdExRbz0ifX0=",
|
||||
"integratedTime": 1661476639,
|
||||
"logID": "c0d23d6ad406973f9559f3ba2d1ca01f84147d8ffc5b8445c224f98b9591801d",
|
||||
"logIndex": 3280165,
|
||||
"verification": {
|
||||
"inclusionProof": {
|
||||
"hashes": [
|
||||
"da70e43d33aadff047c7aa4542a1c2c0f039555b4ebb75773659b246a096d983",
|
||||
"8e6876b02a01bc1e0491802b967f8b490e46fc3fb5e48986c092fe648377801b",
|
||||
"eaf1241ffc88cfa3bc51697a678122d9425258967d2975ddd43bd720aa693a42",
|
||||
"9420c625e610223867a58f840505674b0b3d741c24c432505c6738f2ac4f688d",
|
||||
"be1b7b409a68ebcdc48c8ab773e72008454203fa4412344f25f6b1a13cb49773",
|
||||
"5950c17122cae78ec19ea5f531887b7b7aad3ce14beeac68b91f115b388725df",
|
||||
"664dc6a32f46aaa70be3e2206606890bebc928d4e876c405eade9a244778626e",
|
||||
"48d515eeab9e86cbab194944afbc744e4c589c7b6701f1d635b70d180e0cfa3d",
|
||||
"296ac93f733e66cf78544a1412c7724f6fd32ad1aeeff6359c89a5047d0093bc",
|
||||
"ba20fa75d6d10494608f7716384ae46d62968d7a2ac0d1d49101e3b949d38c90",
|
||||
"6d494b237648126525b08f975c736a55d1f7a64472fcc2782bbc16733c608d7b",
|
||||
"efb36cfc54705d8cd921a621a9389ffa03956b15d68bfabadac2b4853852079b"
|
||||
],
|
||||
"logIndex": 3280165,
|
||||
"rootHash": "d714a81604a4a6ea1a6a485296b112b559eea0b6b93580afcb7d382a5944f03f",
|
||||
"treeSize": 3280179
|
||||
},
|
||||
"signedEntryTimestamp": "MEQCICXqUEWZzu0q2tk89u7hEBIKCxmRTQGmH+DRcwvdZoPkAiBJEbBsMdLtTWxxg8XNrJ6bRH2QskAJsKnzsgBjAsAo9A=="
|
||||
}
|
||||
}
|
||||
}
|
||||
33
pkg/fanal/artifact/image/testdata/log-entry.json
vendored
33
pkg/fanal/artifact/image/testdata/log-entry.json
vendored
@@ -1,33 +0,0 @@
|
||||
{
|
||||
"414eaca77bd19bf5f378725d7fd79309605a81b69cc0101f5cd3119d0a216523": {
|
||||
"attestation": {
|
||||
"data": "eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInByZWRpY2F0ZVR5cGUiOiJodHRwczovL2N5Y2xvbmVkeC5vcmcvc2NoZW1hIiwic3ViamVjdCI6W3sibmFtZSI6ImluZGV4LmRvY2tlci5pby9rbnF5ZjI2My9jb3NpZ24tdGVzdCIsImRpZ2VzdCI6eyJzaGEyNTYiOiJhNzc3YzljNjZiYTE3N2NjZmVhMjNmMmEyMTZmZjY3MjFlNzhhNjYyY2QxNzAxOTQ4OGM0MTcxMzUyOTljZDg5In19XSwicHJlZGljYXRlIjp7IkRhdGEiOnsiYm9tRm9ybWF0IjoiQ3ljbG9uZURYIiwiY29tcG9uZW50cyI6W3siYm9tLXJlZiI6InBrZzphcGsvYWxwaW5lL211c2xAMS4yLjMtcjA/ZGlzdHJvPTMuMTYuMiIsImxpY2Vuc2VzIjpbeyJleHByZXNzaW9uIjoiTUlUIn1dLCJuYW1lIjoibXVzbCIsInByb3BlcnRpZXMiOlt7Im5hbWUiOiJhcXVhc2VjdXJpdHk6dHJpdnk6UGtnVHlwZSIsInZhbHVlIjoiYWxwaW5lIn0seyJuYW1lIjoiYXF1YXNlY3VyaXR5OnRyaXZ5OlNyY05hbWUiLCJ2YWx1ZSI6Im11c2wifSx7Im5hbWUiOiJhcXVhc2VjdXJpdHk6dHJpdnk6U3JjVmVyc2lvbiIsInZhbHVlIjoiMS4yLjMtcjAifSx7Im5hbWUiOiJhcXVhc2VjdXJpdHk6dHJpdnk6TGF5ZXJEaWZmSUQiLCJ2YWx1ZSI6InNoYTI1Njo5OTQzOTNkYzU4ZTc5MzE4NjI1NThkMDZlNDZhYTJiYjE3NDg3MDQ0ZjY3MGYzMTBkZmZlMWQyNGU0ZDFlZWM3In1dLCJwdXJsIjoicGtnOmFway9hbHBpbmUvbXVzbEAxLjIuMy1yMD9kaXN0cm89My4xNi4yIiwidHlwZSI6ImxpYnJhcnkiLCJ2ZXJzaW9uIjoiMS4yLjMtcjAifSx7ImJvbS1yZWYiOiJmYWQ0ZWI5Ny0zZDJhLTQ0OTktYWNlNy0yYzk0NDQ0MTQ4YTciLCJuYW1lIjoiYWxwaW5lIiwicHJvcGVydGllcyI6W3sibmFtZSI6ImFxdWFzZWN1cml0eTp0cml2eTpUeXBlIiwidmFsdWUiOiJhbHBpbmUifSx7Im5hbWUiOiJhcXVhc2VjdXJpdHk6dHJpdnk6Q2xhc3MiLCJ2YWx1ZSI6Im9zLXBrZ3MifV0sInR5cGUiOiJvcGVyYXRpbmctc3lzdGVtIiwidmVyc2lvbiI6IjMuMTYuMiJ9XSwiZGVwZW5kZW5jaWVzIjpbeyJkZXBlbmRzT24iOlsicGtnOmFway9hbHBpbmUvbXVzbEAxLjIuMy1yMD9kaXN0cm89My4xNi4yIl0sInJlZiI6ImZhZDRlYjk3LTNkMmEtNDQ5OS1hY2U3LTJjOTQ0NDQxNDhhNyJ9LHsiZGVwZW5kc09uIjpbImZhZDRlYjk3LTNkMmEtNDQ5OS1hY2U3LTJjOTQ0NDQxNDhhNyJdLCJyZWYiOiJwa2c6b2NpL2FscGluZUBzaGEyNTY6YmM0MTE4MmQ3ZWY1ZmZjNTNhNDBiMDQ0ZTcyNTE5M2JjMTAxNDJhMTI0M2YzOTVlZTg1MmE4ZDk3MzBmYzJhZD9yZXBvc2l0b3J5X3VybD1pbmRleC5kb2NrZXIuaW8lMkZsaWJyYXJ5JTJGYWxwaW5lXHUwMDI2YXJjaD1hbWQ2NCJ9XSwibWV0YWRhdGEiOnsiY29tcG9uZW50Ijp7ImJvbS1yZWYiOiJwa2c6b2NpL2FscGluZUBzaGEyNTY6YmM0MTE4MmQ3ZWY1ZmZjNTNhNDBiMDQ0ZTcyNTE5M2JjMTAxNDJhMTI0M2YzOTVlZTg1MmE4ZDk3MzBmYzJhZD9yZXBvc2l0b3J5X3VybD1pbmRleC5kb2NrZXIuaW8lMkZsaWJyYXJ5JTJGYWxwaW5lXHUwMDI2YXJjaD1hbWQ2NCIsIm5hbWUiOiJhbHBpbmU6My4xNiIsInByb3BlcnRpZXMiOlt7Im5hbWUiOiJhcXVhc2VjdXJpdHk6dHJpdnk6U2NoZW1hVmVyc2lvbiIsInZhbHVlIjoiMiJ9LHsibmFtZSI6ImFxdWFzZWN1cml0eTp0cml2eTpJbWFnZUlEIiwidmFsdWUiOiJzaGEyNTY6OWM2ZjA3MjQ0NzI4NzNiYjUwYTJhZTY3YTllN2FkY2I1NzY3M2ExODNjZWE4YjA2ZWI3NzhkY2E4NTkxODFiNSJ9LHsibmFtZSI6ImFxdWFzZWN1cml0eTp0cml2eTpSZXBvRGlnZXN0IiwidmFsdWUiOiJhbHBpbmVAc2hhMjU2OmJjNDExODJkN2VmNWZmYzUzYTQwYjA0NGU3MjUxOTNiYzEwMTQyYTEyNDNmMzk1ZWU4NTJhOGQ5NzMwZmMyYWQifSx7Im5hbWUiOiJhcXVhc2VjdXJpdHk6dHJpdnk6RGlmZklEIiwidmFsdWUiOiJzaGEyNTY6OTk0MzkzZGM1OGU3OTMxODYyNTU4ZDA2ZTQ2YWEyYmIxNzQ4NzA0NGY2NzBmMzEwZGZmZTFkMjRlNGQxZWVjNyJ9LHsibmFtZSI6ImFxdWFzZWN1cml0eTp0cml2eTpSZXBvVGFnIiwidmFsdWUiOiJhbHBpbmU6My4xNiJ9XSwicHVybCI6InBrZzpvY2kvYWxwaW5lQHNoYTI1NjpiYzQxMTgyZDdlZjVmZmM1M2E0MGIwNDRlNzI1MTkzYmMxMDE0MmExMjQzZjM5NWVlODUyYThkOTczMGZjMmFkP3JlcG9zaXRvcnlfdXJsPWluZGV4LmRvY2tlci5pbyUyRmxpYnJhcnklMkZhbHBpbmVcdTAwMjZhcmNoPWFtZDY0IiwidHlwZSI6ImNvbnRhaW5lciJ9LCJ0aW1lc3RhbXAiOiIyMDIyLTA5LTE1VDEzOjUzOjQ5KzAwOjAwIiwidG9vbHMiOlt7Im5hbWUiOiJ0cml2eSIsInZlbmRvciI6ImFxdWFzZWN1cml0eSIsInZlcnNpb24iOiJkZXYifV19LCJzZXJpYWxOdW1iZXIiOiJ1cm46dXVpZDo2NDUzZmQ4Mi03MWY0LTQ3YzgtYWQxMi0wMTc3NTYxOWM0NDMiLCJzcGVjVmVyc2lvbiI6IjEuNCIsInZlcnNpb24iOjEsInZ1bG5lcmFiaWxpdGllcyI6W119LCJUaW1lc3RhbXAiOiIifX0="
|
||||
},
|
||||
"body": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaW50b3RvIiwic3BlYyI6eyJjb250ZW50Ijp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI3ODIxNDNlMzlmMWU3YTA0ZTNmNmRhMmQ4OGIxYzA1N2U1NjU3MzYzYzRmOTA2NzlmM2U4YTA3MWI3NjE5ZTAyIn0sInBheWxvYWRIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiZWJiZmRkZGE2Mjc3YWYxOTllOTNjNWJiNWNmNTk5OGE3OTMxMWRlMjM4ZTQ5YmNjOGFjMjQxMDI2OTg3NjFiYiJ9fSwicHVibGljS2V5IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVTndSRU5EUVdseFowRjNTVUpCWjBsVllXaHNPRUZSZDFsWlYwNVpiblY2ZGxGdk9FVnJOMWRNVFVSdmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcEpkMDlFU1RKTlJFVjRUbnBGTTFkb1kwNU5ha2wzVDBSSk1rMUVSWGxPZWtVelYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZMV21aRVF6bHBhbFZ5Y2xwQldFOWpXRllyUVhGSFJVbFRTbEV6VkhScVNuZEpkRUVLZFRFM1JtbDJhV3BuU2sxaFlVaEdORGNyVDNaMk9WUjFla0ZEUTNscFNVVjVVRFV5WlhJMlptRjVibVpLWVZWcU9FdFBRMEZWYTNkblowWkdUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZIUWxkVUNrTXdkVVUzZFRSUWNVUlZSakZZVjBjMFFsVldWVXBCZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBwUldVUldVakJTUVZGSUwwSkNjM2RIV1VWWVl6SkdlbUl5Um5KaFdFcG9UbXBGZUU1RlFtNWlWMFp3WWtNMWFtSXlNSGRMVVZsTFMzZFpRZ3BDUVVkRWRucEJRa0ZSVVdKaFNGSXdZMGhOTmt4NU9XaFpNazUyWkZjMU1HTjVOVzVpTWpsdVlrZFZkVmt5T1hSTlNVZE1RbWR2Y2tKblJVVkJaRm8xQ2tGblVVTkNTREJGWlhkQ05VRklZMEZEUjBOVE9FTm9VeTh5YUVZd1pFWnlTalJUWTFKWFkxbHlRbGs1ZDNwcVUySmxZVGhKWjFreVlqTkpRVUZCUjBNS01UZHRTbWhuUVVGQ1FVMUJVMFJDUjBGcFJVRm9TMDlCU2tkV1ZsaENiMWN4VERSNGFsazVlV0pXT0daVVVYTjVUU3R2VUVwSWVEazVTMjlMWVVwVlF3cEpVVVJDWkRsbGMxUTBNazFTVG5nM1ZtOUJNMXBhS3pWNGFraE5aV1I2YW1WeFEyWm9aVGN2ZDFweFlUbFVRVXRDWjJkeGFHdHFUMUJSVVVSQmQwNXZDa0ZFUW14QmFrVkJjbkJrZVhsRlJqYzNiMkp5VEVOTVVYcHpZbUl4TTJsc05qZDNkek00WTA1MGFtZE5RbWw2WTJWVWFrUmlZMlZMZVZGU04xUktOSE1LWkVOc2Nsa3hZMUJCYWtFNGFYQjZTVVE0VlUxQ2FHeGtTbVV2WlhKR2NHZHROMnN3TldGaWMybFBOM1Y1ZFZadVMyOVZOazByVFhKNlZWVXJaVGxHZHdwSlJHaENhblZSYTFkUll6MEtMUzB0TFMxRlRrUWdRMFZTVkVsR1NVTkJWRVV0TFMwdExRbz0ifX0=",
|
||||
"integratedTime": 1661476639,
|
||||
"logID": "c0d23d6ad406973f9559f3ba2d1ca01f84147d8ffc5b8445c224f98b9591801d",
|
||||
"logIndex": 3280165,
|
||||
"verification": {
|
||||
"inclusionProof": {
|
||||
"hashes": [
|
||||
"da70e43d33aadff047c7aa4542a1c2c0f039555b4ebb75773659b246a096d983",
|
||||
"8e6876b02a01bc1e0491802b967f8b490e46fc3fb5e48986c092fe648377801b",
|
||||
"eaf1241ffc88cfa3bc51697a678122d9425258967d2975ddd43bd720aa693a42",
|
||||
"9420c625e610223867a58f840505674b0b3d741c24c432505c6738f2ac4f688d",
|
||||
"be1b7b409a68ebcdc48c8ab773e72008454203fa4412344f25f6b1a13cb49773",
|
||||
"5950c17122cae78ec19ea5f531887b7b7aad3ce14beeac68b91f115b388725df",
|
||||
"664dc6a32f46aaa70be3e2206606890bebc928d4e876c405eade9a244778626e",
|
||||
"48d515eeab9e86cbab194944afbc744e4c589c7b6701f1d635b70d180e0cfa3d",
|
||||
"296ac93f733e66cf78544a1412c7724f6fd32ad1aeeff6359c89a5047d0093bc",
|
||||
"ba20fa75d6d10494608f7716384ae46d62968d7a2ac0d1d49101e3b949d38c90",
|
||||
"6d494b237648126525b08f975c736a55d1f7a64472fcc2782bbc16733c608d7b",
|
||||
"efb36cfc54705d8cd921a621a9389ffa03956b15d68bfabadac2b4853852079b"
|
||||
],
|
||||
"logIndex": 3280165,
|
||||
"rootHash": "d714a81604a4a6ea1a6a485296b112b559eea0b6b93580afcb7d382a5944f03f",
|
||||
"treeSize": 3280179
|
||||
},
|
||||
"signedEntryTimestamp": "MEQCICXqUEWZzu0q2tk89u7hEBIKCxmRTQGmH+DRcwvdZoPkAiBJEbBsMdLtTWxxg8XNrJ6bRH2QskAJsKnzsgBjAsAo9A=="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,20 +7,23 @@ import (
|
||||
httptransport "github.com/go-openapi/runtime/client"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/sigstore/rekor/pkg/generated/client"
|
||||
"github.com/sigstore/rekor/pkg/generated/client/entries"
|
||||
eclient "github.com/sigstore/rekor/pkg/generated/client/entries"
|
||||
"github.com/sigstore/rekor/pkg/generated/client/index"
|
||||
"github.com/sigstore/rekor/pkg/generated/models"
|
||||
"golang.org/x/exp/slices"
|
||||
"golang.org/x/xerrors"
|
||||
|
||||
"github.com/aquasecurity/trivy/pkg/log"
|
||||
)
|
||||
|
||||
const (
|
||||
MaxGetEntriesLimit = 10
|
||||
|
||||
treeIDLen = 16
|
||||
uuidLen = 64
|
||||
)
|
||||
|
||||
var ErrNoAttestation = xerrors.Errorf("Rekor attestations not found")
|
||||
var ErrOverGetEntriesLimit = xerrors.Errorf("Over get entries limit")
|
||||
|
||||
// EntryID is a hex-format string. The length of the string is 80 or 64.
|
||||
// If the length is 80, it consists of two elements, the TreeID and the UUID. If the length is 64,
|
||||
@@ -86,23 +89,46 @@ func (c *Client) Search(ctx context.Context, hash string) ([]EntryID, error) {
|
||||
return ids, nil
|
||||
}
|
||||
|
||||
func (c *Client) GetEntry(ctx context.Context, entryID EntryID) (Entry, error) {
|
||||
params := entries.NewGetLogEntryByUUIDParamsWithContext(ctx).WithEntryUUID(entryID.String())
|
||||
func (c *Client) GetEntries(ctx context.Context, entryIDs []EntryID) ([]Entry, error) {
|
||||
if len(entryIDs) > MaxGetEntriesLimit {
|
||||
return []Entry{}, ErrOverGetEntriesLimit
|
||||
}
|
||||
|
||||
// TODO: bulk search
|
||||
resp, err := c.Entries.GetLogEntryByUUID(params)
|
||||
ids := make([]string, len(entryIDs))
|
||||
uuids := make([]string, len(entryIDs))
|
||||
|
||||
for i, id := range entryIDs {
|
||||
ids[i] = id.String()
|
||||
uuids[i] = id.UUID
|
||||
}
|
||||
|
||||
params := eclient.NewSearchLogQueryParamsWithContext(ctx).WithEntry(&models.SearchLogQuery{
|
||||
EntryUUIDs: ids,
|
||||
})
|
||||
|
||||
resp, err := c.Entries.SearchLogQuery(params)
|
||||
if err != nil {
|
||||
return Entry{}, xerrors.Errorf("failed to get log entry by UUID: %w", err)
|
||||
return []Entry{}, xerrors.Errorf("failed to fetch log entries by UUIDs: %w", err)
|
||||
}
|
||||
|
||||
entry, found := resp.Payload[entryID.UUID]
|
||||
if !found {
|
||||
return Entry{}, ErrNoAttestation
|
||||
entries := make([]Entry, 0, len(resp.Payload))
|
||||
for _, payload := range resp.Payload {
|
||||
for id, entry := range payload {
|
||||
eid, err := NewEntryID(id)
|
||||
if err != nil {
|
||||
return []Entry{}, xerrors.Errorf("failed to parse response entryID: %w", err)
|
||||
}
|
||||
|
||||
if !slices.Contains(uuids, eid.UUID) {
|
||||
continue
|
||||
}
|
||||
|
||||
if entry.Attestation == nil {
|
||||
continue
|
||||
}
|
||||
entries = append(entries, Entry{Statement: entry.Attestation.Data})
|
||||
}
|
||||
}
|
||||
|
||||
if entry.Attestation == nil {
|
||||
return Entry{}, ErrNoAttestation
|
||||
}
|
||||
|
||||
return Entry{Statement: entry.Attestation.Data}, nil
|
||||
return entries, nil
|
||||
}
|
||||
|
||||
@@ -75,40 +75,73 @@ func TestClient_Search(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestClient_GetEntry(t *testing.T) {
|
||||
func TestClient_GetEntries(t *testing.T) {
|
||||
type args struct {
|
||||
uuid rekor.EntryID
|
||||
uuids []rekor.EntryID
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
mockResponseFile string
|
||||
args args
|
||||
want rekor.Entry
|
||||
want []rekor.Entry
|
||||
wantErr error
|
||||
}{
|
||||
{
|
||||
name: "happy path",
|
||||
mockResponseFile: "testdata/log-entry.json",
|
||||
mockResponseFile: "testdata/log-entries.json",
|
||||
args: args{
|
||||
uuid: rekor.EntryID{
|
||||
TreeID: "392f8ecba72f4326",
|
||||
UUID: "8b5b2debb565fd5cb05ae0d3935351fa3faabce558bede72e197b5722a742b1e",
|
||||
uuids: []rekor.EntryID{
|
||||
{
|
||||
TreeID: "392f8ecba72f4326",
|
||||
UUID: "8b5b2debb565fd5cb05ae0d3935351fa3faabce558bede72e197b5722a742b1e",
|
||||
},
|
||||
{
|
||||
TreeID: "392f8ecba72f4326",
|
||||
UUID: "8b5b2debb565fd5cb05ae0d3935351fa3faabce558bede72e197b5722a741a2f",
|
||||
},
|
||||
},
|
||||
},
|
||||
want: rekor.Entry{
|
||||
Statement: []byte(`{"_type":"https://in-toto.io/Statement/v0.1","predicateType":"cosign.sigstore.dev/attestation/v1","subject":[{"name":"ghcr.io/aquasecurity/trivy-test-images","digest":{"sha256":"20d3f693dcffa44d6b24eae88783324d25cc132c22089f70e4fbfb858625b062"}}],"predicate":{"Data":"\"foo\\n\"\n","Timestamp":"2022-08-26T01:17:17Z"}}`),
|
||||
want: []rekor.Entry{
|
||||
{
|
||||
Statement: []byte(`{"_type":"https://in-toto.io/Statement/v0.1","predicateType":"cosign.sigstore.dev/attestation/v1","subject":[{"name":"ghcr.io/aquasecurity/trivy-test-images","digest":{"sha256":"20d3f693dcffa44d6b24eae88783324d25cc132c22089f70e4fbfb858625b062"}}],"predicate":{"Data":"\"foo\\n\"\n","Timestamp":"2022-08-26T01:17:17Z"}}`),
|
||||
},
|
||||
{
|
||||
Statement: []byte(`{"_type":"https://in-toto.io/Statement/v0.1","predicateType":"cosign.sigstore.dev/attestation/v1","subject":[{"name":"ghcr.io/aquasecurity/trivy-test-images","digest":{"sha256":"20d3f693dcffa44d6b24eae88783324d25cc132c22089f70e4fbfb858625b062"}}],"predicate":{"Data":"\"bar\\n\"\n","Timestamp":"2022-08-26T01:17:17Z"}}`),
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "no attestation",
|
||||
mockResponseFile: "testdata/log-entry-no-attestation.json",
|
||||
mockResponseFile: "testdata/log-entries-no-attestation.json",
|
||||
args: args{
|
||||
uuid: rekor.EntryID{
|
||||
TreeID: "392f8ecba72f4326",
|
||||
UUID: "8b5b2debb565fd5cb05ae0d3935351fa3faabce558bede72e197b5722a742b1e",
|
||||
uuids: []rekor.EntryID{
|
||||
{
|
||||
TreeID: "392f8ecba72f4326",
|
||||
UUID: "8b5b2debb565fd5cb05ae0d3935351fa3faabce558bede72e197b5722a742b1e",
|
||||
},
|
||||
},
|
||||
},
|
||||
wantErr: rekor.ErrNoAttestation,
|
||||
want: []rekor.Entry{},
|
||||
},
|
||||
{
|
||||
name: "over get entries limit",
|
||||
args: args{
|
||||
uuids: []rekor.EntryID{
|
||||
{TreeID: "392f8ecba72f4326", UUID: "8b5b2debb565fd5cb05ae0d3935351fa3faabce558bede72e197b5722a742b10"},
|
||||
{TreeID: "392f8ecba72f4326", UUID: "8b5b2debb565fd5cb05ae0d3935351fa3faabce558bede72e197b5722a742b11"},
|
||||
{TreeID: "392f8ecba72f4326", UUID: "8b5b2debb565fd5cb05ae0d3935351fa3faabce558bede72e197b5722a742b12"},
|
||||
{TreeID: "392f8ecba72f4326", UUID: "8b5b2debb565fd5cb05ae0d3935351fa3faabce558bede72e197b5722a742b13"},
|
||||
{TreeID: "392f8ecba72f4326", UUID: "8b5b2debb565fd5cb05ae0d3935351fa3faabce558bede72e197b5722a742b14"},
|
||||
{TreeID: "392f8ecba72f4326", UUID: "8b5b2debb565fd5cb05ae0d3935351fa3faabce558bede72e197b5722a742b15"},
|
||||
{TreeID: "392f8ecba72f4326", UUID: "8b5b2debb565fd5cb05ae0d3935351fa3faabce558bede72e197b5722a742b16"},
|
||||
{TreeID: "392f8ecba72f4326", UUID: "8b5b2debb565fd5cb05ae0d3935351fa3faabce558bede72e197b5722a742b17"},
|
||||
{TreeID: "392f8ecba72f4326", UUID: "8b5b2debb565fd5cb05ae0d3935351fa3faabce558bede72e197b5722a742b18"},
|
||||
{TreeID: "392f8ecba72f4326", UUID: "8b5b2debb565fd5cb05ae0d3935351fa3faabce558bede72e197b5722a742b19"},
|
||||
{TreeID: "392f8ecba72f4326", UUID: "8b5b2debb565fd5cb05ae0d3935351fa3faabce558bede72e197b5722a742b1a"},
|
||||
},
|
||||
},
|
||||
want: []rekor.Entry{},
|
||||
wantErr: rekor.ErrOverGetEntriesLimit,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -123,7 +156,7 @@ func TestClient_GetEntry(t *testing.T) {
|
||||
client, err := rekor.NewClient(ts.URL)
|
||||
require.NoError(t, err)
|
||||
|
||||
got, err := client.GetEntry(context.Background(), tt.args.uuid)
|
||||
got, err := client.GetEntries(context.Background(), tt.args.uuids)
|
||||
require.Equal(t, tt.wantErr, err)
|
||||
require.Equal(t, tt.want, got)
|
||||
})
|
||||
|
||||
32
pkg/rekor/testdata/log-entries-no-attestation.json
vendored
Normal file
32
pkg/rekor/testdata/log-entries-no-attestation.json
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
[
|
||||
{
|
||||
"8b5b2debb565fd5cb05ae0d3935351fa3faabce558bede72e197b5722a742b1e": {
|
||||
"body": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaW50b3RvIiwic3BlYyI6eyJjb250ZW50Ijp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI3ODIxNDNlMzlmMWU3YTA0ZTNmNmRhMmQ4OGIxYzA1N2U1NjU3MzYzYzRmOTA2NzlmM2U4YTA3MWI3NjE5ZTAyIn0sInBheWxvYWRIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiZWJiZmRkZGE2Mjc3YWYxOTllOTNjNWJiNWNmNTk5OGE3OTMxMWRlMjM4ZTQ5YmNjOGFjMjQxMDI2OTg3NjFiYiJ9fSwicHVibGljS2V5IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVTndSRU5EUVdseFowRjNTVUpCWjBsVllXaHNPRUZSZDFsWlYwNVpiblY2ZGxGdk9FVnJOMWRNVFVSdmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcEpkMDlFU1RKTlJFVjRUbnBGTTFkb1kwNU5ha2wzVDBSSk1rMUVSWGxPZWtVelYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZMV21aRVF6bHBhbFZ5Y2xwQldFOWpXRllyUVhGSFJVbFRTbEV6VkhScVNuZEpkRUVLZFRFM1JtbDJhV3BuU2sxaFlVaEdORGNyVDNaMk9WUjFla0ZEUTNscFNVVjVVRFV5WlhJMlptRjVibVpLWVZWcU9FdFBRMEZWYTNkblowWkdUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZIUWxkVUNrTXdkVVUzZFRSUWNVUlZSakZZVjBjMFFsVldWVXBCZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBwUldVUldVakJTUVZGSUwwSkNjM2RIV1VWWVl6SkdlbUl5Um5KaFdFcG9UbXBGZUU1RlFtNWlWMFp3WWtNMWFtSXlNSGRMVVZsTFMzZFpRZ3BDUVVkRWRucEJRa0ZSVVdKaFNGSXdZMGhOTmt4NU9XaFpNazUyWkZjMU1HTjVOVzVpTWpsdVlrZFZkVmt5T1hSTlNVZE1RbWR2Y2tKblJVVkJaRm8xQ2tGblVVTkNTREJGWlhkQ05VRklZMEZEUjBOVE9FTm9VeTh5YUVZd1pFWnlTalJUWTFKWFkxbHlRbGs1ZDNwcVUySmxZVGhKWjFreVlqTkpRVUZCUjBNS01UZHRTbWhuUVVGQ1FVMUJVMFJDUjBGcFJVRm9TMDlCU2tkV1ZsaENiMWN4VERSNGFsazVlV0pXT0daVVVYTjVUU3R2VUVwSWVEazVTMjlMWVVwVlF3cEpVVVJDWkRsbGMxUTBNazFTVG5nM1ZtOUJNMXBhS3pWNGFraE5aV1I2YW1WeFEyWm9aVGN2ZDFweFlUbFVRVXRDWjJkeGFHdHFUMUJSVVVSQmQwNXZDa0ZFUW14QmFrVkJjbkJrZVhsRlJqYzNiMkp5VEVOTVVYcHpZbUl4TTJsc05qZDNkek00WTA1MGFtZE5RbWw2WTJWVWFrUmlZMlZMZVZGU04xUktOSE1LWkVOc2Nsa3hZMUJCYWtFNGFYQjZTVVE0VlUxQ2FHeGtTbVV2WlhKR2NHZHROMnN3TldGaWMybFBOM1Y1ZFZadVMyOVZOazByVFhKNlZWVXJaVGxHZHdwSlJHaENhblZSYTFkUll6MEtMUzB0TFMxRlRrUWdRMFZTVkVsR1NVTkJWRVV0TFMwdExRbz0ifX0=",
|
||||
"integratedTime": 1661476639,
|
||||
"logID": "c0d23d6ad406973f9559f3ba2d1ca01f84147d8ffc5b8445c224f98b9591801d",
|
||||
"logIndex": 3280165,
|
||||
"verification": {
|
||||
"inclusionProof": {
|
||||
"hashes": [
|
||||
"da70e43d33aadff047c7aa4542a1c2c0f039555b4ebb75773659b246a096d983",
|
||||
"8e6876b02a01bc1e0491802b967f8b490e46fc3fb5e48986c092fe648377801b",
|
||||
"eaf1241ffc88cfa3bc51697a678122d9425258967d2975ddd43bd720aa693a42",
|
||||
"9420c625e610223867a58f840505674b0b3d741c24c432505c6738f2ac4f688d",
|
||||
"be1b7b409a68ebcdc48c8ab773e72008454203fa4412344f25f6b1a13cb49773",
|
||||
"5950c17122cae78ec19ea5f531887b7b7aad3ce14beeac68b91f115b388725df",
|
||||
"664dc6a32f46aaa70be3e2206606890bebc928d4e876c405eade9a244778626e",
|
||||
"48d515eeab9e86cbab194944afbc744e4c589c7b6701f1d635b70d180e0cfa3d",
|
||||
"296ac93f733e66cf78544a1412c7724f6fd32ad1aeeff6359c89a5047d0093bc",
|
||||
"ba20fa75d6d10494608f7716384ae46d62968d7a2ac0d1d49101e3b949d38c90",
|
||||
"6d494b237648126525b08f975c736a55d1f7a64472fcc2782bbc16733c608d7b",
|
||||
"efb36cfc54705d8cd921a621a9389ffa03956b15d68bfabadac2b4853852079b"
|
||||
],
|
||||
"logIndex": 3280165,
|
||||
"rootHash": "d714a81604a4a6ea1a6a485296b112b559eea0b6b93580afcb7d382a5944f03f",
|
||||
"treeSize": 3280179
|
||||
},
|
||||
"signedEntryTimestamp": "MEQCICXqUEWZzu0q2tk89u7hEBIKCxmRTQGmH+DRcwvdZoPkAiBJEbBsMdLtTWxxg8XNrJ6bRH2QskAJsKnzsgBjAsAo9A=="
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
68
pkg/rekor/testdata/log-entries.json
vendored
Normal file
68
pkg/rekor/testdata/log-entries.json
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
[
|
||||
{
|
||||
"392f8ecba72f43268b5b2debb565fd5cb05ae0d3935351fa3faabce558bede72e197b5722a742b1e": {
|
||||
"attestation": {
|
||||
"data": "eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInByZWRpY2F0ZVR5cGUiOiJjb3NpZ24uc2lnc3RvcmUuZGV2L2F0dGVzdGF0aW9uL3YxIiwic3ViamVjdCI6W3sibmFtZSI6ImdoY3IuaW8vYXF1YXNlY3VyaXR5L3RyaXZ5LXRlc3QtaW1hZ2VzIiwiZGlnZXN0Ijp7InNoYTI1NiI6IjIwZDNmNjkzZGNmZmE0NGQ2YjI0ZWFlODg3ODMzMjRkMjVjYzEzMmMyMjA4OWY3MGU0ZmJmYjg1ODYyNWIwNjIifX1dLCJwcmVkaWNhdGUiOnsiRGF0YSI6IlwiZm9vXFxuXCJcbiIsIlRpbWVzdGFtcCI6IjIwMjItMDgtMjZUMDE6MTc6MTdaIn19"
|
||||
},
|
||||
"body": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaW50b3RvIiwic3BlYyI6eyJjb250ZW50Ijp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI3ODIxNDNlMzlmMWU3YTA0ZTNmNmRhMmQ4OGIxYzA1N2U1NjU3MzYzYzRmOTA2NzlmM2U4YTA3MWI3NjE5ZTAyIn0sInBheWxvYWRIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiZWJiZmRkZGE2Mjc3YWYxOTllOTNjNWJiNWNmNTk5OGE3OTMxMWRlMjM4ZTQ5YmNjOGFjMjQxMDI2OTg3NjFiYiJ9fSwicHVibGljS2V5IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVTndSRU5EUVdseFowRjNTVUpCWjBsVllXaHNPRUZSZDFsWlYwNVpiblY2ZGxGdk9FVnJOMWRNVFVSdmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcEpkMDlFU1RKTlJFVjRUbnBGTTFkb1kwNU5ha2wzVDBSSk1rMUVSWGxPZWtVelYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZMV21aRVF6bHBhbFZ5Y2xwQldFOWpXRllyUVhGSFJVbFRTbEV6VkhScVNuZEpkRUVLZFRFM1JtbDJhV3BuU2sxaFlVaEdORGNyVDNaMk9WUjFla0ZEUTNscFNVVjVVRFV5WlhJMlptRjVibVpLWVZWcU9FdFBRMEZWYTNkblowWkdUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZIUWxkVUNrTXdkVVUzZFRSUWNVUlZSakZZVjBjMFFsVldWVXBCZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBwUldVUldVakJTUVZGSUwwSkNjM2RIV1VWWVl6SkdlbUl5Um5KaFdFcG9UbXBGZUU1RlFtNWlWMFp3WWtNMWFtSXlNSGRMVVZsTFMzZFpRZ3BDUVVkRWRucEJRa0ZSVVdKaFNGSXdZMGhOTmt4NU9XaFpNazUyWkZjMU1HTjVOVzVpTWpsdVlrZFZkVmt5T1hSTlNVZE1RbWR2Y2tKblJVVkJaRm8xQ2tGblVVTkNTREJGWlhkQ05VRklZMEZEUjBOVE9FTm9VeTh5YUVZd1pFWnlTalJUWTFKWFkxbHlRbGs1ZDNwcVUySmxZVGhKWjFreVlqTkpRVUZCUjBNS01UZHRTbWhuUVVGQ1FVMUJVMFJDUjBGcFJVRm9TMDlCU2tkV1ZsaENiMWN4VERSNGFsazVlV0pXT0daVVVYTjVUU3R2VUVwSWVEazVTMjlMWVVwVlF3cEpVVVJDWkRsbGMxUTBNazFTVG5nM1ZtOUJNMXBhS3pWNGFraE5aV1I2YW1WeFEyWm9aVGN2ZDFweFlUbFVRVXRDWjJkeGFHdHFUMUJSVVVSQmQwNXZDa0ZFUW14QmFrVkJjbkJrZVhsRlJqYzNiMkp5VEVOTVVYcHpZbUl4TTJsc05qZDNkek00WTA1MGFtZE5RbWw2WTJWVWFrUmlZMlZMZVZGU04xUktOSE1LWkVOc2Nsa3hZMUJCYWtFNGFYQjZTVVE0VlUxQ2FHeGtTbVV2WlhKR2NHZHROMnN3TldGaWMybFBOM1Y1ZFZadVMyOVZOazByVFhKNlZWVXJaVGxHZHdwSlJHaENhblZSYTFkUll6MEtMUzB0TFMxRlRrUWdRMFZTVkVsR1NVTkJWRVV0TFMwdExRbz0ifX0=",
|
||||
"integratedTime": 1661476639,
|
||||
"logID": "c0d23d6ad406973f9559f3ba2d1ca01f84147d8ffc5b8445c224f98b9591801d",
|
||||
"logIndex": 3280165,
|
||||
"verification": {
|
||||
"inclusionProof": {
|
||||
"hashes": [
|
||||
"da70e43d33aadff047c7aa4542a1c2c0f039555b4ebb75773659b246a096d983",
|
||||
"8e6876b02a01bc1e0491802b967f8b490e46fc3fb5e48986c092fe648377801b",
|
||||
"eaf1241ffc88cfa3bc51697a678122d9425258967d2975ddd43bd720aa693a42",
|
||||
"9420c625e610223867a58f840505674b0b3d741c24c432505c6738f2ac4f688d",
|
||||
"be1b7b409a68ebcdc48c8ab773e72008454203fa4412344f25f6b1a13cb49773",
|
||||
"5950c17122cae78ec19ea5f531887b7b7aad3ce14beeac68b91f115b388725df",
|
||||
"664dc6a32f46aaa70be3e2206606890bebc928d4e876c405eade9a244778626e",
|
||||
"48d515eeab9e86cbab194944afbc744e4c589c7b6701f1d635b70d180e0cfa3d",
|
||||
"296ac93f733e66cf78544a1412c7724f6fd32ad1aeeff6359c89a5047d0093bc",
|
||||
"ba20fa75d6d10494608f7716384ae46d62968d7a2ac0d1d49101e3b949d38c90",
|
||||
"6d494b237648126525b08f975c736a55d1f7a64472fcc2782bbc16733c608d7b",
|
||||
"efb36cfc54705d8cd921a621a9389ffa03956b15d68bfabadac2b4853852079b"
|
||||
],
|
||||
"logIndex": 3280165,
|
||||
"rootHash": "d714a81604a4a6ea1a6a485296b112b559eea0b6b93580afcb7d382a5944f03f",
|
||||
"treeSize": 3280179
|
||||
},
|
||||
"signedEntryTimestamp": "MEQCICXqUEWZzu0q2tk89u7hEBIKCxmRTQGmH+DRcwvdZoPkAiBJEbBsMdLtTWxxg8XNrJ6bRH2QskAJsKnzsgBjAsAo9A=="
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"392f8ecba72f43268b5b2debb565fd5cb05ae0d3935351fa3faabce558bede72e197b5722a741a2f": {
|
||||
"attestation": {
|
||||
"data": "eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInByZWRpY2F0ZVR5cGUiOiJjb3NpZ24uc2lnc3RvcmUuZGV2L2F0dGVzdGF0aW9uL3YxIiwic3ViamVjdCI6W3sibmFtZSI6ImdoY3IuaW8vYXF1YXNlY3VyaXR5L3RyaXZ5LXRlc3QtaW1hZ2VzIiwiZGlnZXN0Ijp7InNoYTI1NiI6IjIwZDNmNjkzZGNmZmE0NGQ2YjI0ZWFlODg3ODMzMjRkMjVjYzEzMmMyMjA4OWY3MGU0ZmJmYjg1ODYyNWIwNjIifX1dLCJwcmVkaWNhdGUiOnsiRGF0YSI6IlwiYmFyXFxuXCJcbiIsIlRpbWVzdGFtcCI6IjIwMjItMDgtMjZUMDE6MTc6MTdaIn19"
|
||||
},
|
||||
"body": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaW50b3RvIiwic3BlYyI6eyJjb250ZW50Ijp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI3ODIxNDNlMzlmMWU3YTA0ZTNmNmRhMmQ4OGIxYzA1N2U1NjU3MzYzYzRmOTA2NzlmM2U4YTA3MWI3NjE5ZTAyIn0sInBheWxvYWRIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiZWJiZmRkZGE2Mjc3YWYxOTllOTNjNWJiNWNmNTk5OGE3OTMxMWRlMjM4ZTQ5YmNjOGFjMjQxMDI2OTg3NjFiYiJ9fSwicHVibGljS2V5IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVTndSRU5EUVdseFowRjNTVUpCWjBsVllXaHNPRUZSZDFsWlYwNVpiblY2ZGxGdk9FVnJOMWRNVFVSdmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcEpkMDlFU1RKTlJFVjRUbnBGTTFkb1kwNU5ha2wzVDBSSk1rMUVSWGxPZWtVelYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZMV21aRVF6bHBhbFZ5Y2xwQldFOWpXRllyUVhGSFJVbFRTbEV6VkhScVNuZEpkRUVLZFRFM1JtbDJhV3BuU2sxaFlVaEdORGNyVDNaMk9WUjFla0ZEUTNscFNVVjVVRFV5WlhJMlptRjVibVpLWVZWcU9FdFBRMEZWYTNkblowWkdUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZIUWxkVUNrTXdkVVUzZFRSUWNVUlZSakZZVjBjMFFsVldWVXBCZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBwUldVUldVakJTUVZGSUwwSkNjM2RIV1VWWVl6SkdlbUl5Um5KaFdFcG9UbXBGZUU1RlFtNWlWMFp3WWtNMWFtSXlNSGRMVVZsTFMzZFpRZ3BDUVVkRWRucEJRa0ZSVVdKaFNGSXdZMGhOTmt4NU9XaFpNazUyWkZjMU1HTjVOVzVpTWpsdVlrZFZkVmt5T1hSTlNVZE1RbWR2Y2tKblJVVkJaRm8xQ2tGblVVTkNTREJGWlhkQ05VRklZMEZEUjBOVE9FTm9VeTh5YUVZd1pFWnlTalJUWTFKWFkxbHlRbGs1ZDNwcVUySmxZVGhKWjFreVlqTkpRVUZCUjBNS01UZHRTbWhuUVVGQ1FVMUJVMFJDUjBGcFJVRm9TMDlCU2tkV1ZsaENiMWN4VERSNGFsazVlV0pXT0daVVVYTjVUU3R2VUVwSWVEazVTMjlMWVVwVlF3cEpVVVJDWkRsbGMxUTBNazFTVG5nM1ZtOUJNMXBhS3pWNGFraE5aV1I2YW1WeFEyWm9aVGN2ZDFweFlUbFVRVXRDWjJkeGFHdHFUMUJSVVVSQmQwNXZDa0ZFUW14QmFrVkJjbkJrZVhsRlJqYzNiMkp5VEVOTVVYcHpZbUl4TTJsc05qZDNkek00WTA1MGFtZE5RbWw2WTJWVWFrUmlZMlZMZVZGU04xUktOSE1LWkVOc2Nsa3hZMUJCYWtFNGFYQjZTVVE0VlUxQ2FHeGtTbVV2WlhKR2NHZHROMnN3TldGaWMybFBOM1Y1ZFZadVMyOVZOazByVFhKNlZWVXJaVGxHZHdwSlJHaENhblZSYTFkUll6MEtMUzB0TFMxRlRrUWdRMFZTVkVsR1NVTkJWRVV0TFMwdExRbz0ifX0=",
|
||||
"integratedTime": 1661476639,
|
||||
"logID": "c0d23d6ad406973f9559f3ba2d1ca01f84147d8ffc5b8445c224f98b9591801d",
|
||||
"logIndex": 3280165,
|
||||
"verification": {
|
||||
"inclusionProof": {
|
||||
"hashes": [
|
||||
"da70e43d33aadff047c7aa4542a1c2c0f039555b4ebb75773659b246a096d983",
|
||||
"8e6876b02a01bc1e0491802b967f8b490e46fc3fb5e48986c092fe648377801b",
|
||||
"eaf1241ffc88cfa3bc51697a678122d9425258967d2975ddd43bd720aa693a42",
|
||||
"9420c625e610223867a58f840505674b0b3d741c24c432505c6738f2ac4f688d",
|
||||
"be1b7b409a68ebcdc48c8ab773e72008454203fa4412344f25f6b1a13cb49773",
|
||||
"5950c17122cae78ec19ea5f531887b7b7aad3ce14beeac68b91f115b388725df",
|
||||
"664dc6a32f46aaa70be3e2206606890bebc928d4e876c405eade9a244778626e",
|
||||
"48d515eeab9e86cbab194944afbc744e4c589c7b6701f1d635b70d180e0cfa3d",
|
||||
"296ac93f733e66cf78544a1412c7724f6fd32ad1aeeff6359c89a5047d0093bc",
|
||||
"ba20fa75d6d10494608f7716384ae46d62968d7a2ac0d1d49101e3b949d38c90",
|
||||
"6d494b237648126525b08f975c736a55d1f7a64472fcc2782bbc16733c608d7b",
|
||||
"efb36cfc54705d8cd921a621a9389ffa03956b15d68bfabadac2b4853852079b"
|
||||
],
|
||||
"logIndex": 3280165,
|
||||
"rootHash": "d714a81604a4a6ea1a6a485296b112b559eea0b6b93580afcb7d382a5944f03f",
|
||||
"treeSize": 3280179
|
||||
},
|
||||
"signedEntryTimestamp": "MEQCICXqUEWZzu0q2tk89u7hEBIKCxmRTQGmH+DRcwvdZoPkAiBJEbBsMdLtTWxxg8XNrJ6bRH2QskAJsKnzsgBjAsAo9A=="
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
30
pkg/rekor/testdata/log-entry-no-attestation.json
vendored
30
pkg/rekor/testdata/log-entry-no-attestation.json
vendored
@@ -1,30 +0,0 @@
|
||||
{
|
||||
"8b5b2debb565fd5cb05ae0d3935351fa3faabce558bede72e197b5722a742b1e": {
|
||||
"body": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaW50b3RvIiwic3BlYyI6eyJjb250ZW50Ijp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI3ODIxNDNlMzlmMWU3YTA0ZTNmNmRhMmQ4OGIxYzA1N2U1NjU3MzYzYzRmOTA2NzlmM2U4YTA3MWI3NjE5ZTAyIn0sInBheWxvYWRIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiZWJiZmRkZGE2Mjc3YWYxOTllOTNjNWJiNWNmNTk5OGE3OTMxMWRlMjM4ZTQ5YmNjOGFjMjQxMDI2OTg3NjFiYiJ9fSwicHVibGljS2V5IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVTndSRU5EUVdseFowRjNTVUpCWjBsVllXaHNPRUZSZDFsWlYwNVpiblY2ZGxGdk9FVnJOMWRNVFVSdmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcEpkMDlFU1RKTlJFVjRUbnBGTTFkb1kwNU5ha2wzVDBSSk1rMUVSWGxPZWtVelYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZMV21aRVF6bHBhbFZ5Y2xwQldFOWpXRllyUVhGSFJVbFRTbEV6VkhScVNuZEpkRUVLZFRFM1JtbDJhV3BuU2sxaFlVaEdORGNyVDNaMk9WUjFla0ZEUTNscFNVVjVVRFV5WlhJMlptRjVibVpLWVZWcU9FdFBRMEZWYTNkblowWkdUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZIUWxkVUNrTXdkVVUzZFRSUWNVUlZSakZZVjBjMFFsVldWVXBCZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBwUldVUldVakJTUVZGSUwwSkNjM2RIV1VWWVl6SkdlbUl5Um5KaFdFcG9UbXBGZUU1RlFtNWlWMFp3WWtNMWFtSXlNSGRMVVZsTFMzZFpRZ3BDUVVkRWRucEJRa0ZSVVdKaFNGSXdZMGhOTmt4NU9XaFpNazUyWkZjMU1HTjVOVzVpTWpsdVlrZFZkVmt5T1hSTlNVZE1RbWR2Y2tKblJVVkJaRm8xQ2tGblVVTkNTREJGWlhkQ05VRklZMEZEUjBOVE9FTm9VeTh5YUVZd1pFWnlTalJUWTFKWFkxbHlRbGs1ZDNwcVUySmxZVGhKWjFreVlqTkpRVUZCUjBNS01UZHRTbWhuUVVGQ1FVMUJVMFJDUjBGcFJVRm9TMDlCU2tkV1ZsaENiMWN4VERSNGFsazVlV0pXT0daVVVYTjVUU3R2VUVwSWVEazVTMjlMWVVwVlF3cEpVVVJDWkRsbGMxUTBNazFTVG5nM1ZtOUJNMXBhS3pWNGFraE5aV1I2YW1WeFEyWm9aVGN2ZDFweFlUbFVRVXRDWjJkeGFHdHFUMUJSVVVSQmQwNXZDa0ZFUW14QmFrVkJjbkJrZVhsRlJqYzNiMkp5VEVOTVVYcHpZbUl4TTJsc05qZDNkek00WTA1MGFtZE5RbWw2WTJWVWFrUmlZMlZMZVZGU04xUktOSE1LWkVOc2Nsa3hZMUJCYWtFNGFYQjZTVVE0VlUxQ2FHeGtTbVV2WlhKR2NHZHROMnN3TldGaWMybFBOM1Y1ZFZadVMyOVZOazByVFhKNlZWVXJaVGxHZHdwSlJHaENhblZSYTFkUll6MEtMUzB0TFMxRlRrUWdRMFZTVkVsR1NVTkJWRVV0TFMwdExRbz0ifX0=",
|
||||
"integratedTime": 1661476639,
|
||||
"logID": "c0d23d6ad406973f9559f3ba2d1ca01f84147d8ffc5b8445c224f98b9591801d",
|
||||
"logIndex": 3280165,
|
||||
"verification": {
|
||||
"inclusionProof": {
|
||||
"hashes": [
|
||||
"da70e43d33aadff047c7aa4542a1c2c0f039555b4ebb75773659b246a096d983",
|
||||
"8e6876b02a01bc1e0491802b967f8b490e46fc3fb5e48986c092fe648377801b",
|
||||
"eaf1241ffc88cfa3bc51697a678122d9425258967d2975ddd43bd720aa693a42",
|
||||
"9420c625e610223867a58f840505674b0b3d741c24c432505c6738f2ac4f688d",
|
||||
"be1b7b409a68ebcdc48c8ab773e72008454203fa4412344f25f6b1a13cb49773",
|
||||
"5950c17122cae78ec19ea5f531887b7b7aad3ce14beeac68b91f115b388725df",
|
||||
"664dc6a32f46aaa70be3e2206606890bebc928d4e876c405eade9a244778626e",
|
||||
"48d515eeab9e86cbab194944afbc744e4c589c7b6701f1d635b70d180e0cfa3d",
|
||||
"296ac93f733e66cf78544a1412c7724f6fd32ad1aeeff6359c89a5047d0093bc",
|
||||
"ba20fa75d6d10494608f7716384ae46d62968d7a2ac0d1d49101e3b949d38c90",
|
||||
"6d494b237648126525b08f975c736a55d1f7a64472fcc2782bbc16733c608d7b",
|
||||
"efb36cfc54705d8cd921a621a9389ffa03956b15d68bfabadac2b4853852079b"
|
||||
],
|
||||
"logIndex": 3280165,
|
||||
"rootHash": "d714a81604a4a6ea1a6a485296b112b559eea0b6b93580afcb7d382a5944f03f",
|
||||
"treeSize": 3280179
|
||||
},
|
||||
"signedEntryTimestamp": "MEQCICXqUEWZzu0q2tk89u7hEBIKCxmRTQGmH+DRcwvdZoPkAiBJEbBsMdLtTWxxg8XNrJ6bRH2QskAJsKnzsgBjAsAo9A=="
|
||||
}
|
||||
}
|
||||
}
|
||||
33
pkg/rekor/testdata/log-entry.json
vendored
33
pkg/rekor/testdata/log-entry.json
vendored
@@ -1,33 +0,0 @@
|
||||
{
|
||||
"8b5b2debb565fd5cb05ae0d3935351fa3faabce558bede72e197b5722a742b1e": {
|
||||
"attestation": {
|
||||
"data": "eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInByZWRpY2F0ZVR5cGUiOiJjb3NpZ24uc2lnc3RvcmUuZGV2L2F0dGVzdGF0aW9uL3YxIiwic3ViamVjdCI6W3sibmFtZSI6ImdoY3IuaW8vYXF1YXNlY3VyaXR5L3RyaXZ5LXRlc3QtaW1hZ2VzIiwiZGlnZXN0Ijp7InNoYTI1NiI6IjIwZDNmNjkzZGNmZmE0NGQ2YjI0ZWFlODg3ODMzMjRkMjVjYzEzMmMyMjA4OWY3MGU0ZmJmYjg1ODYyNWIwNjIifX1dLCJwcmVkaWNhdGUiOnsiRGF0YSI6IlwiZm9vXFxuXCJcbiIsIlRpbWVzdGFtcCI6IjIwMjItMDgtMjZUMDE6MTc6MTdaIn19"
|
||||
},
|
||||
"body": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaW50b3RvIiwic3BlYyI6eyJjb250ZW50Ijp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI3ODIxNDNlMzlmMWU3YTA0ZTNmNmRhMmQ4OGIxYzA1N2U1NjU3MzYzYzRmOTA2NzlmM2U4YTA3MWI3NjE5ZTAyIn0sInBheWxvYWRIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiZWJiZmRkZGE2Mjc3YWYxOTllOTNjNWJiNWNmNTk5OGE3OTMxMWRlMjM4ZTQ5YmNjOGFjMjQxMDI2OTg3NjFiYiJ9fSwicHVibGljS2V5IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVTndSRU5EUVdseFowRjNTVUpCWjBsVllXaHNPRUZSZDFsWlYwNVpiblY2ZGxGdk9FVnJOMWRNVFVSdmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcEpkMDlFU1RKTlJFVjRUbnBGTTFkb1kwNU5ha2wzVDBSSk1rMUVSWGxPZWtVelYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZMV21aRVF6bHBhbFZ5Y2xwQldFOWpXRllyUVhGSFJVbFRTbEV6VkhScVNuZEpkRUVLZFRFM1JtbDJhV3BuU2sxaFlVaEdORGNyVDNaMk9WUjFla0ZEUTNscFNVVjVVRFV5WlhJMlptRjVibVpLWVZWcU9FdFBRMEZWYTNkblowWkdUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZIUWxkVUNrTXdkVVUzZFRSUWNVUlZSakZZVjBjMFFsVldWVXBCZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBwUldVUldVakJTUVZGSUwwSkNjM2RIV1VWWVl6SkdlbUl5Um5KaFdFcG9UbXBGZUU1RlFtNWlWMFp3WWtNMWFtSXlNSGRMVVZsTFMzZFpRZ3BDUVVkRWRucEJRa0ZSVVdKaFNGSXdZMGhOTmt4NU9XaFpNazUyWkZjMU1HTjVOVzVpTWpsdVlrZFZkVmt5T1hSTlNVZE1RbWR2Y2tKblJVVkJaRm8xQ2tGblVVTkNTREJGWlhkQ05VRklZMEZEUjBOVE9FTm9VeTh5YUVZd1pFWnlTalJUWTFKWFkxbHlRbGs1ZDNwcVUySmxZVGhKWjFreVlqTkpRVUZCUjBNS01UZHRTbWhuUVVGQ1FVMUJVMFJDUjBGcFJVRm9TMDlCU2tkV1ZsaENiMWN4VERSNGFsazVlV0pXT0daVVVYTjVUU3R2VUVwSWVEazVTMjlMWVVwVlF3cEpVVVJDWkRsbGMxUTBNazFTVG5nM1ZtOUJNMXBhS3pWNGFraE5aV1I2YW1WeFEyWm9aVGN2ZDFweFlUbFVRVXRDWjJkeGFHdHFUMUJSVVVSQmQwNXZDa0ZFUW14QmFrVkJjbkJrZVhsRlJqYzNiMkp5VEVOTVVYcHpZbUl4TTJsc05qZDNkek00WTA1MGFtZE5RbWw2WTJWVWFrUmlZMlZMZVZGU04xUktOSE1LWkVOc2Nsa3hZMUJCYWtFNGFYQjZTVVE0VlUxQ2FHeGtTbVV2WlhKR2NHZHROMnN3TldGaWMybFBOM1Y1ZFZadVMyOVZOazByVFhKNlZWVXJaVGxHZHdwSlJHaENhblZSYTFkUll6MEtMUzB0TFMxRlRrUWdRMFZTVkVsR1NVTkJWRVV0TFMwdExRbz0ifX0=",
|
||||
"integratedTime": 1661476639,
|
||||
"logID": "c0d23d6ad406973f9559f3ba2d1ca01f84147d8ffc5b8445c224f98b9591801d",
|
||||
"logIndex": 3280165,
|
||||
"verification": {
|
||||
"inclusionProof": {
|
||||
"hashes": [
|
||||
"da70e43d33aadff047c7aa4542a1c2c0f039555b4ebb75773659b246a096d983",
|
||||
"8e6876b02a01bc1e0491802b967f8b490e46fc3fb5e48986c092fe648377801b",
|
||||
"eaf1241ffc88cfa3bc51697a678122d9425258967d2975ddd43bd720aa693a42",
|
||||
"9420c625e610223867a58f840505674b0b3d741c24c432505c6738f2ac4f688d",
|
||||
"be1b7b409a68ebcdc48c8ab773e72008454203fa4412344f25f6b1a13cb49773",
|
||||
"5950c17122cae78ec19ea5f531887b7b7aad3ce14beeac68b91f115b388725df",
|
||||
"664dc6a32f46aaa70be3e2206606890bebc928d4e876c405eade9a244778626e",
|
||||
"48d515eeab9e86cbab194944afbc744e4c589c7b6701f1d635b70d180e0cfa3d",
|
||||
"296ac93f733e66cf78544a1412c7724f6fd32ad1aeeff6359c89a5047d0093bc",
|
||||
"ba20fa75d6d10494608f7716384ae46d62968d7a2ac0d1d49101e3b949d38c90",
|
||||
"6d494b237648126525b08f975c736a55d1f7a64472fcc2782bbc16733c608d7b",
|
||||
"efb36cfc54705d8cd921a621a9389ffa03956b15d68bfabadac2b4853852079b"
|
||||
],
|
||||
"logIndex": 3280165,
|
||||
"rootHash": "d714a81604a4a6ea1a6a485296b112b559eea0b6b93580afcb7d382a5944f03f",
|
||||
"treeSize": 3280179
|
||||
},
|
||||
"signedEntryTimestamp": "MEQCICXqUEWZzu0q2tk89u7hEBIKCxmRTQGmH+DRcwvdZoPkAiBJEbBsMdLtTWxxg8XNrJ6bRH2QskAJsKnzsgBjAsAo9A=="
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user