diff --git a/cli/slsa-verifier/main_regression_test.go b/cli/slsa-verifier/main_regression_test.go index 47d0899..b7d1162 100644 --- a/cli/slsa-verifier/main_regression_test.go +++ b/cli/slsa-verifier/main_regression_test.go @@ -465,15 +465,15 @@ func Test_runVerifyGHAArtifactPath(t *testing.T) { { name: "annotated tag", artifacts: []string{"annotated-tag"}, - source: "github.com/laurentsimon/slsa-on-github-test", - pversiontag: pString("v5.0.1"), + source: "github.com/asraa/slsa-on-github-test", + pversiontag: pString("v1.5.0"), noversion: true, }, { name: "no branch", artifacts: []string{"annotated-tag"}, - source: "github.com/laurentsimon/slsa-on-github-test", - pversiontag: pString("v5.0.1"), + source: "github.com/asraa/slsa-on-github-test", + pversiontag: pString("v1.5.0"), pbranch: pString("main"), err: serrors.ErrorMismatchBranch, noversion: true, @@ -484,7 +484,7 @@ func Test_runVerifyGHAArtifactPath(t *testing.T) { artifacts: []string{"workflow-inputs"}, source: "github.com/laurentsimon/slsa-on-github-test", inputs: map[string]string{ - "release_version": "v1.2.3", + "release_version": "(for example, 0.1.0)", "some_bool": "true", "some_integer": "123", }, @@ -495,7 +495,7 @@ func Test_runVerifyGHAArtifactPath(t *testing.T) { artifacts: []string{"workflow-inputs"}, source: "github.com/laurentsimon/slsa-on-github-test", inputs: map[string]string{ - "release_version": "v1.2.3", + "release_version": "(for example, 0.1.0)", "some_bool": "true", "missing_field": "123", }, @@ -507,29 +507,19 @@ func Test_runVerifyGHAArtifactPath(t *testing.T) { artifacts: []string{"workflow-inputs"}, source: "github.com/laurentsimon/slsa-on-github-test", inputs: map[string]string{ - "release_version": "v1.2.3", + "release_version": "(for example, 0.1.0)", "some_bool": "true", "some_integer": "321", }, err: serrors.ErrorMismatchWorkflowInputs, noversion: true, }, - // Regression test of sharded UUID. - { - name: "regression: sharded uuids", - artifacts: []string{"binary-linux-amd64-sharded"}, - source: "github.com/slsa-framework/slsa-verifier", - pbranch: pString("release/v1.0"), - pBuilderID: pString("https://github.com/slsa-framework/slsa-github-generator/.github/workflows/builder_go_slsa3.yml"), - noversion: true, - }, } for _, tt := range tests { tt := tt // Re-initializing variable so it is not changed while executing the closure below t.Run(tt.name, func(t *testing.T) { // Avoid rate limiting by not running the tests in parallel. // t.Parallel() - checkVersions := getBuildersAndVersions(t, "v1.2.2", tt.builders, GHA_ARTIFACT_PATH_BUILDERS) if tt.noversion { checkVersions = []string{""} diff --git a/cli/slsa-verifier/testdata/annotated-tag.intoto.jsonl b/cli/slsa-verifier/testdata/annotated-tag.intoto.jsonl index c206983..5c577e3 100644 --- a/cli/slsa-verifier/testdata/annotated-tag.intoto.jsonl +++ b/cli/slsa-verifier/testdata/annotated-tag.intoto.jsonl @@ -1 +1 @@ -{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3Nsc2EuZGV2L3Byb3ZlbmFuY2UvdjAuMiIsInN1YmplY3QiOlt7Im5hbWUiOiJhcnRpZmFjdDEiLCJkaWdlc3QiOnsic2hhMjU2IjoiNDgyY2U4YzhmN2U4NjdkYTNhM2MwNWE5YWVlNjM3NzAzZTE3NDcwZWQxY2Y4ODJhOWU1YjQwNWU4ZjgyNjE5ZCJ9fSx7Im5hbWUiOiJhcnRpZmFjdDIiLCJkaWdlc3QiOnsic2hhMjU2IjoiODljZmM2OTU0ZTg4YjJmOTJhN2MyODc5ZDllYjA4NWM0MmYzYzcwNjVkMDEyYTUwNjZmNDUwZGJlNTliMmMwMCJ9fV0sInByZWRpY2F0ZSI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL3Nsc2EtZnJhbWV3b3JrL3Nsc2EtZ2l0aHViLWdlbmVyYXRvci8uZ2l0aHViL3dvcmtmbG93cy9nZW5lcmF0b3JfZ2VuZXJpY19zbHNhMy55bWxAcmVmcy90YWdzL3YxLjIuMCJ9LCJidWlsZFR5cGUiOiJodHRwczovL2dpdGh1Yi5jb20vc2xzYS1mcmFtZXdvcmsvc2xzYS1naXRodWItZ2VuZXJhdG9yQHYxIiwiaW52b2NhdGlvbiI6eyJjb25maWdTb3VyY2UiOnsidXJpIjoiZ2l0K2h0dHBzOi8vZ2l0aHViLmNvbS9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdEByZWZzL3RhZ3MvdjUuMC4xIiwiZGlnZXN0Ijp7InNoYTEiOiI0NmNiMGU5ZWIzZDgxOTgwZWM2N2RiNWQwOWMxYTAzN2IwOWFlNjM5In0sImVudHJ5UG9pbnQiOiIuZ2l0aHViL3dvcmtmbG93cy9zbHNhLWdlbmVyaWMueW1sIn0sInBhcmFtZXRlcnMiOnt9LCJlbnZpcm9ubWVudCI6eyJnaXRodWJfYWN0b3IiOiJsYXVyZW50c2ltb24iLCJnaXRodWJfYWN0b3JfaWQiOiI2NDUwNTA5OSIsImdpdGh1Yl9iYXNlX3JlZiI6IiIsImdpdGh1Yl9ldmVudF9uYW1lIjoicHVzaCIsImdpdGh1Yl9ldmVudF9wYXlsb2FkIjp7ImFmdGVyIjoiMzNhZDk4MDNlNWZhNmFhMDk5NzZkZGIzM2IxNGFjZTYxMzA3ZDZhMyIsImJhc2VfcmVmIjpudWxsLCJiZWZvcmUiOiIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiY29tbWl0cyI6W10sImNvbXBhcmUiOiJodHRwczovL2dpdGh1Yi5jb20vbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvY29tcGFyZS92NS4wLjEiLCJjcmVhdGVkIjp0cnVlLCJkZWxldGVkIjpmYWxzZSwiZm9yY2VkIjpmYWxzZSwiaGVhZF9jb21taXQiOnsiYXV0aG9yIjp7ImVtYWlsIjoiNjQ1MDUwOTkrbGF1cmVudHNpbW9uQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbSIsIm5hbWUiOiJsYXVyZW50c2ltb24iLCJ1c2VybmFtZSI6ImxhdXJlbnRzaW1vbiJ9LCJjb21taXR0ZXIiOnsiZW1haWwiOiJub3JlcGx5QGdpdGh1Yi5jb20iLCJuYW1lIjoiR2l0SHViIiwidXNlcm5hbWUiOiJ3ZWItZmxvdyJ9LCJkaXN0aW5jdCI6dHJ1ZSwiaWQiOiI0NmNiMGU5ZWIzZDgxOTgwZWM2N2RiNWQwOWMxYTAzN2IwOWFlNjM5IiwibWVzc2FnZSI6IlVwZGF0ZSBzbHNhLWdlbmVyaWMueW1sIiwidGltZXN0YW1wIjoiMjAyMi0wOC0wOVQxNToyNzozMi0wNzowMCIsInRyZWVfaWQiOiIxMmEyYzY0YWYxZmFmZWFmYWVhNDhjNmEyZmJjZjJmYzMwYmU2MTY1IiwidXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L2NvbW1pdC80NmNiMGU5ZWIzZDgxOTgwZWM2N2RiNWQwOWMxYTAzN2IwOWFlNjM5In0sInB1c2hlciI6eyJlbWFpbCI6IjY0NTA1MDk5K2xhdXJlbnRzaW1vbkB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20iLCJuYW1lIjoibGF1cmVudHNpbW9uIn0sInJlZiI6InJlZnMvdGFncy92NS4wLjEiLCJyZXBvc2l0b3J5Ijp7ImFsbG93X2ZvcmtpbmciOnRydWUsImFyY2hpdmVfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC97YXJjaGl2ZV9mb3JtYXR9ey9yZWZ9IiwiYXJjaGl2ZWQiOmZhbHNlLCJhc3NpZ25lZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9hc3NpZ25lZXN7L3VzZXJ9IiwiYmxvYnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9naXQvYmxvYnN7L3NoYX0iLCJicmFuY2hlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L2JyYW5jaGVzey9icmFuY2h9IiwiY2xvbmVfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0LmdpdCIsImNvbGxhYm9yYXRvcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9jb2xsYWJvcmF0b3Jzey9jb2xsYWJvcmF0b3J9IiwiY29tbWVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9jb21tZW50c3svbnVtYmVyfSIsImNvbW1pdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9jb21taXRzey9zaGF9IiwiY29tcGFyZV91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L2NvbXBhcmUve2Jhc2V9Li4ue2hlYWR9IiwiY29udGVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9jb250ZW50cy97K3BhdGh9IiwiY29udHJpYnV0b3JzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvY29udHJpYnV0b3JzIiwiY3JlYXRlZF9hdCI6MTY0NDAyMzQ0NiwiZGVmYXVsdF9icmFuY2giOiJtYWluIiwiZGVwbG95bWVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9kZXBsb3ltZW50cyIsImRlc2NyaXB0aW9uIjoiVGVzdCBmb3IgU0xTQSIsImRpc2FibGVkIjpmYWxzZSwiZG93bmxvYWRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvZG93bmxvYWRzIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvZXZlbnRzIiwiZm9yayI6ZmFsc2UsImZvcmtzIjoxLCJmb3Jrc19jb3VudCI6MSwiZm9ya3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9mb3JrcyIsImZ1bGxfbmFtZSI6ImxhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0IiwiZ2l0X2NvbW1pdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9naXQvY29tbWl0c3svc2hhfSIsImdpdF9yZWZzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvZ2l0L3JlZnN7L3NoYX0iLCJnaXRfdGFnc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L2dpdC90YWdzey9zaGF9IiwiZ2l0X3VybCI6ImdpdDovL2dpdGh1Yi5jb20vbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QuZ2l0IiwiaGFzX2Rvd25sb2FkcyI6dHJ1ZSwiaGFzX2lzc3VlcyI6dHJ1ZSwiaGFzX3BhZ2VzIjpmYWxzZSwiaGFzX3Byb2plY3RzIjp0cnVlLCJoYXNfd2lraSI6dHJ1ZSwiaG9tZXBhZ2UiOm51bGwsImhvb2tzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvaG9va3MiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdCIsImlkIjo0NTU3NDMzOTYsImlzX3RlbXBsYXRlIjpmYWxzZSwiaXNzdWVfY29tbWVudF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L2lzc3Vlcy9jb21tZW50c3svbnVtYmVyfSIsImlzc3VlX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L2lzc3Vlcy9ldmVudHN7L251bWJlcn0iLCJpc3N1ZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9pc3N1ZXN7L251bWJlcn0iLCJrZXlzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3Qva2V5c3sva2V5X2lkfSIsImxhYmVsc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L2xhYmVsc3svbmFtZX0iLCJsYW5ndWFnZSI6IlNoZWxsIiwibGFuZ3VhZ2VzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvbGFuZ3VhZ2VzIiwibGljZW5zZSI6eyJrZXkiOiJhcGFjaGUtMi4wIiwibmFtZSI6IkFwYWNoZSBMaWNlbnNlIDIuMCIsIm5vZGVfaWQiOiJNRGM2VEdsalpXNXpaVEk9Iiwic3BkeF9pZCI6IkFwYWNoZS0yLjAiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL2xpY2Vuc2VzL2FwYWNoZS0yLjAifSwibWFzdGVyX2JyYW5jaCI6Im1haW4iLCJtZXJnZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9tZXJnZXMiLCJtaWxlc3RvbmVzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvbWlsZXN0b25lc3svbnVtYmVyfSIsIm1pcnJvcl91cmwiOm51bGwsIm5hbWUiOiJzbHNhLW9uLWdpdGh1Yi10ZXN0Iiwibm9kZV9pZCI6IlJfa2dET0d5b1hwQSIsIm5vdGlmaWNhdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9ub3RpZmljYXRpb25zez9zaW5jZSxhbGwscGFydGljaXBhdGluZ30iLCJvcGVuX2lzc3VlcyI6MjQsIm9wZW5faXNzdWVzX2NvdW50IjoyNCwib3duZXIiOnsiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS82NDUwNTA5OT92PTQiLCJlbWFpbCI6IjY0NTA1MDk5K2xhdXJlbnRzaW1vbkB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20iLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vZXZlbnRzey9wcml2YWN5fSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL2dpc3Rzey9naXN0X2lkfSIsImdyYXZhdGFyX2lkIjoiIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vbGF1cmVudHNpbW9uIiwiaWQiOjY0NTA1MDk5LCJsb2dpbiI6ImxhdXJlbnRzaW1vbiIsIm5hbWUiOiJsYXVyZW50c2ltb24iLCJub2RlX2lkIjoiTURRNlZYTmxjalkwTlRBMU1EazUiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL29yZ3MiLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vcmVjZWl2ZWRfZXZlbnRzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vcmVwb3MiLCJzaXRlX2FkbWluIjpmYWxzZSwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9zdWJzY3JpcHRpb25zIiwidHlwZSI6IlVzZXIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbiJ9LCJwcml2YXRlIjpmYWxzZSwicHVsbHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9wdWxsc3svbnVtYmVyfSIsInB1c2hlZF9hdCI6MTY2MDA4NDI2MCwicmVsZWFzZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9yZWxlYXNlc3svaWR9Iiwic2l6ZSI6MjkxLCJzc2hfdXJsIjoiZ2l0QGdpdGh1Yi5jb206bGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QuZ2l0Iiwic3RhcmdhemVycyI6MSwic3RhcmdhemVyc19jb3VudCI6MSwic3RhcmdhemVyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L3N0YXJnYXplcnMiLCJzdGF0dXNlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L3N0YXR1c2VzL3tzaGF9Iiwic3Vic2NyaWJlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9zdWJzY3JpYmVycyIsInN1YnNjcmlwdGlvbl91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L3N1YnNjcmlwdGlvbiIsInN2bl91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QiLCJ0YWdzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvdGFncyIsInRlYW1zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvdGVhbXMiLCJ0b3BpY3MiOltdLCJ0cmVlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L2dpdC90cmVlc3svc2hhfSIsInVwZGF0ZWRfYXQiOiIyMDIyLTA2LTEzVDIwOjI5OjMzWiIsInVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdCIsInZpc2liaWxpdHkiOiJwdWJsaWMiLCJ3YXRjaGVycyI6MSwid2F0Y2hlcnNfY291bnQiOjEsIndlYl9jb21taXRfc2lnbm9mZl9yZXF1aXJlZCI6ZmFsc2V9LCJzZW5kZXIiOnsiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS82NDUwNTA5OT92PTQiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vZXZlbnRzey9wcml2YWN5fSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL2dpc3Rzey9naXN0X2lkfSIsImdyYXZhdGFyX2lkIjoiIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vbGF1cmVudHNpbW9uIiwiaWQiOjY0NTA1MDk5LCJsb2dpbiI6ImxhdXJlbnRzaW1vbiIsIm5vZGVfaWQiOiJNRFE2VlhObGNqWTBOVEExTURrNSIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vb3JncyIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9yZWNlaXZlZF9ldmVudHMiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9yZXBvcyIsInNpdGVfYWRtaW4iOmZhbHNlLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL3N1YnNjcmlwdGlvbnMiLCJ0eXBlIjoiVXNlciIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uIn19LCJnaXRodWJfaGVhZF9yZWYiOiIiLCJnaXRodWJfcmVmIjoicmVmcy90YWdzL3Y1LjAuMSIsImdpdGh1Yl9yZWZfdHlwZSI6InRhZyIsImdpdGh1Yl9yZXBvc2l0b3J5X2lkIjoiNDU1NzQzMzk2IiwiZ2l0aHViX3JlcG9zaXRvcnlfb3duZXIiOiJsYXVyZW50c2ltb24iLCJnaXRodWJfcmVwb3NpdG9yeV9vd25lcl9pZCI6IjY0NTA1MDk5IiwiZ2l0aHViX3J1bl9hdHRlbXB0IjoiMSIsImdpdGh1Yl9ydW5faWQiOiIyODI4NzI1NTAwIiwiZ2l0aHViX3J1bl9udW1iZXIiOiI1IiwiZ2l0aHViX3NoYTEiOiI0NmNiMGU5ZWIzZDgxOTgwZWM2N2RiNWQwOWMxYTAzN2IwOWFlNjM5In19LCJtZXRhZGF0YSI6eyJidWlsZEludm9jYXRpb25JRCI6IjI4Mjg3MjU1MDAtMSIsImNvbXBsZXRlbmVzcyI6eyJwYXJhbWV0ZXJzIjp0cnVlLCJlbnZpcm9ubWVudCI6ZmFsc2UsIm1hdGVyaWFscyI6ZmFsc2V9LCJyZXByb2R1Y2libGUiOmZhbHNlfSwibWF0ZXJpYWxzIjpbeyJ1cmkiOiJnaXQraHR0cHM6Ly9naXRodWIuY29tL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0QHJlZnMvdGFncy92NS4wLjEiLCJkaWdlc3QiOnsic2hhMSI6IjQ2Y2IwZTllYjNkODE5ODBlYzY3ZGI1ZDA5YzFhMDM3YjA5YWU2MzkifX1dfX0=","signatures":[{"keyid":"","sig":"MEUCIEPOOaic8k3xnrhCllKnPgdjp+sXxtnFFfYH2uKwOHNqAiEA0DqLfJ5PZTBRu6iWevQUEXkO6OR4ulXroLE+BaX2e0c=","cert":"-----BEGIN CERTIFICATE-----\nMIIDSTCCAs6gAwIBAgITMyf3mFhwO6dITsfZZS8LcJ553DAKBggqhkjOPQQDAzAq\nMRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxETAPBgNVBAMTCHNpZ3N0b3JlMB4XDTIy\nMDgwOTIyMzIzNloXDTIyMDgwOTIyNDIzNVowADBZMBMGByqGSM49AgEGCCqGSM49\nAwEHA0IABOeZ4ISuJab3jq4gWFlD7xG6P2jClc6vfq0ChO7WvqonjvkHm3TXnAxs\n8G/Q3FSuByMzKw7MhpJ6ORRTwj6SgGKjggH7MIIB9zAOBgNVHQ8BAf8EBAMCB4Aw\nEwYDVR0lBAwwCgYIKwYBBQUHAwMwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUN+0G\nfr6pJ9jdnp/RSOXojAV4OfkwHwYDVR0jBBgwFoAUWMAeX5FFpWapesyQoZMi0CrF\nxfowgYQGA1UdEQEB/wR6MHiGdmh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1l\nd29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3IvLmdpdGh1Yi93b3JrZmxvd3MvZ2Vu\nZXJhdG9yX2dlbmVyaWNfc2xzYTMueW1sQHJlZnMvdGFncy92MS4yLjAwOQYKKwYB\nBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50\nLmNvbTASBgorBgEEAYO/MAECBARwdXNoMCQGCisGAQQBg78wAQQEFlNMU0EgZ2Vu\nZXJpYyBnZW5lcmF0b3IwLgYKKwYBBAGDvzABBQQgbGF1cmVudHNpbW9uL3Nsc2Et\nb24tZ2l0aHViLXRlc3QwHgYKKwYBBAGDvzABBgQQcmVmcy90YWdzL3Y1LjAuMTA2\nBgorBgEEAYO/MAEDBCg0NmNiMGU5ZWIzZDgxOTgwZWM2N2RiNWQwOWMxYTAzN2Iw\nOWFlNjM5MAoGCCqGSM49BAMDA2kAMGYCMQCqKERHNShGb589oKB0AXcx+zemqN3E\nLLVvriiWaQVw2vT+L7szyJ59kyoNkGcrX18CMQD6EpF9vXUj3CbOVe6/hhZGG7Wg\nWzl8gxd8OKP6IhClFwcJ7UBaGsHV/9khvo53Dmo=\n-----END CERTIFICATE-----\n"}]} \ No newline at end of file +{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3Nsc2EuZGV2L3Byb3ZlbmFuY2UvdjAuMiIsInN1YmplY3QiOlt7Im5hbWUiOiJhcnRpZmFjdDEiLCJkaWdlc3QiOnsic2hhMjU2IjoiNDgyY2U4YzhmN2U4NjdkYTNhM2MwNWE5YWVlNjM3NzAzZTE3NDcwZWQxY2Y4ODJhOWU1YjQwNWU4ZjgyNjE5ZCJ9fSx7Im5hbWUiOiJhcnRpZmFjdDIiLCJkaWdlc3QiOnsic2hhMjU2IjoiODljZmM2OTU0ZTg4YjJmOTJhN2MyODc5ZDllYjA4NWM0MmYzYzcwNjVkMDEyYTUwNjZmNDUwZGJlNTliMmMwMCJ9fV0sInByZWRpY2F0ZSI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL3Nsc2EtZnJhbWV3b3JrL3Nsc2EtZ2l0aHViLWdlbmVyYXRvci8uZ2l0aHViL3dvcmtmbG93cy9nZW5lcmF0b3JfZ2VuZXJpY19zbHNhMy55bWxAcmVmcy90YWdzL3YxLjIuMiJ9LCJidWlsZFR5cGUiOiJodHRwczovL2dpdGh1Yi5jb20vc2xzYS1mcmFtZXdvcmsvc2xzYS1naXRodWItZ2VuZXJhdG9yL2dlbmVyaWNAdjEiLCJpbnZvY2F0aW9uIjp7ImNvbmZpZ1NvdXJjZSI6eyJ1cmkiOiJnaXQraHR0cHM6Ly9naXRodWIuY29tL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3RAcmVmcy90YWdzL3YxLjUuMCIsImRpZ2VzdCI6eyJzaGExIjoiZjI0YWYzNWE3YzcxNGYxYjRlZWI1M2FmZWZiNTdmYTExYmQ1Yzk1YyJ9LCJlbnRyeVBvaW50IjoiLmdpdGh1Yi93b3JrZmxvd3Mvc2xzYS1nZW5lcmljLnltbCJ9LCJwYXJhbWV0ZXJzIjp7fSwiZW52aXJvbm1lbnQiOnsiZ2l0aHViX2FjdG9yIjoiYXNyYWEiLCJnaXRodWJfYWN0b3JfaWQiOiI1MTk0NTY5IiwiZ2l0aHViX2Jhc2VfcmVmIjoiIiwiZ2l0aHViX2V2ZW50X25hbWUiOiJwdXNoIiwiZ2l0aHViX2V2ZW50X3BheWxvYWQiOnsiYWZ0ZXIiOiI2M2MzODkwZTYwZjQ0NTQ1OWYxZDViMzEyMDU3NjY4MjM3MTYzMTllIiwiYmFzZV9yZWYiOm51bGwsImJlZm9yZSI6IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCJjb21taXRzIjpbXSwiY29tcGFyZSI6Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L2NvbXBhcmUvdjEuNS4wIiwiY3JlYXRlZCI6dHJ1ZSwiZGVsZXRlZCI6ZmFsc2UsImZvcmNlZCI6ZmFsc2UsImhlYWRfY29tbWl0Ijp7ImF1dGhvciI6eyJlbWFpbCI6ImFzcmFhQGdvb2dsZS5jb20iLCJuYW1lIjoiQXNyYSBBbGkiLCJ1c2VybmFtZSI6ImFzcmFhIn0sImNvbW1pdHRlciI6eyJlbWFpbCI6ImFzcmFhQGdvb2dsZS5jb20iLCJuYW1lIjoiQXNyYSBBbGkiLCJ1c2VybmFtZSI6ImFzcmFhIn0sImRpc3RpbmN0Ijp0cnVlLCJpZCI6ImYyNGFmMzVhN2M3MTRmMWI0ZWViNTNhZmVmYjU3ZmExMWJkNWM5NWMiLCJtZXNzYWdlIjoiYWRkIG5ldyB3b3JrZmxvd1xuXG5TaWduZWQtb2ZmLWJ5OiBBc3JhIEFsaSBcdTAwM2Nhc3JhYUBnb29nbGUuY29tXHUwMDNlIiwidGltZXN0YW1wIjoiMjAyMy0wMi0wMVQxMTo0ODo0MS0wODowMCIsInRyZWVfaWQiOiI2MDcwNmZiOWQ3MGM4ZmYxMGUyZTJlZTgyYjc5NGE2ODVhZGE3YjVmIiwidXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvY29tbWl0L2YyNGFmMzVhN2M3MTRmMWI0ZWViNTNhZmVmYjU3ZmExMWJkNWM5NWMifSwicHVzaGVyIjp7ImVtYWlsIjoiYXNyYWFAZ29vZ2xlLmNvbSIsIm5hbWUiOiJhc3JhYSJ9LCJyZWYiOiJyZWZzL3RhZ3MvdjEuNS4wIiwicmVwb3NpdG9yeSI6eyJhbGxvd19mb3JraW5nIjp0cnVlLCJhcmNoaXZlX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC97YXJjaGl2ZV9mb3JtYXR9ey9yZWZ9IiwiYXJjaGl2ZWQiOmZhbHNlLCJhc3NpZ25lZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L2Fzc2lnbmVlc3svdXNlcn0iLCJibG9ic191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvZ2l0L2Jsb2Jzey9zaGF9IiwiYnJhbmNoZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L2JyYW5jaGVzey9icmFuY2h9IiwiY2xvbmVfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QuZ2l0IiwiY29sbGFib3JhdG9yc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvY29sbGFib3JhdG9yc3svY29sbGFib3JhdG9yfSIsImNvbW1lbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9jb21tZW50c3svbnVtYmVyfSIsImNvbW1pdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L2NvbW1pdHN7L3NoYX0iLCJjb21wYXJlX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9jb21wYXJlL3tiYXNlfS4uLntoZWFkfSIsImNvbnRlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9jb250ZW50cy97K3BhdGh9IiwiY29udHJpYnV0b3JzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9jb250cmlidXRvcnMiLCJjcmVhdGVkX2F0IjoxNjU0NzE4ODM0LCJkZWZhdWx0X2JyYW5jaCI6Im1haW4iLCJkZXBsb3ltZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvZGVwbG95bWVudHMiLCJkZXNjcmlwdGlvbiI6IlRlc3QgZm9yIFNMU0EiLCJkaXNhYmxlZCI6ZmFsc2UsImRvd25sb2Fkc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvZG93bmxvYWRzIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9ldmVudHMiLCJmb3JrIjp0cnVlLCJmb3JrcyI6MCwiZm9ya3NfY291bnQiOjAsImZvcmtzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9mb3JrcyIsImZ1bGxfbmFtZSI6ImFzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QiLCJnaXRfY29tbWl0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvZ2l0L2NvbW1pdHN7L3NoYX0iLCJnaXRfcmVmc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvZ2l0L3JlZnN7L3NoYX0iLCJnaXRfdGFnc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvZ2l0L3RhZ3N7L3NoYX0iLCJnaXRfdXJsIjoiZ2l0Oi8vZ2l0aHViLmNvbS9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0LmdpdCIsImhhc19kaXNjdXNzaW9ucyI6ZmFsc2UsImhhc19kb3dubG9hZHMiOnRydWUsImhhc19pc3N1ZXMiOmZhbHNlLCJoYXNfcGFnZXMiOmZhbHNlLCJoYXNfcHJvamVjdHMiOnRydWUsImhhc193aWtpIjp0cnVlLCJob21lcGFnZSI6bnVsbCwiaG9va3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L2hvb2tzIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdCIsImlkIjo1MDEzOTUyNDIsImlzX3RlbXBsYXRlIjpmYWxzZSwiaXNzdWVfY29tbWVudF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvaXNzdWVzL2NvbW1lbnRzey9udW1iZXJ9IiwiaXNzdWVfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9pc3N1ZXMvZXZlbnRzey9udW1iZXJ9IiwiaXNzdWVzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9pc3N1ZXN7L251bWJlcn0iLCJrZXlzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9rZXlzey9rZXlfaWR9IiwibGFiZWxzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9sYWJlbHN7L25hbWV9IiwibGFuZ3VhZ2UiOiJHbyIsImxhbmd1YWdlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvbGFuZ3VhZ2VzIiwibGljZW5zZSI6eyJrZXkiOiJhcGFjaGUtMi4wIiwibmFtZSI6IkFwYWNoZSBMaWNlbnNlIDIuMCIsIm5vZGVfaWQiOiJNRGM2VEdsalpXNXpaVEk9Iiwic3BkeF9pZCI6IkFwYWNoZS0yLjAiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL2xpY2Vuc2VzL2FwYWNoZS0yLjAifSwibWFzdGVyX2JyYW5jaCI6Im1haW4iLCJtZXJnZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L21lcmdlcyIsIm1pbGVzdG9uZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L21pbGVzdG9uZXN7L251bWJlcn0iLCJtaXJyb3JfdXJsIjpudWxsLCJuYW1lIjoic2xzYS1vbi1naXRodWItdGVzdCIsIm5vZGVfaWQiOiJSX2tnRE9IZUt2S2ciLCJub3RpZmljYXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9ub3RpZmljYXRpb25zez9zaW5jZSxhbGwscGFydGljaXBhdGluZ30iLCJvcGVuX2lzc3VlcyI6MCwib3Blbl9pc3N1ZXNfY291bnQiOjAsIm93bmVyIjp7ImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTE5NDU2OT92PTQiLCJlbWFpbCI6ImFzcmFhQGdvb2dsZS5jb20iLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hc3JhYS9ldmVudHN7L3ByaXZhY3l9IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXNyYWEvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXNyYWEvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXNyYWEvZ2lzdHN7L2dpc3RfaWR9IiwiZ3JhdmF0YXJfaWQiOiIiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3JhYSIsImlkIjo1MTk0NTY5LCJsb2dpbiI6ImFzcmFhIiwibmFtZSI6ImFzcmFhIiwibm9kZV9pZCI6Ik1EUTZWWE5sY2pVeE9UUTFOams9Iiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FzcmFhL29yZ3MiLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hc3JhYS9yZWNlaXZlZF9ldmVudHMiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FzcmFhL3JlcG9zIiwic2l0ZV9hZG1pbiI6ZmFsc2UsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hc3JhYS9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FzcmFhL3N1YnNjcmlwdGlvbnMiLCJ0eXBlIjoiVXNlciIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXNyYWEifSwicHJpdmF0ZSI6ZmFsc2UsInB1bGxzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9wdWxsc3svbnVtYmVyfSIsInB1c2hlZF9hdCI6MTY3NTI5MzA3OSwicmVsZWFzZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L3JlbGVhc2Vzey9pZH0iLCJzaXplIjoyMzAsInNzaF91cmwiOiJnaXRAZ2l0aHViLmNvbTphc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0LmdpdCIsInN0YXJnYXplcnMiOjAsInN0YXJnYXplcnNfY291bnQiOjAsInN0YXJnYXplcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L3N0YXJnYXplcnMiLCJzdGF0dXNlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3Qvc3RhdHVzZXMve3NoYX0iLCJzdWJzY3JpYmVyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3Qvc3Vic2NyaWJlcnMiLCJzdWJzY3JpcHRpb25fdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L3N1YnNjcmlwdGlvbiIsInN2bl91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdCIsInRhZ3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L3RhZ3MiLCJ0ZWFtc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvdGVhbXMiLCJ0b3BpY3MiOltdLCJ0cmVlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvZ2l0L3RyZWVzey9zaGF9IiwidXBkYXRlZF9hdCI6IjIwMjItMDYtMDhUMjA6MDk6NThaIiwidXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QiLCJ2aXNpYmlsaXR5IjoicHVibGljIiwid2F0Y2hlcnMiOjAsIndhdGNoZXJzX2NvdW50IjowLCJ3ZWJfY29tbWl0X3NpZ25vZmZfcmVxdWlyZWQiOmZhbHNlfSwic2VuZGVyIjp7ImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTE5NDU2OT92PTQiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hc3JhYS9ldmVudHN7L3ByaXZhY3l9IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXNyYWEvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXNyYWEvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXNyYWEvZ2lzdHN7L2dpc3RfaWR9IiwiZ3JhdmF0YXJfaWQiOiIiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3JhYSIsImlkIjo1MTk0NTY5LCJsb2dpbiI6ImFzcmFhIiwibm9kZV9pZCI6Ik1EUTZWWE5sY2pVeE9UUTFOams9Iiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FzcmFhL29yZ3MiLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hc3JhYS9yZWNlaXZlZF9ldmVudHMiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FzcmFhL3JlcG9zIiwic2l0ZV9hZG1pbiI6ZmFsc2UsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hc3JhYS9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FzcmFhL3N1YnNjcmlwdGlvbnMiLCJ0eXBlIjoiVXNlciIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXNyYWEifX0sImdpdGh1Yl9oZWFkX3JlZiI6IiIsImdpdGh1Yl9yZWYiOiJyZWZzL3RhZ3MvdjEuNS4wIiwiZ2l0aHViX3JlZl90eXBlIjoidGFnIiwiZ2l0aHViX3JlcG9zaXRvcnlfaWQiOiI1MDEzOTUyNDIiLCJnaXRodWJfcmVwb3NpdG9yeV9vd25lciI6ImFzcmFhIiwiZ2l0aHViX3JlcG9zaXRvcnlfb3duZXJfaWQiOiI1MTk0NTY5IiwiZ2l0aHViX3J1bl9hdHRlbXB0IjoiMSIsImdpdGh1Yl9ydW5faWQiOiI0MDY5NTY4OTYxIiwiZ2l0aHViX3J1bl9udW1iZXIiOiIyIiwiZ2l0aHViX3NoYTEiOiJmMjRhZjM1YTdjNzE0ZjFiNGVlYjUzYWZlZmI1N2ZhMTFiZDVjOTVjIn19LCJtZXRhZGF0YSI6eyJidWlsZEludm9jYXRpb25JRCI6IjQwNjk1Njg5NjEtMSIsImNvbXBsZXRlbmVzcyI6eyJwYXJhbWV0ZXJzIjp0cnVlLCJlbnZpcm9ubWVudCI6ZmFsc2UsIm1hdGVyaWFscyI6ZmFsc2V9LCJyZXByb2R1Y2libGUiOmZhbHNlfSwibWF0ZXJpYWxzIjpbeyJ1cmkiOiJnaXQraHR0cHM6Ly9naXRodWIuY29tL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3RAcmVmcy90YWdzL3YxLjUuMCIsImRpZ2VzdCI6eyJzaGExIjoiZjI0YWYzNWE3YzcxNGYxYjRlZWI1M2FmZWZiNTdmYTExYmQ1Yzk1YyJ9fV19fQ==","signatures":[{"keyid":"","sig":"MEQCID5R896cVYMxG6e84ABARtP7re05Ju6oQcjHipAgpgNsAiBwm+xlGWiwkWhe++vKyzI1tdJWInnH7/oRZqXRVCoO0Q==","cert":"-----BEGIN CERTIFICATE-----\nMIIDzzCCA1SgAwIBAgIUW0O0OjJ8pP8FtD5NAxPuDcCLpUAwCgYIKoZIzj0EAwMw\nNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRl\ncm1lZGlhdGUwHhcNMjMwMjAxMjMxMjQ5WhcNMjMwMjAxMjMyMjQ5WjAAMFkwEwYH\nKoZIzj0CAQYIKoZIzj0DAQcDQgAEKjYOJSQVuPI9dSWaVO4zLbyXDPgOR/2NG1jg\nmiLZUIm1IEyHhQXAAiHrGUyfEi6cTSB5yjPybbyQxktu7ygEa6OCAnMwggJvMA4G\nA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQU0Yq8\npkVfhyYToqhMzsSNMH12xZkwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4Y\nZD8wgYQGA1UdEQEB/wR6MHiGdmh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1l\nd29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3IvLmdpdGh1Yi93b3JrZmxvd3MvZ2Vu\nZXJhdG9yX2dlbmVyaWNfc2xzYTMueW1sQHJlZnMvdGFncy92MS4yLjIwOQYKKwYB\nBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50\nLmNvbTASBgorBgEEAYO/MAECBARwdXNoMDYGCisGAQQBg78wAQMEKGYyNGFmMzVh\nN2M3MTRmMWI0ZWViNTNhZmVmYjU3ZmExMWJkNWM5NWMwJAYKKwYBBAGDvzABBAQW\nU0xTQSBnZW5lcmljIGdlbmVyYXRvcjAnBgorBgEEAYO/MAEFBBlhc3JhYS9zbHNh\nLW9uLWdpdGh1Yi10ZXN0MB4GCisGAQQBg78wAQYEEHJlZnMvdGFncy92MS41LjAw\ngYoGCisGAQQB1nkCBAIEfAR6AHgAdgDdPTBqxscRMmMZHhyZZzcCokpeuN48rf+H\ninKALynujgAAAYYPQRjGAAAEAwBHMEUCIQD08NIuYFxyeNLIgeyEgC5LeVqqolPw\nLPwYIBFX3c9jUAIgN3cCH5VOv9dSID41hE5yul1jGKC+i2uvPySS393m0xkwCgYI\nKoZIzj0EAwMDaQAwZgIxAMtK21npUzZsepIn2D33xjr/EXueg+sjgbLXoUGCio+g\n8VE+HrwqnbmfpiB9Nk7/ggIxAOFhG+8FUdEN0P0FGz940B+iWC+61Vi1aLqO5BnB\nEDY40eVYNSrQVJLgNOvOS2/sFw==\n-----END CERTIFICATE-----\n"}]} \ No newline at end of file diff --git a/cli/slsa-verifier/testdata/binary-linux-amd64-e2e-builder-repo b/cli/slsa-verifier/testdata/binary-linux-amd64-e2e-builder-repo index 1c869a3..c21a9e1 100644 Binary files a/cli/slsa-verifier/testdata/binary-linux-amd64-e2e-builder-repo and b/cli/slsa-verifier/testdata/binary-linux-amd64-e2e-builder-repo differ diff --git a/cli/slsa-verifier/testdata/binary-linux-amd64-e2e-builder-repo.intoto.jsonl b/cli/slsa-verifier/testdata/binary-linux-amd64-e2e-builder-repo.intoto.jsonl index 2c35b23..78be41f 100644 --- a/cli/slsa-verifier/testdata/binary-linux-amd64-e2e-builder-repo.intoto.jsonl +++ b/cli/slsa-verifier/testdata/binary-linux-amd64-e2e-builder-repo.intoto.jsonl @@ -1 +1 @@ -{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3Nsc2EuZGV2L3Byb3ZlbmFuY2UvdjAuMiIsInN1YmplY3QiOlt7Im5hbWUiOiJiaW5hcnktbGludXgtYW1kNjQiLCJkaWdlc3QiOnsic2hhMjU2IjoiOWU2Y2FhZjFlOTIwYmQ2NzMyYjY5NjAxMjk5YTMwOWU4YmFhYTdkN2Y5Mjg5ZWE3ZmYwYjkyOTEyOTRkZmUxMiJ9fV0sInByZWRpY2F0ZSI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL3Nsc2EtZnJhbWV3b3JrL3Nsc2EtZ2l0aHViLWdlbmVyYXRvci8uZ2l0aHViL3dvcmtmbG93cy9idWlsZGVyX2dvX3Nsc2EzLnltbEByZWZzL2hlYWRzL21haW4ifSwiYnVpbGRUeXBlIjoiaHR0cHM6Ly9naXRodWIuY29tL3Nsc2EtZnJhbWV3b3JrL3Nsc2EtZ2l0aHViLWdlbmVyYXRvci9nb0B2MSIsImludm9jYXRpb24iOnsiY29uZmlnU291cmNlIjp7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlQHJlZnMvaGVhZHMvbWFpbiIsImRpZ2VzdCI6eyJzaGExIjoiYTRiMGI1M2NiNDQ3MWE4NWZiYzE2MTBiODIwOGRlMGZhYTlhZjhhYSJ9LCJlbnRyeVBvaW50IjoiLmdpdGh1Yi93b3JrZmxvd3MvZTJlLmdvLnNjaGVkdWxlLm1haW4uY29uZmlnLWxkZmxhZ3MtbWFpbi1kaXIuc2xzYTMueW1sIn0sInBhcmFtZXRlcnMiOnt9LCJlbnZpcm9ubWVudCI6eyJhcmNoIjoiWDY0IiwiZ2l0aHViX2FjdG9yIjoibGF1cmVudHNpbW9uIiwiZ2l0aHViX2FjdG9yX2lkIjoiNjQ1MDUwOTkiLCJnaXRodWJfYmFzZV9yZWYiOiIiLCJnaXRodWJfZXZlbnRfbmFtZSI6InNjaGVkdWxlIiwiZ2l0aHViX2V2ZW50X3BheWxvYWQiOnsic2NoZWR1bGUiOiIwIDEwICogKiAqIn0sImdpdGh1Yl9oZWFkX3JlZiI6IiIsImdpdGh1Yl9yZWYiOiJyZWZzL2hlYWRzL21haW4iLCJnaXRodWJfcmVmX3R5cGUiOiJicmFuY2giLCJnaXRodWJfcmVwb3NpdG9yeV9pZCI6IjQ4NjMyNTgwOSIsImdpdGh1Yl9yZXBvc2l0b3J5X293bmVyIjoic2xzYS1mcmFtZXdvcmsiLCJnaXRodWJfcmVwb3NpdG9yeV9vd25lcl9pZCI6IjgwNDMxMTg3IiwiZ2l0aHViX3J1bl9hdHRlbXB0IjoiMSIsImdpdGh1Yl9ydW5faWQiOiIyNTI4MjQ2NDk4IiwiZ2l0aHViX3J1bl9udW1iZXIiOiI0NCIsImdpdGh1Yl9zaGExIjoiYTRiMGI1M2NiNDQ3MWE4NWZiYzE2MTBiODIwOGRlMGZhYTlhZjhhYSIsIm9zIjoidWJ1bnR1MjAifX0sImJ1aWxkQ29uZmlnIjp7InZlcnNpb24iOjEsInN0ZXBzIjpbeyJjb21tYW5kIjpbIi9vcHQvaG9zdGVkdG9vbGNhY2hlL2dvLzEuMTguMy94NjQvYmluL2dvIiwibW9kIiwidmVuZG9yIl0sImVudiI6bnVsbCwid29ya2luZ0RpciI6Ii9ob21lL3J1bm5lci93b3JrL2V4YW1wbGUtcGFja2FnZS9leGFtcGxlLXBhY2thZ2UvZTJlL2dvIn0seyJjb21tYW5kIjpbIi9vcHQvaG9zdGVkdG9vbGNhY2hlL2dvLzEuMTguMy94NjQvYmluL2dvIiwiYnVpbGQiLCItbW9kPXZlbmRvciIsIi10cmltcGF0aCIsIi10YWdzPW5ldGdvIiwiLWxkZmxhZ3M9LVggbWFpbi5naXRWZXJzaW9uPXYxLjIuMyAtWCBtYWluLmdpdENvbW1pdD1hYmNkZWYgLVggbWFpbi5naXRCcmFuY2g9bWFpbiAtWCBtYWluLmdpdE1haW49bWFpbi5nbyIsIi1vIiwiYmluYXJ5LWxpbnV4LWFtZDY0IiwibWFpbi5nbyJdLCJlbnYiOlsiR09PUz1saW51eCIsIkdPQVJDSD1hbWQ2NCIsIkdPMTExTU9EVUxFPW9uIiwiQ0dPX0VOQUJMRUQ9MCJdLCJ3b3JraW5nRGlyIjoiL2hvbWUvcnVubmVyL3dvcmsvZXhhbXBsZS1wYWNrYWdlL2V4YW1wbGUtcGFja2FnZS9lMmUvZ28ifV19LCJtZXRhZGF0YSI6eyJidWlsZEludm9jYXRpb25JRCI6IjI1MjgyNDY0OTgtMSIsImNvbXBsZXRlbmVzcyI6eyJwYXJhbWV0ZXJzIjp0cnVlLCJlbnZpcm9ubWVudCI6ZmFsc2UsIm1hdGVyaWFscyI6ZmFsc2V9LCJyZXByb2R1Y2libGUiOmZhbHNlfSwibWF0ZXJpYWxzIjpbeyJ1cmkiOiJnaXQraHR0cHM6Ly9naXRodWIuY29tL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZUByZWZzL2hlYWRzL21haW4iLCJkaWdlc3QiOnsic2hhMSI6ImE0YjBiNTNjYjQ0NzFhODVmYmMxNjEwYjgyMDhkZTBmYWE5YWY4YWEifX0seyJ1cmkiOiJodHRwczovL2dpdGh1Yi5jb20vYWN0aW9ucy92aXJ0dWFsLWVudmlyb25tZW50cy9yZWxlYXNlcy90YWcvdWJ1bnR1MjAvMjAyMjA2MTQuMCJ9XX19","signatures":[{"keyid":"","sig":"MEQCIFcm4ArFjP/AoyPqLgmPOA5Jcm+KwdBOXZCg9BCAQpYTAiA5LllgtRpB/Cf4FXD5N2wlPg3vv7QvaMNggYMHY42XMQ==","cert":"-----BEGIN CERTIFICATE-----\nMIIDczCCAvigAwIBAgITHdt+KB8Y21TqQwhJHsHuFu/3NjAKBggqhkjOPQQDAzAq\nMRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxETAPBgNVBAMTCHNpZ3N0b3JlMB4XDTIy\nMDYyMDEwMjI1MloXDTIyMDYyMDEwMzI1MVowADBZMBMGByqGSM49AgEGCCqGSM49\nAwEHA0IABOCEMIgJSAZHFXgqw1uZW1Mjs3kxPFi1IIwdzjIra7NDH/ujMw9JJ7QG\nNecUqw6LZ68K7BkubSHV+UU3AN/Uu8mjggIlMIICITAOBgNVHQ8BAf8EBAMCB4Aw\nEwYDVR0lBAwwCgYIKwYBBQUHAwMwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUnp0a\ni8vmr8QTU12L3nUl7tswwtkwHwYDVR0jBBgwFoAUWMAeX5FFpWapesyQoZMi0CrF\nxfowfAYDVR0RAQH/BHIwcIZuaHR0cHM6Ly9naXRodWIuY29tL3Nsc2EtZnJhbWV3\nb3JrL3Nsc2EtZ2l0aHViLWdlbmVyYXRvci8uZ2l0aHViL3dvcmtmbG93cy9idWls\nZGVyX2dvX3Nsc2EzLnltbEByZWZzL2hlYWRzL21haW4wHQYKKwYBBAGDvzABBgQP\ncmVmcy9oZWFkcy9tYWluMFYGCisGAQQBg78wAQQESC5naXRodWIvd29ya2Zsb3dz\nL2UyZS5nby5zY2hlZHVsZS5tYWluLmNvbmZpZy1sZGZsYWdzLW1haW4tZGlyLnNs\nc2EzLnltbDAsBgorBgEEAYO/MAEFBB5zbHNhLWZyYW1ld29yay9leGFtcGxlLXBh\nY2thZ2UwFgYKKwYBBAGDvzABAgQIc2NoZWR1bGUwNgYKKwYBBAGDvzABAwQoYTRi\nMGI1M2NiNDQ3MWE4NWZiYzE2MTBiODIwOGRlMGZhYTlhZjhhYTA5BgorBgEEAYO/\nMAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29t\nMAoGCCqGSM49BAMDA2kAMGYCMQCT3GMdJy368nK8XZGXIvPONZYSnOgcmOjjnSXD\npFSKGOLllT2mDEUuV8I5xwFvD2cCMQDinrRDzXuWpqcMagoEn0iGxQ3vQLMxK65Z\nv3pjFhzaF7I7JjWbarjNrJPKSaTD3mo=\n-----END CERTIFICATE-----\n"}]} \ No newline at end of file +{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3Nsc2EuZGV2L3Byb3ZlbmFuY2UvdjAuMiIsInN1YmplY3QiOlt7Im5hbWUiOiJiaW5hcnktbGludXgtYW1kNjQiLCJkaWdlc3QiOnsic2hhMjU2IjoiZjY3MzdiZjYzNTRjNGJjZDkzMTYzNWIyZjM2MmJmYTA4OGNjYzliNzlhZTFlMmE2MTg5NTlmYzQ2MWIzNTUxYSJ9fV0sInByZWRpY2F0ZSI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL3Nsc2EtZnJhbWV3b3JrL3Nsc2EtZ2l0aHViLWdlbmVyYXRvci8uZ2l0aHViL3dvcmtmbG93cy9idWlsZGVyX2dvX3Nsc2EzLnltbEByZWZzL2hlYWRzL21haW4ifSwiYnVpbGRUeXBlIjoiaHR0cHM6Ly9naXRodWIuY29tL3Nsc2EtZnJhbWV3b3JrL3Nsc2EtZ2l0aHViLWdlbmVyYXRvci9nb0B2MSIsImludm9jYXRpb24iOnsiY29uZmlnU291cmNlIjp7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlQHJlZnMvaGVhZHMvbWFpbiIsImRpZ2VzdCI6eyJzaGExIjoiNDk3ZGRjMDAxM2I5NzJjMDkxZWQ0YjE4NGYzNTBmOTk2ZWQ4Y2IwZSJ9LCJlbnRyeVBvaW50IjoiLmdpdGh1Yi93b3JrZmxvd3MvZTJlLmdvLnNjaGVkdWxlLm1haW4uY29uZmlnLWxkZmxhZ3MtbWFpbi5zbHNhMy55bWwifSwicGFyYW1ldGVycyI6e30sImVudmlyb25tZW50Ijp7ImFyY2giOiJYNjQiLCJnaXRodWJfYWN0b3IiOiJsYXVyZW50c2ltb24iLCJnaXRodWJfYWN0b3JfaWQiOiI2NDUwNTA5OSIsImdpdGh1Yl9iYXNlX3JlZiI6IiIsImdpdGh1Yl9ldmVudF9uYW1lIjoic2NoZWR1bGUiLCJnaXRodWJfZXZlbnRfcGF5bG9hZCI6eyJvcmdhbml6YXRpb24iOnsiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS84MDQzMTE4Nz92PTQiLCJkZXNjcmlwdGlvbiI6IlN1cHBseS1jaGFpbiBMZXZlbHMgZm9yIFNvZnR3YXJlIEFydGlmYWN0cyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3Mvc2xzYS1mcmFtZXdvcmsvZXZlbnRzIiwiaG9va3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9vcmdzL3Nsc2EtZnJhbWV3b3JrL2hvb2tzIiwiaWQiOjgwNDMxMTg3LCJpc3N1ZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9vcmdzL3Nsc2EtZnJhbWV3b3JrL2lzc3VlcyIsImxvZ2luIjoic2xzYS1mcmFtZXdvcmsiLCJtZW1iZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vb3Jncy9zbHNhLWZyYW1ld29yay9tZW1iZXJzey9tZW1iZXJ9Iiwibm9kZV9pZCI6Ik1ERXlPazl5WjJGdWFYcGhkR2x2Ympnd05ETXhNVGczIiwicHVibGljX21lbWJlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9vcmdzL3Nsc2EtZnJhbWV3b3JrL3B1YmxpY19tZW1iZXJzey9tZW1iZXJ9IiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9vcmdzL3Nsc2EtZnJhbWV3b3JrL3JlcG9zIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9vcmdzL3Nsc2EtZnJhbWV3b3JrIn0sInJlcG9zaXRvcnkiOnsiYWxsb3dfZm9ya2luZyI6dHJ1ZSwiYXJjaGl2ZV91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS97YXJjaGl2ZV9mb3JtYXR9ey9yZWZ9IiwiYXJjaGl2ZWQiOmZhbHNlLCJhc3NpZ25lZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvYXNzaWduZWVzey91c2VyfSIsImJsb2JzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2dpdC9ibG9ic3svc2hhfSIsImJyYW5jaGVzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2JyYW5jaGVzey9icmFuY2h9IiwiY2xvbmVfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS5naXQiLCJjb2xsYWJvcmF0b3JzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2NvbGxhYm9yYXRvcnN7L2NvbGxhYm9yYXRvcn0iLCJjb21tZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9jb21tZW50c3svbnVtYmVyfSIsImNvbW1pdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvY29tbWl0c3svc2hhfSIsImNvbXBhcmVfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvY29tcGFyZS97YmFzZX0uLi57aGVhZH0iLCJjb250ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9jb250ZW50cy97K3BhdGh9IiwiY29udHJpYnV0b3JzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2NvbnRyaWJ1dG9ycyIsImNyZWF0ZWRfYXQiOiIyMDIyLTA0LTI3VDE5OjMwOjQzWiIsImRlZmF1bHRfYnJhbmNoIjoibWFpbiIsImRlcGxveW1lbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2RlcGxveW1lbnRzIiwiZGVzY3JpcHRpb24iOm51bGwsImRpc2FibGVkIjpmYWxzZSwiZG93bmxvYWRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2Rvd25sb2FkcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9ldmVudHMiLCJmb3JrIjpmYWxzZSwiZm9ya3MiOjEwLCJmb3Jrc19jb3VudCI6MTAsImZvcmtzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2ZvcmtzIiwiZnVsbF9uYW1lIjoic2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlIiwiZ2l0X2NvbW1pdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvZ2l0L2NvbW1pdHN7L3NoYX0iLCJnaXRfcmVmc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9naXQvcmVmc3svc2hhfSIsImdpdF90YWdzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2dpdC90YWdzey9zaGF9IiwiZ2l0X3VybCI6ImdpdDovL2dpdGh1Yi5jb20vc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlLmdpdCIsImhhc19kaXNjdXNzaW9ucyI6ZmFsc2UsImhhc19kb3dubG9hZHMiOnRydWUsImhhc19pc3N1ZXMiOnRydWUsImhhc19wYWdlcyI6ZmFsc2UsImhhc19wcm9qZWN0cyI6dHJ1ZSwiaGFzX3dpa2kiOnRydWUsImhvbWVwYWdlIjpudWxsLCJob29rc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9ob29rcyIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZSIsImlkIjo0ODYzMjU4MDksImlzX3RlbXBsYXRlIjpmYWxzZSwiaXNzdWVfY29tbWVudF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9pc3N1ZXMvY29tbWVudHN7L251bWJlcn0iLCJpc3N1ZV9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvaXNzdWVzL2V2ZW50c3svbnVtYmVyfSIsImlzc3Vlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9pc3N1ZXN7L251bWJlcn0iLCJrZXlzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2tleXN7L2tleV9pZH0iLCJsYWJlbHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvbGFiZWxzey9uYW1lfSIsImxhbmd1YWdlIjoiU3RhcmxhcmsiLCJsYW5ndWFnZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvbGFuZ3VhZ2VzIiwibGljZW5zZSI6eyJrZXkiOiJhcGFjaGUtMi4wIiwibmFtZSI6IkFwYWNoZSBMaWNlbnNlIDIuMCIsIm5vZGVfaWQiOiJNRGM2VEdsalpXNXpaVEk9Iiwic3BkeF9pZCI6IkFwYWNoZS0yLjAiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL2xpY2Vuc2VzL2FwYWNoZS0yLjAifSwibWVyZ2VzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL21lcmdlcyIsIm1pbGVzdG9uZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvbWlsZXN0b25lc3svbnVtYmVyfSIsIm1pcnJvcl91cmwiOm51bGwsIm5hbWUiOiJleGFtcGxlLXBhY2thZ2UiLCJub2RlX2lkIjoiUl9rZ0RPSFB5LU1RIiwibm90aWZpY2F0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9ub3RpZmljYXRpb25zez9zaW5jZSxhbGwscGFydGljaXBhdGluZ30iLCJvcGVuX2lzc3VlcyI6MTksIm9wZW5faXNzdWVzX2NvdW50IjoxOSwib3duZXIiOnsiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS84MDQzMTE4Nz92PTQiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zbHNhLWZyYW1ld29yay9ldmVudHN7L3ByaXZhY3l9IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2xzYS1mcmFtZXdvcmsvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2xzYS1mcmFtZXdvcmsvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2xzYS1mcmFtZXdvcmsvZ2lzdHN7L2dpc3RfaWR9IiwiZ3JhdmF0YXJfaWQiOiIiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yayIsImlkIjo4MDQzMTE4NywibG9naW4iOiJzbHNhLWZyYW1ld29yayIsIm5vZGVfaWQiOiJNREV5T2s5eVoyRnVhWHBoZEdsdmJqZ3dORE14TVRnMyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zbHNhLWZyYW1ld29yay9vcmdzIiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2xzYS1mcmFtZXdvcmsvcmVjZWl2ZWRfZXZlbnRzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zbHNhLWZyYW1ld29yay9yZXBvcyIsInNpdGVfYWRtaW4iOmZhbHNlLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2xzYS1mcmFtZXdvcmsvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zbHNhLWZyYW1ld29yay9zdWJzY3JpcHRpb25zIiwidHlwZSI6Ik9yZ2FuaXphdGlvbiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2xzYS1mcmFtZXdvcmsifSwicHJpdmF0ZSI6ZmFsc2UsInB1bGxzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL3B1bGxzey9udW1iZXJ9IiwicHVzaGVkX2F0IjoiMjAyMy0wMi0wMVQwNzoxMTozMFoiLCJyZWxlYXNlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9yZWxlYXNlc3svaWR9Iiwic2l6ZSI6NDM0OCwic3NoX3VybCI6ImdpdEBnaXRodWIuY29tOnNsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS5naXQiLCJzdGFyZ2F6ZXJzX2NvdW50Ijo2LCJzdGFyZ2F6ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL3N0YXJnYXplcnMiLCJzdGF0dXNlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9zdGF0dXNlcy97c2hhfSIsInN1YnNjcmliZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL3N1YnNjcmliZXJzIiwic3Vic2NyaXB0aW9uX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL3N1YnNjcmlwdGlvbiIsInN2bl91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlIiwidGFnc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS90YWdzIiwidGVhbXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvdGVhbXMiLCJ0b3BpY3MiOltdLCJ0cmVlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9naXQvdHJlZXN7L3NoYX0iLCJ1cGRhdGVkX2F0IjoiMjAyMy0wMS0zMVQxOTo0NzoyNVoiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZSIsInZpc2liaWxpdHkiOiJwdWJsaWMiLCJ3YXRjaGVycyI6Niwid2F0Y2hlcnNfY291bnQiOjYsIndlYl9jb21taXRfc2lnbm9mZl9yZXF1aXJlZCI6dHJ1ZX0sInNjaGVkdWxlIjoiMCAxMCAqICogKiIsIndvcmtmbG93IjoiLmdpdGh1Yi93b3JrZmxvd3MvZTJlLmdvLnNjaGVkdWxlLm1haW4uY29uZmlnLWxkZmxhZ3MtbWFpbi5zbHNhMy55bWwifSwiZ2l0aHViX2hlYWRfcmVmIjoiIiwiZ2l0aHViX3JlZiI6InJlZnMvaGVhZHMvbWFpbiIsImdpdGh1Yl9yZWZfdHlwZSI6ImJyYW5jaCIsImdpdGh1Yl9yZXBvc2l0b3J5X2lkIjoiNDg2MzI1ODA5IiwiZ2l0aHViX3JlcG9zaXRvcnlfb3duZXIiOiJzbHNhLWZyYW1ld29yayIsImdpdGh1Yl9yZXBvc2l0b3J5X293bmVyX2lkIjoiODA0MzExODciLCJnaXRodWJfcnVuX2F0dGVtcHQiOiIxIiwiZ2l0aHViX3J1bl9pZCI6IjQwNjMyODYzOTciLCJnaXRodWJfcnVuX251bWJlciI6IjMwMCIsImdpdGh1Yl9zaGExIjoiNDk3ZGRjMDAxM2I5NzJjMDkxZWQ0YjE4NGYzNTBmOTk2ZWQ4Y2IwZSIsIm9zIjoidWJ1bnR1MjIifX0sImJ1aWxkQ29uZmlnIjp7InN0ZXBzIjpbeyJ3b3JraW5nRGlyIjoiL2hvbWUvcnVubmVyL3dvcmsvZXhhbXBsZS1wYWNrYWdlL2V4YW1wbGUtcGFja2FnZS9fX1BST0pFQ1RfQ0hFQ0tPVVRfRElSX18iLCJjb21tYW5kIjpbIi9vcHQvaG9zdGVkdG9vbGNhY2hlL2dvLzEuMTguMTAveDY0L2Jpbi9nbyIsIm1vZCIsInZlbmRvciJdLCJlbnYiOm51bGx9LHsid29ya2luZ0RpciI6Ii9ob21lL3J1bm5lci93b3JrL2V4YW1wbGUtcGFja2FnZS9leGFtcGxlLXBhY2thZ2UvX19QUk9KRUNUX0NIRUNLT1VUX0RJUl9fIiwiY29tbWFuZCI6WyIvb3B0L2hvc3RlZHRvb2xjYWNoZS9nby8xLjE4LjEwL3g2NC9iaW4vZ28iLCJidWlsZCIsIi1tb2Q9dmVuZG9yIiwiLXRyaW1wYXRoIiwiLXRhZ3M9bmV0Z28iLCItbGRmbGFncz0tWCBtYWluLmdpdFZlcnNpb249djEuMi4zIC1YIG1haW4uZ2l0Q29tbWl0PWFiY2RlZiAtWCBtYWluLmdpdEJyYW5jaD1tYWluIC1YIG1haW4uZ2l0TWFpbj1lMmUvZ28vbWFpbi5nbyIsIi1vIiwiYmluYXJ5LWxpbnV4LWFtZDY0IiwiZTJlL2dvL21haW4uZ28iXSwiZW52IjpbIkdPT1M9bGludXgiLCJHT0FSQ0g9YW1kNjQiLCJHTzExMU1PRFVMRT1vbiIsIkNHT19FTkFCTEVEPTAiXX1dLCJ2ZXJzaW9uIjoxfSwibWV0YWRhdGEiOnsiYnVpbGRJbnZvY2F0aW9uSUQiOiI0MDYzMjg2Mzk3LTEiLCJjb21wbGV0ZW5lc3MiOnsicGFyYW1ldGVycyI6dHJ1ZSwiZW52aXJvbm1lbnQiOmZhbHNlLCJtYXRlcmlhbHMiOmZhbHNlfSwicmVwcm9kdWNpYmxlIjpmYWxzZX0sIm1hdGVyaWFscyI6W3sidXJpIjoiZ2l0K2h0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2VAcmVmcy9oZWFkcy9tYWluIiwiZGlnZXN0Ijp7InNoYTEiOiI0OTdkZGMwMDEzYjk3MmMwOTFlZDRiMTg0ZjM1MGY5OTZlZDhjYjBlIn19LHsidXJpIjoiaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvdmlydHVhbC1lbnZpcm9ubWVudHMvcmVsZWFzZXMvdGFnL3VidW50dTIyLzIwMjMwMTIyLjEifV19fQ==","signatures":[{"keyid":"","sig":"MEQCIEiS7ROlCEt0LaIm2FZt4XPN7oPrcj2pMZmhbinbSro6AiAKqg33DlDtnO5gZ6n857odGLcs5DznDdtRfbw+6Fe4Iw==","cert":"-----BEGIN CERTIFICATE-----\nMIID+zCCA4GgAwIBAgIUD9xXfCqvbC9HPgXAJkz37J/10iAwCgYIKoZIzj0EAwMw\nNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRl\ncm1lZGlhdGUwHhcNMjMwMjAxMTAyMzExWhcNMjMwMjAxMTAzMzExWjAAMFkwEwYH\nKoZIzj0CAQYIKoZIzj0DAQcDQgAEKbLGXEZ2LURcy5ZqDs9q+F8eYwnMVCwJbLsx\nytxAB+i4GUKjmB720MKMk2npGv+bvzxnlovSY10R3gnnv8DqP6OCAqAwggKcMA4G\nA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUKydn\nsPDUT2WYsSZftHDUysJHWUYwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4Y\nZD8wfAYDVR0RAQH/BHIwcIZuaHR0cHM6Ly9naXRodWIuY29tL3Nsc2EtZnJhbWV3\nb3JrL3Nsc2EtZ2l0aHViLWdlbmVyYXRvci8uZ2l0aHViL3dvcmtmbG93cy9idWls\nZGVyX2dvX3Nsc2EzLnltbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQr\naHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAWBgor\nBgEEAYO/MAECBAhzY2hlZHVsZTA2BgorBgEEAYO/MAEDBCg0OTdkZGMwMDEzYjk3\nMmMwOTFlZDRiMTg0ZjM1MGY5OTZlZDhjYjBlMFIGCisGAQQBg78wAQQERC5naXRo\ndWIvd29ya2Zsb3dzL2UyZS5nby5zY2hlZHVsZS5tYWluLmNvbmZpZy1sZGZsYWdz\nLW1haW4uc2xzYTMueW1sMCwGCisGAQQBg78wAQUEHnNsc2EtZnJhbWV3b3JrL2V4\nYW1wbGUtcGFja2FnZTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wgYoG\nCisGAQQB1nkCBAIEfAR6AHgAdgDdPTBqxscRMmMZHhyZZzcCokpeuN48rf+HinKA\nLynujgAAAYYMgHjbAAAEAwBHMEUCIHjl6F36jOs/5MORofa4ZFFm3MQx6a1b3a0y\n2iqoWuJAAiEA4oQEIQEQTEgSP+1U+7ukIY4ZSzu0637DsPdkWMAYBjUwCgYIKoZI\nzj0EAwMDaAAwZQIxAPLMnhf9HlaQsA8YWrOS/+GyVTUXR/0r8X8EN5w9yzX/OE77\nCEg36v+HIxdiMcypigIwDmTe8QQo4xHpvkG3ozItA1US0Cpr1FBanOTyQB47pn0k\ngs7A6chE6xUvX7dXEEhU\n-----END CERTIFICATE-----\n"}]} \ No newline at end of file diff --git a/cli/slsa-verifier/testdata/binary-linux-amd64-multi-subject-first.intoto.jsonl b/cli/slsa-verifier/testdata/binary-linux-amd64-multi-subject-first.intoto.jsonl index 1e28151..843bf89 100644 --- a/cli/slsa-verifier/testdata/binary-linux-amd64-multi-subject-first.intoto.jsonl +++ b/cli/slsa-verifier/testdata/binary-linux-amd64-multi-subject-first.intoto.jsonl @@ -1 +1 @@ -{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3Nsc2EuZGV2L3Byb3ZlbmFuY2UvdjAuMiIsInN1YmplY3QiOlt7Im5hbWUiOiJhcnRpZmFjdDEiLCJkaWdlc3QiOnsic2hhMjU2IjoiNDgyY2U4YzhmN2U4NjdkYTNhM2MwNWE5YWVlNjM3NzAzZTE3NDcwZWQxY2Y4ODJhOWU1YjQwNWU4ZjgyNjE5ZCJ9fSx7Im5hbWUiOiJhcnRpZmFjdDIiLCJkaWdlc3QiOnsic2hhMjU2IjoiODljZmM2OTU0ZTg4YjJmOTJhN2MyODc5ZDllYjA4NWM0MmYzYzcwNjVkMDEyYTUwNjZmNDUwZGJlNTliMmMwMCJ9fSx7Im5hbWUiOiJhcnRpZmFjdDMiLCJkaWdlc3QiOnsic2hhMjU2IjoiN2E1ZDIxYTZhZGFjOTQ1NTYxZDg1OWJkMWRlY2ZjMzdiMjQwODc4OGNmMzIwNmRmMzUxOWUyODFhZmQzMWI2ZSJ9fV0sInByZWRpY2F0ZSI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL3Nsc2EtZnJhbWV3b3JrL3Nsc2EtZ2l0aHViLWdlbmVyYXRvci8uZ2l0aHViL3dvcmtmbG93cy9nZW5lcmF0b3JfZ2VuZXJpY19zbHNhMy55bWxAcmVmcy9oZWFkcy9tYWluIn0sImJ1aWxkVHlwZSI6Imh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3JAdjEiLCJpbnZvY2F0aW9uIjp7ImNvbmZpZ1NvdXJjZSI6eyJ1cmkiOiJnaXQraHR0cHM6Ly9naXRodWIuY29tL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZUByZWZzL2hlYWRzL21haW4iLCJkaWdlc3QiOnsic2hhMSI6IjJjYjEwZjQ4NWRjMzZkZDk5NDc2ZjNlM2I3ZWVjOTlkZmQ3OTZkYTIifSwiZW50cnlQb2ludCI6Ii5naXRodWIvd29ya2Zsb3dzL2UyZS5nZW5lcmljLnNjaGVkdWxlLm1haW4ubXVsdGktc3ViamVjdHMuc2xzYTMueW1sIn0sInBhcmFtZXRlcnMiOnt9LCJlbnZpcm9ubWVudCI6eyJnaXRodWJfYWN0b3IiOiJsYXVyZW50c2ltb24iLCJnaXRodWJfYWN0b3JfaWQiOiI2NDUwNTA5OSIsImdpdGh1Yl9iYXNlX3JlZiI6IiIsImdpdGh1Yl9ldmVudF9uYW1lIjoic2NoZWR1bGUiLCJnaXRodWJfZXZlbnRfcGF5bG9hZCI6eyJzY2hlZHVsZSI6IjAgNCAqICogKiJ9LCJnaXRodWJfaGVhZF9yZWYiOiIiLCJnaXRodWJfcmVmIjoicmVmcy9oZWFkcy9tYWluIiwiZ2l0aHViX3JlZl90eXBlIjoiYnJhbmNoIiwiZ2l0aHViX3JlcG9zaXRvcnlfaWQiOiI0ODYzMjU4MDkiLCJnaXRodWJfcmVwb3NpdG9yeV9vd25lciI6InNsc2EtZnJhbWV3b3JrIiwiZ2l0aHViX3JlcG9zaXRvcnlfb3duZXJfaWQiOiI4MDQzMTE4NyIsImdpdGh1Yl9ydW5fYXR0ZW1wdCI6IjEiLCJnaXRodWJfcnVuX2lkIjoiMjcxNjM3NDA3NiIsImdpdGh1Yl9ydW5fbnVtYmVyIjoiMTMiLCJnaXRodWJfc2hhMSI6IjJjYjEwZjQ4NWRjMzZkZDk5NDc2ZjNlM2I3ZWVjOTlkZmQ3OTZkYTIifX0sIm1ldGFkYXRhIjp7ImJ1aWxkSW52b2NhdGlvbklEIjoiMjcxNjM3NDA3Ni0xIiwiY29tcGxldGVuZXNzIjp7InBhcmFtZXRlcnMiOnRydWUsImVudmlyb25tZW50IjpmYWxzZSwibWF0ZXJpYWxzIjpmYWxzZX0sInJlcHJvZHVjaWJsZSI6ZmFsc2V9LCJtYXRlcmlhbHMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlQHJlZnMvaGVhZHMvbWFpbiIsImRpZ2VzdCI6eyJzaGExIjoiMmNiMTBmNDg1ZGMzNmRkOTk0NzZmM2UzYjdlZWM5OWRmZDc5NmRhMiJ9fV19fQ==","signatures":[{"keyid":"","sig":"MEUCICNze+GG7blYjmJmXMXFGJaFQaGNHNz7e2XvBjwn11rrAiEArCto8K9MLReCB9wkb5pdreVBPbm7RHNoKv9BND8AJxQ=","cert":"-----BEGIN CERTIFICATE-----\nMIIDdjCCAvygAwIBAgITKyNvAShskkDKQt7Nibo+TTfnpDAKBggqhkjOPQQDAzAq\nMRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxETAPBgNVBAMTCHNpZ3N0b3JlMB4XDTIy\nMDcyMjA0NDkyM1oXDTIyMDcyMjA0NTkyMlowADBZMBMGByqGSM49AgEGCCqGSM49\nAwEHA0IABPTJ64TMtITPS0wyq/aov6KAaOQo/NwWnFbbpAjJuADM0TZyshD+r+/X\nojJndYY+k0dN46ZwgrsosvGl1m8NcuSjggIpMIICJTAOBgNVHQ8BAf8EBAMCB4Aw\nEwYDVR0lBAwwCgYIKwYBBQUHAwMwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUW7RY\nPTTIaNKtq3xILv9tfHvYdD0wHwYDVR0jBBgwFoAUWMAeX5FFpWapesyQoZMi0CrF\nxfowgYMGA1UdEQEB/wR5MHeGdWh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1l\nd29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3IvLmdpdGh1Yi93b3JrZmxvd3MvZ2Vu\nZXJhdG9yX2dlbmVyaWNfc2xzYTMueW1sQHJlZnMvaGVhZHMvbWFpbjBSBgorBgEE\nAYO/MAEEBEQuZ2l0aHViL3dvcmtmbG93cy9lMmUuZ2VuZXJpYy5zY2hlZHVsZS5t\nYWluLm11bHRpLXN1YmplY3RzLnNsc2EzLnltbDA5BgorBgEEAYO/MAEBBCtodHRw\nczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMB0GCisGAQQB\ng78wAQYED3JlZnMvaGVhZHMvbWFpbjA2BgorBgEEAYO/MAEDBCgyY2IxMGY0ODVk\nYzM2ZGQ5OTQ3NmYzZTNiN2VlYzk5ZGZkNzk2ZGEyMCwGCisGAQQBg78wAQUEHnNs\nc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZTAWBgorBgEEAYO/MAECBAhzY2hl\nZHVsZTAKBggqhkjOPQQDAwNoADBlAjEA8cIq5/AEeKOEfZ0Eqduz0a5/aYXjyJJG\nH2ZvNwTtkvtM8LghCpj3aCgCGKZ98zZ4AjB/yhvDwdw7fysJ1k4aQDOoXGWvpJpp\n3XN26KG8pkCkOzjANAgytUMT4WMsDTEWsZI=\n-----END CERTIFICATE-----\n"}]} \ No newline at end of file +{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3Nsc2EuZGV2L3Byb3ZlbmFuY2UvdjAuMiIsInN1YmplY3QiOlt7Im5hbWUiOiJhcnRpZmFjdDEiLCJkaWdlc3QiOnsic2hhMjU2IjoiNDgyY2U4YzhmN2U4NjdkYTNhM2MwNWE5YWVlNjM3NzAzZTE3NDcwZWQxY2Y4ODJhOWU1YjQwNWU4ZjgyNjE5ZCJ9fSx7Im5hbWUiOiJhcnRpZmFjdDIiLCJkaWdlc3QiOnsic2hhMjU2IjoiODljZmM2OTU0ZTg4YjJmOTJhN2MyODc5ZDllYjA4NWM0MmYzYzcwNjVkMDEyYTUwNjZmNDUwZGJlNTliMmMwMCJ9fSx7Im5hbWUiOiJhcnRpZmFjdDMiLCJkaWdlc3QiOnsic2hhMjU2IjoiN2E1ZDIxYTZhZGFjOTQ1NTYxZDg1OWJkMWRlY2ZjMzdiMjQwODc4OGNmMzIwNmRmMzUxOWUyODFhZmQzMWI2ZSJ9fV0sInByZWRpY2F0ZSI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL3Nsc2EtZnJhbWV3b3JrL3Nsc2EtZ2l0aHViLWdlbmVyYXRvci8uZ2l0aHViL3dvcmtmbG93cy9nZW5lcmF0b3JfZ2VuZXJpY19zbHNhMy55bWxAcmVmcy9oZWFkcy9tYWluIn0sImJ1aWxkVHlwZSI6Imh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3IvZ2VuZXJpY0B2MSIsImludm9jYXRpb24iOnsiY29uZmlnU291cmNlIjp7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlQHJlZnMvaGVhZHMvbWFpbiIsImRpZ2VzdCI6eyJzaGExIjoiNjBhMTc5YmQ5MTgxNjU3NTI4YzdiMTQyNDNmMDc1MTFiNGY2M2NmNSJ9LCJlbnRyeVBvaW50IjoiLmdpdGh1Yi93b3JrZmxvd3MvZTJlLmdlbmVyaWMuc2NoZWR1bGUubWFpbi5tdWx0aS1zdWJqZWN0cy5zbHNhMy55bWwifSwicGFyYW1ldGVycyI6e30sImVudmlyb25tZW50Ijp7ImdpdGh1Yl9hY3RvciI6ImxhdXJlbnRzaW1vbiIsImdpdGh1Yl9hY3Rvcl9pZCI6IjY0NTA1MDk5IiwiZ2l0aHViX2Jhc2VfcmVmIjoiIiwiZ2l0aHViX2V2ZW50X25hbWUiOiJzY2hlZHVsZSIsImdpdGh1Yl9ldmVudF9wYXlsb2FkIjp7Im9yZ2FuaXphdGlvbiI6eyJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzgwNDMxMTg3P3Y9NCIsImRlc2NyaXB0aW9uIjoiU3VwcGx5LWNoYWluIExldmVscyBmb3IgU29mdHdhcmUgQXJ0aWZhY3RzIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vb3Jncy9zbHNhLWZyYW1ld29yay9ldmVudHMiLCJob29rc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3Mvc2xzYS1mcmFtZXdvcmsvaG9va3MiLCJpZCI6ODA0MzExODcsImlzc3Vlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3Mvc2xzYS1mcmFtZXdvcmsvaXNzdWVzIiwibG9naW4iOiJzbHNhLWZyYW1ld29yayIsIm1lbWJlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9vcmdzL3Nsc2EtZnJhbWV3b3JrL21lbWJlcnN7L21lbWJlcn0iLCJub2RlX2lkIjoiTURFeU9rOXlaMkZ1YVhwaGRHbHZiamd3TkRNeE1UZzMiLCJwdWJsaWNfbWVtYmVyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3Mvc2xzYS1mcmFtZXdvcmsvcHVibGljX21lbWJlcnN7L21lbWJlcn0iLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3Mvc2xzYS1mcmFtZXdvcmsvcmVwb3MiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3Mvc2xzYS1mcmFtZXdvcmsifSwicmVwb3NpdG9yeSI6eyJhbGxvd19mb3JraW5nIjp0cnVlLCJhcmNoaXZlX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL3thcmNoaXZlX2Zvcm1hdH17L3JlZn0iLCJhcmNoaXZlZCI6ZmFsc2UsImFzc2lnbmVlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9hc3NpZ25lZXN7L3VzZXJ9IiwiYmxvYnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvZ2l0L2Jsb2Jzey9zaGF9IiwiYnJhbmNoZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvYnJhbmNoZXN7L2JyYW5jaH0iLCJjbG9uZV91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlLmdpdCIsImNvbGxhYm9yYXRvcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvY29sbGFib3JhdG9yc3svY29sbGFib3JhdG9yfSIsImNvbW1lbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2NvbW1lbnRzey9udW1iZXJ9IiwiY29tbWl0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9jb21taXRzey9zaGF9IiwiY29tcGFyZV91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9jb21wYXJlL3tiYXNlfS4uLntoZWFkfSIsImNvbnRlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2NvbnRlbnRzL3srcGF0aH0iLCJjb250cmlidXRvcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvY29udHJpYnV0b3JzIiwiY3JlYXRlZF9hdCI6IjIwMjItMDQtMjdUMTk6MzA6NDNaIiwiZGVmYXVsdF9icmFuY2giOiJtYWluIiwiZGVwbG95bWVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvZGVwbG95bWVudHMiLCJkZXNjcmlwdGlvbiI6bnVsbCwiZGlzYWJsZWQiOmZhbHNlLCJkb3dubG9hZHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvZG93bmxvYWRzIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2V2ZW50cyIsImZvcmsiOmZhbHNlLCJmb3JrcyI6MTAsImZvcmtzX2NvdW50IjoxMCwiZm9ya3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvZm9ya3MiLCJmdWxsX25hbWUiOiJzbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UiLCJnaXRfY29tbWl0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9naXQvY29tbWl0c3svc2hhfSIsImdpdF9yZWZzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2dpdC9yZWZzey9zaGF9IiwiZ2l0X3RhZ3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvZ2l0L3RhZ3N7L3NoYX0iLCJnaXRfdXJsIjoiZ2l0Oi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UuZ2l0IiwiaGFzX2Rpc2N1c3Npb25zIjpmYWxzZSwiaGFzX2Rvd25sb2FkcyI6dHJ1ZSwiaGFzX2lzc3VlcyI6dHJ1ZSwiaGFzX3BhZ2VzIjpmYWxzZSwiaGFzX3Byb2plY3RzIjp0cnVlLCJoYXNfd2lraSI6dHJ1ZSwiaG9tZXBhZ2UiOm51bGwsImhvb2tzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2hvb2tzIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlIiwiaWQiOjQ4NjMyNTgwOSwiaXNfdGVtcGxhdGUiOmZhbHNlLCJpc3N1ZV9jb21tZW50X3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2lzc3Vlcy9jb21tZW50c3svbnVtYmVyfSIsImlzc3VlX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9pc3N1ZXMvZXZlbnRzey9udW1iZXJ9IiwiaXNzdWVzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2lzc3Vlc3svbnVtYmVyfSIsImtleXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2Uva2V5c3sva2V5X2lkfSIsImxhYmVsc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9sYWJlbHN7L25hbWV9IiwibGFuZ3VhZ2UiOiJTdGFybGFyayIsImxhbmd1YWdlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9sYW5ndWFnZXMiLCJsaWNlbnNlIjp7ImtleSI6ImFwYWNoZS0yLjAiLCJuYW1lIjoiQXBhY2hlIExpY2Vuc2UgMi4wIiwibm9kZV9pZCI6Ik1EYzZUR2xqWlc1elpUST0iLCJzcGR4X2lkIjoiQXBhY2hlLTIuMCIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vbGljZW5zZXMvYXBhY2hlLTIuMCJ9LCJtZXJnZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvbWVyZ2VzIiwibWlsZXN0b25lc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9taWxlc3RvbmVzey9udW1iZXJ9IiwibWlycm9yX3VybCI6bnVsbCwibmFtZSI6ImV4YW1wbGUtcGFja2FnZSIsIm5vZGVfaWQiOiJSX2tnRE9IUHktTVEiLCJub3RpZmljYXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL25vdGlmaWNhdGlvbnN7P3NpbmNlLGFsbCxwYXJ0aWNpcGF0aW5nfSIsIm9wZW5faXNzdWVzIjoxOSwib3Blbl9pc3N1ZXNfY291bnQiOjE5LCJvd25lciI6eyJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzgwNDMxMTg3P3Y9NCIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Nsc2EtZnJhbWV3b3JrL2V2ZW50c3svcHJpdmFjeX0iLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zbHNhLWZyYW1ld29yay9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zbHNhLWZyYW1ld29yay9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zbHNhLWZyYW1ld29yay9naXN0c3svZ2lzdF9pZH0iLCJncmF2YXRhcl9pZCI6IiIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3Nsc2EtZnJhbWV3b3JrIiwiaWQiOjgwNDMxMTg3LCJsb2dpbiI6InNsc2EtZnJhbWV3b3JrIiwibm9kZV9pZCI6Ik1ERXlPazl5WjJGdWFYcGhkR2x2Ympnd05ETXhNVGczIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Nsc2EtZnJhbWV3b3JrL29yZ3MiLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zbHNhLWZyYW1ld29yay9yZWNlaXZlZF9ldmVudHMiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Nsc2EtZnJhbWV3b3JrL3JlcG9zIiwic2l0ZV9hZG1pbiI6ZmFsc2UsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zbHNhLWZyYW1ld29yay9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Nsc2EtZnJhbWV3b3JrL3N1YnNjcmlwdGlvbnMiLCJ0eXBlIjoiT3JnYW5pemF0aW9uIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zbHNhLWZyYW1ld29yayJ9LCJwcml2YXRlIjpmYWxzZSwicHVsbHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvcHVsbHN7L251bWJlcn0iLCJwdXNoZWRfYXQiOiIyMDIzLTAyLTAxVDA0OjA2OjM0WiIsInJlbGVhc2VzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL3JlbGVhc2Vzey9pZH0iLCJzaXplIjo0MzUzLCJzc2hfdXJsIjoiZ2l0QGdpdGh1Yi5jb206c2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlLmdpdCIsInN0YXJnYXplcnNfY291bnQiOjYsInN0YXJnYXplcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2Uvc3RhcmdhemVycyIsInN0YXR1c2VzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL3N0YXR1c2VzL3tzaGF9Iiwic3Vic2NyaWJlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2Uvc3Vic2NyaWJlcnMiLCJzdWJzY3JpcHRpb25fdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2Uvc3Vic2NyaXB0aW9uIiwic3ZuX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UiLCJ0YWdzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL3RhZ3MiLCJ0ZWFtc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS90ZWFtcyIsInRvcGljcyI6W10sInRyZWVzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2dpdC90cmVlc3svc2hhfSIsInVwZGF0ZWRfYXQiOiIyMDIzLTAxLTMxVDE5OjQ3OjI1WiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlIiwidmlzaWJpbGl0eSI6InB1YmxpYyIsIndhdGNoZXJzIjo2LCJ3YXRjaGVyc19jb3VudCI6Niwid2ViX2NvbW1pdF9zaWdub2ZmX3JlcXVpcmVkIjp0cnVlfSwic2NoZWR1bGUiOiIwIDQgKiAqICoiLCJ3b3JrZmxvdyI6Ii5naXRodWIvd29ya2Zsb3dzL2UyZS5nZW5lcmljLnNjaGVkdWxlLm1haW4ubXVsdGktc3ViamVjdHMuc2xzYTMueW1sIn0sImdpdGh1Yl9oZWFkX3JlZiI6IiIsImdpdGh1Yl9yZWYiOiJyZWZzL2hlYWRzL21haW4iLCJnaXRodWJfcmVmX3R5cGUiOiJicmFuY2giLCJnaXRodWJfcmVwb3NpdG9yeV9pZCI6IjQ4NjMyNTgwOSIsImdpdGh1Yl9yZXBvc2l0b3J5X293bmVyIjoic2xzYS1mcmFtZXdvcmsiLCJnaXRodWJfcmVwb3NpdG9yeV9vd25lcl9pZCI6IjgwNDMxMTg3IiwiZ2l0aHViX3J1bl9hdHRlbXB0IjoiMSIsImdpdGh1Yl9ydW5faWQiOiI0MDYwOTE3NDA2IiwiZ2l0aHViX3J1bl9udW1iZXIiOiIyMTIiLCJnaXRodWJfc2hhMSI6IjYwYTE3OWJkOTE4MTY1NzUyOGM3YjE0MjQzZjA3NTExYjRmNjNjZjUifX0sIm1ldGFkYXRhIjp7ImJ1aWxkSW52b2NhdGlvbklEIjoiNDA2MDkxNzQwNi0xIiwiY29tcGxldGVuZXNzIjp7InBhcmFtZXRlcnMiOnRydWUsImVudmlyb25tZW50IjpmYWxzZSwibWF0ZXJpYWxzIjpmYWxzZX0sInJlcHJvZHVjaWJsZSI6ZmFsc2V9LCJtYXRlcmlhbHMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlQHJlZnMvaGVhZHMvbWFpbiIsImRpZ2VzdCI6eyJzaGExIjoiNjBhMTc5YmQ5MTgxNjU3NTI4YzdiMTQyNDNmMDc1MTFiNGY2M2NmNSJ9fV19fQ==","signatures":[{"keyid":"","sig":"MEUCIQC02kKS6SRRfZSX4cePABoSzvlbKM+UMjkE1Gqx3vDf2wIgDDgEmHAmz08vCxLF6C6uWYenmzU1fEHHEY+K0gByyKs=","cert":"-----BEGIN CERTIFICATE-----\nMIIEAzCCA4igAwIBAgIUTW873LaWIcJugh0+dl6AVNfBe4MwCgYIKoZIzj0EAwMw\nNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRl\ncm1lZGlhdGUwHhcNMjMwMjAxMDQyMjE3WhcNMjMwMjAxMDQzMjE3WjAAMFkwEwYH\nKoZIzj0CAQYIKoZIzj0DAQcDQgAE1OGDS6i0dnikCEZ0lB9qPn/SZyclcjUNsAHX\nQscFSgnm0qI2OcGK/O6aqtKl/w3ESjoyyv1Xzdjw0dI8aXPOT6OCAqcwggKjMA4G\nA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUngt9\n6tXE1Lm4Oa0lUbnmlB+CwXQwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4Y\nZD8wgYMGA1UdEQEB/wR5MHeGdWh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1l\nd29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3IvLmdpdGh1Yi93b3JrZmxvd3MvZ2Vu\nZXJhdG9yX2dlbmVyaWNfc2xzYTMueW1sQHJlZnMvaGVhZHMvbWFpbjA5BgorBgEE\nAYO/MAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQu\nY29tMBYGCisGAQQBg78wAQIECHNjaGVkdWxlMDYGCisGAQQBg78wAQMEKDYwYTE3\nOWJkOTE4MTY1NzUyOGM3YjE0MjQzZjA3NTExYjRmNjNjZjUwUgYKKwYBBAGDvzAB\nBARELmdpdGh1Yi93b3JrZmxvd3MvZTJlLmdlbmVyaWMuc2NoZWR1bGUubWFpbi5t\ndWx0aS1zdWJqZWN0cy5zbHNhMy55bWwwLAYKKwYBBAGDvzABBQQec2xzYS1mcmFt\nZXdvcmsvZXhhbXBsZS1wYWNrYWdlMB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMv\nbWFpbjCBiQYKKwYBBAHWeQIEAgR7BHkAdwB1AN09MGrGxxEyYxkeHJlnNwKiSl64\n3jyt/4eKcoAvKe6OAAABhgs2ECkAAAQDAEYwRAIgFE/4DuarmnYs/CUAzYUzRsjn\n9CC8HjHh2wLVrR+ObR4CIFU4KSZ3apOhxaHL1qLvs5An6mkjSRFos9mUj3XCxtee\nMAoGCCqGSM49BAMDA2kAMGYCMQDsmj8XyaDmb5TuzsTiCNtwwglwLHxtWjeQHVMf\nwBIJ/AF2wq8XYl1mR9L/P6vhUDkCMQDovshG97QQzCQ5sFdLQ04ictJB2jO4GPMx\ngR50kFmN/DV0NKFh4mReLvCbzQblYSU=\n-----END CERTIFICATE-----\n"}]} \ No newline at end of file diff --git a/cli/slsa-verifier/testdata/binary-linux-amd64-multi-subject-second.intoto.jsonl b/cli/slsa-verifier/testdata/binary-linux-amd64-multi-subject-second.intoto.jsonl index 1e28151..843bf89 100644 --- a/cli/slsa-verifier/testdata/binary-linux-amd64-multi-subject-second.intoto.jsonl +++ b/cli/slsa-verifier/testdata/binary-linux-amd64-multi-subject-second.intoto.jsonl @@ -1 +1 @@ -{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3Nsc2EuZGV2L3Byb3ZlbmFuY2UvdjAuMiIsInN1YmplY3QiOlt7Im5hbWUiOiJhcnRpZmFjdDEiLCJkaWdlc3QiOnsic2hhMjU2IjoiNDgyY2U4YzhmN2U4NjdkYTNhM2MwNWE5YWVlNjM3NzAzZTE3NDcwZWQxY2Y4ODJhOWU1YjQwNWU4ZjgyNjE5ZCJ9fSx7Im5hbWUiOiJhcnRpZmFjdDIiLCJkaWdlc3QiOnsic2hhMjU2IjoiODljZmM2OTU0ZTg4YjJmOTJhN2MyODc5ZDllYjA4NWM0MmYzYzcwNjVkMDEyYTUwNjZmNDUwZGJlNTliMmMwMCJ9fSx7Im5hbWUiOiJhcnRpZmFjdDMiLCJkaWdlc3QiOnsic2hhMjU2IjoiN2E1ZDIxYTZhZGFjOTQ1NTYxZDg1OWJkMWRlY2ZjMzdiMjQwODc4OGNmMzIwNmRmMzUxOWUyODFhZmQzMWI2ZSJ9fV0sInByZWRpY2F0ZSI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL3Nsc2EtZnJhbWV3b3JrL3Nsc2EtZ2l0aHViLWdlbmVyYXRvci8uZ2l0aHViL3dvcmtmbG93cy9nZW5lcmF0b3JfZ2VuZXJpY19zbHNhMy55bWxAcmVmcy9oZWFkcy9tYWluIn0sImJ1aWxkVHlwZSI6Imh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3JAdjEiLCJpbnZvY2F0aW9uIjp7ImNvbmZpZ1NvdXJjZSI6eyJ1cmkiOiJnaXQraHR0cHM6Ly9naXRodWIuY29tL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZUByZWZzL2hlYWRzL21haW4iLCJkaWdlc3QiOnsic2hhMSI6IjJjYjEwZjQ4NWRjMzZkZDk5NDc2ZjNlM2I3ZWVjOTlkZmQ3OTZkYTIifSwiZW50cnlQb2ludCI6Ii5naXRodWIvd29ya2Zsb3dzL2UyZS5nZW5lcmljLnNjaGVkdWxlLm1haW4ubXVsdGktc3ViamVjdHMuc2xzYTMueW1sIn0sInBhcmFtZXRlcnMiOnt9LCJlbnZpcm9ubWVudCI6eyJnaXRodWJfYWN0b3IiOiJsYXVyZW50c2ltb24iLCJnaXRodWJfYWN0b3JfaWQiOiI2NDUwNTA5OSIsImdpdGh1Yl9iYXNlX3JlZiI6IiIsImdpdGh1Yl9ldmVudF9uYW1lIjoic2NoZWR1bGUiLCJnaXRodWJfZXZlbnRfcGF5bG9hZCI6eyJzY2hlZHVsZSI6IjAgNCAqICogKiJ9LCJnaXRodWJfaGVhZF9yZWYiOiIiLCJnaXRodWJfcmVmIjoicmVmcy9oZWFkcy9tYWluIiwiZ2l0aHViX3JlZl90eXBlIjoiYnJhbmNoIiwiZ2l0aHViX3JlcG9zaXRvcnlfaWQiOiI0ODYzMjU4MDkiLCJnaXRodWJfcmVwb3NpdG9yeV9vd25lciI6InNsc2EtZnJhbWV3b3JrIiwiZ2l0aHViX3JlcG9zaXRvcnlfb3duZXJfaWQiOiI4MDQzMTE4NyIsImdpdGh1Yl9ydW5fYXR0ZW1wdCI6IjEiLCJnaXRodWJfcnVuX2lkIjoiMjcxNjM3NDA3NiIsImdpdGh1Yl9ydW5fbnVtYmVyIjoiMTMiLCJnaXRodWJfc2hhMSI6IjJjYjEwZjQ4NWRjMzZkZDk5NDc2ZjNlM2I3ZWVjOTlkZmQ3OTZkYTIifX0sIm1ldGFkYXRhIjp7ImJ1aWxkSW52b2NhdGlvbklEIjoiMjcxNjM3NDA3Ni0xIiwiY29tcGxldGVuZXNzIjp7InBhcmFtZXRlcnMiOnRydWUsImVudmlyb25tZW50IjpmYWxzZSwibWF0ZXJpYWxzIjpmYWxzZX0sInJlcHJvZHVjaWJsZSI6ZmFsc2V9LCJtYXRlcmlhbHMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlQHJlZnMvaGVhZHMvbWFpbiIsImRpZ2VzdCI6eyJzaGExIjoiMmNiMTBmNDg1ZGMzNmRkOTk0NzZmM2UzYjdlZWM5OWRmZDc5NmRhMiJ9fV19fQ==","signatures":[{"keyid":"","sig":"MEUCICNze+GG7blYjmJmXMXFGJaFQaGNHNz7e2XvBjwn11rrAiEArCto8K9MLReCB9wkb5pdreVBPbm7RHNoKv9BND8AJxQ=","cert":"-----BEGIN CERTIFICATE-----\nMIIDdjCCAvygAwIBAgITKyNvAShskkDKQt7Nibo+TTfnpDAKBggqhkjOPQQDAzAq\nMRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxETAPBgNVBAMTCHNpZ3N0b3JlMB4XDTIy\nMDcyMjA0NDkyM1oXDTIyMDcyMjA0NTkyMlowADBZMBMGByqGSM49AgEGCCqGSM49\nAwEHA0IABPTJ64TMtITPS0wyq/aov6KAaOQo/NwWnFbbpAjJuADM0TZyshD+r+/X\nojJndYY+k0dN46ZwgrsosvGl1m8NcuSjggIpMIICJTAOBgNVHQ8BAf8EBAMCB4Aw\nEwYDVR0lBAwwCgYIKwYBBQUHAwMwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUW7RY\nPTTIaNKtq3xILv9tfHvYdD0wHwYDVR0jBBgwFoAUWMAeX5FFpWapesyQoZMi0CrF\nxfowgYMGA1UdEQEB/wR5MHeGdWh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1l\nd29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3IvLmdpdGh1Yi93b3JrZmxvd3MvZ2Vu\nZXJhdG9yX2dlbmVyaWNfc2xzYTMueW1sQHJlZnMvaGVhZHMvbWFpbjBSBgorBgEE\nAYO/MAEEBEQuZ2l0aHViL3dvcmtmbG93cy9lMmUuZ2VuZXJpYy5zY2hlZHVsZS5t\nYWluLm11bHRpLXN1YmplY3RzLnNsc2EzLnltbDA5BgorBgEEAYO/MAEBBCtodHRw\nczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMB0GCisGAQQB\ng78wAQYED3JlZnMvaGVhZHMvbWFpbjA2BgorBgEEAYO/MAEDBCgyY2IxMGY0ODVk\nYzM2ZGQ5OTQ3NmYzZTNiN2VlYzk5ZGZkNzk2ZGEyMCwGCisGAQQBg78wAQUEHnNs\nc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZTAWBgorBgEEAYO/MAECBAhzY2hl\nZHVsZTAKBggqhkjOPQQDAwNoADBlAjEA8cIq5/AEeKOEfZ0Eqduz0a5/aYXjyJJG\nH2ZvNwTtkvtM8LghCpj3aCgCGKZ98zZ4AjB/yhvDwdw7fysJ1k4aQDOoXGWvpJpp\n3XN26KG8pkCkOzjANAgytUMT4WMsDTEWsZI=\n-----END CERTIFICATE-----\n"}]} \ No newline at end of file +{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3Nsc2EuZGV2L3Byb3ZlbmFuY2UvdjAuMiIsInN1YmplY3QiOlt7Im5hbWUiOiJhcnRpZmFjdDEiLCJkaWdlc3QiOnsic2hhMjU2IjoiNDgyY2U4YzhmN2U4NjdkYTNhM2MwNWE5YWVlNjM3NzAzZTE3NDcwZWQxY2Y4ODJhOWU1YjQwNWU4ZjgyNjE5ZCJ9fSx7Im5hbWUiOiJhcnRpZmFjdDIiLCJkaWdlc3QiOnsic2hhMjU2IjoiODljZmM2OTU0ZTg4YjJmOTJhN2MyODc5ZDllYjA4NWM0MmYzYzcwNjVkMDEyYTUwNjZmNDUwZGJlNTliMmMwMCJ9fSx7Im5hbWUiOiJhcnRpZmFjdDMiLCJkaWdlc3QiOnsic2hhMjU2IjoiN2E1ZDIxYTZhZGFjOTQ1NTYxZDg1OWJkMWRlY2ZjMzdiMjQwODc4OGNmMzIwNmRmMzUxOWUyODFhZmQzMWI2ZSJ9fV0sInByZWRpY2F0ZSI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL3Nsc2EtZnJhbWV3b3JrL3Nsc2EtZ2l0aHViLWdlbmVyYXRvci8uZ2l0aHViL3dvcmtmbG93cy9nZW5lcmF0b3JfZ2VuZXJpY19zbHNhMy55bWxAcmVmcy9oZWFkcy9tYWluIn0sImJ1aWxkVHlwZSI6Imh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3IvZ2VuZXJpY0B2MSIsImludm9jYXRpb24iOnsiY29uZmlnU291cmNlIjp7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlQHJlZnMvaGVhZHMvbWFpbiIsImRpZ2VzdCI6eyJzaGExIjoiNjBhMTc5YmQ5MTgxNjU3NTI4YzdiMTQyNDNmMDc1MTFiNGY2M2NmNSJ9LCJlbnRyeVBvaW50IjoiLmdpdGh1Yi93b3JrZmxvd3MvZTJlLmdlbmVyaWMuc2NoZWR1bGUubWFpbi5tdWx0aS1zdWJqZWN0cy5zbHNhMy55bWwifSwicGFyYW1ldGVycyI6e30sImVudmlyb25tZW50Ijp7ImdpdGh1Yl9hY3RvciI6ImxhdXJlbnRzaW1vbiIsImdpdGh1Yl9hY3Rvcl9pZCI6IjY0NTA1MDk5IiwiZ2l0aHViX2Jhc2VfcmVmIjoiIiwiZ2l0aHViX2V2ZW50X25hbWUiOiJzY2hlZHVsZSIsImdpdGh1Yl9ldmVudF9wYXlsb2FkIjp7Im9yZ2FuaXphdGlvbiI6eyJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzgwNDMxMTg3P3Y9NCIsImRlc2NyaXB0aW9uIjoiU3VwcGx5LWNoYWluIExldmVscyBmb3IgU29mdHdhcmUgQXJ0aWZhY3RzIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vb3Jncy9zbHNhLWZyYW1ld29yay9ldmVudHMiLCJob29rc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3Mvc2xzYS1mcmFtZXdvcmsvaG9va3MiLCJpZCI6ODA0MzExODcsImlzc3Vlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3Mvc2xzYS1mcmFtZXdvcmsvaXNzdWVzIiwibG9naW4iOiJzbHNhLWZyYW1ld29yayIsIm1lbWJlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9vcmdzL3Nsc2EtZnJhbWV3b3JrL21lbWJlcnN7L21lbWJlcn0iLCJub2RlX2lkIjoiTURFeU9rOXlaMkZ1YVhwaGRHbHZiamd3TkRNeE1UZzMiLCJwdWJsaWNfbWVtYmVyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3Mvc2xzYS1mcmFtZXdvcmsvcHVibGljX21lbWJlcnN7L21lbWJlcn0iLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3Mvc2xzYS1mcmFtZXdvcmsvcmVwb3MiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3Mvc2xzYS1mcmFtZXdvcmsifSwicmVwb3NpdG9yeSI6eyJhbGxvd19mb3JraW5nIjp0cnVlLCJhcmNoaXZlX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL3thcmNoaXZlX2Zvcm1hdH17L3JlZn0iLCJhcmNoaXZlZCI6ZmFsc2UsImFzc2lnbmVlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9hc3NpZ25lZXN7L3VzZXJ9IiwiYmxvYnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvZ2l0L2Jsb2Jzey9zaGF9IiwiYnJhbmNoZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvYnJhbmNoZXN7L2JyYW5jaH0iLCJjbG9uZV91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlLmdpdCIsImNvbGxhYm9yYXRvcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvY29sbGFib3JhdG9yc3svY29sbGFib3JhdG9yfSIsImNvbW1lbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2NvbW1lbnRzey9udW1iZXJ9IiwiY29tbWl0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9jb21taXRzey9zaGF9IiwiY29tcGFyZV91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9jb21wYXJlL3tiYXNlfS4uLntoZWFkfSIsImNvbnRlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2NvbnRlbnRzL3srcGF0aH0iLCJjb250cmlidXRvcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvY29udHJpYnV0b3JzIiwiY3JlYXRlZF9hdCI6IjIwMjItMDQtMjdUMTk6MzA6NDNaIiwiZGVmYXVsdF9icmFuY2giOiJtYWluIiwiZGVwbG95bWVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvZGVwbG95bWVudHMiLCJkZXNjcmlwdGlvbiI6bnVsbCwiZGlzYWJsZWQiOmZhbHNlLCJkb3dubG9hZHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvZG93bmxvYWRzIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2V2ZW50cyIsImZvcmsiOmZhbHNlLCJmb3JrcyI6MTAsImZvcmtzX2NvdW50IjoxMCwiZm9ya3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvZm9ya3MiLCJmdWxsX25hbWUiOiJzbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UiLCJnaXRfY29tbWl0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9naXQvY29tbWl0c3svc2hhfSIsImdpdF9yZWZzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2dpdC9yZWZzey9zaGF9IiwiZ2l0X3RhZ3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvZ2l0L3RhZ3N7L3NoYX0iLCJnaXRfdXJsIjoiZ2l0Oi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UuZ2l0IiwiaGFzX2Rpc2N1c3Npb25zIjpmYWxzZSwiaGFzX2Rvd25sb2FkcyI6dHJ1ZSwiaGFzX2lzc3VlcyI6dHJ1ZSwiaGFzX3BhZ2VzIjpmYWxzZSwiaGFzX3Byb2plY3RzIjp0cnVlLCJoYXNfd2lraSI6dHJ1ZSwiaG9tZXBhZ2UiOm51bGwsImhvb2tzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2hvb2tzIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlIiwiaWQiOjQ4NjMyNTgwOSwiaXNfdGVtcGxhdGUiOmZhbHNlLCJpc3N1ZV9jb21tZW50X3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2lzc3Vlcy9jb21tZW50c3svbnVtYmVyfSIsImlzc3VlX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9pc3N1ZXMvZXZlbnRzey9udW1iZXJ9IiwiaXNzdWVzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2lzc3Vlc3svbnVtYmVyfSIsImtleXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2Uva2V5c3sva2V5X2lkfSIsImxhYmVsc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9sYWJlbHN7L25hbWV9IiwibGFuZ3VhZ2UiOiJTdGFybGFyayIsImxhbmd1YWdlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9sYW5ndWFnZXMiLCJsaWNlbnNlIjp7ImtleSI6ImFwYWNoZS0yLjAiLCJuYW1lIjoiQXBhY2hlIExpY2Vuc2UgMi4wIiwibm9kZV9pZCI6Ik1EYzZUR2xqWlc1elpUST0iLCJzcGR4X2lkIjoiQXBhY2hlLTIuMCIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vbGljZW5zZXMvYXBhY2hlLTIuMCJ9LCJtZXJnZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvbWVyZ2VzIiwibWlsZXN0b25lc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS9taWxlc3RvbmVzey9udW1iZXJ9IiwibWlycm9yX3VybCI6bnVsbCwibmFtZSI6ImV4YW1wbGUtcGFja2FnZSIsIm5vZGVfaWQiOiJSX2tnRE9IUHktTVEiLCJub3RpZmljYXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL25vdGlmaWNhdGlvbnN7P3NpbmNlLGFsbCxwYXJ0aWNpcGF0aW5nfSIsIm9wZW5faXNzdWVzIjoxOSwib3Blbl9pc3N1ZXNfY291bnQiOjE5LCJvd25lciI6eyJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzgwNDMxMTg3P3Y9NCIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Nsc2EtZnJhbWV3b3JrL2V2ZW50c3svcHJpdmFjeX0iLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zbHNhLWZyYW1ld29yay9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zbHNhLWZyYW1ld29yay9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zbHNhLWZyYW1ld29yay9naXN0c3svZ2lzdF9pZH0iLCJncmF2YXRhcl9pZCI6IiIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3Nsc2EtZnJhbWV3b3JrIiwiaWQiOjgwNDMxMTg3LCJsb2dpbiI6InNsc2EtZnJhbWV3b3JrIiwibm9kZV9pZCI6Ik1ERXlPazl5WjJGdWFYcGhkR2x2Ympnd05ETXhNVGczIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Nsc2EtZnJhbWV3b3JrL29yZ3MiLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zbHNhLWZyYW1ld29yay9yZWNlaXZlZF9ldmVudHMiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Nsc2EtZnJhbWV3b3JrL3JlcG9zIiwic2l0ZV9hZG1pbiI6ZmFsc2UsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zbHNhLWZyYW1ld29yay9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Nsc2EtZnJhbWV3b3JrL3N1YnNjcmlwdGlvbnMiLCJ0eXBlIjoiT3JnYW5pemF0aW9uIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zbHNhLWZyYW1ld29yayJ9LCJwcml2YXRlIjpmYWxzZSwicHVsbHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UvcHVsbHN7L251bWJlcn0iLCJwdXNoZWRfYXQiOiIyMDIzLTAyLTAxVDA0OjA2OjM0WiIsInJlbGVhc2VzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL3JlbGVhc2Vzey9pZH0iLCJzaXplIjo0MzUzLCJzc2hfdXJsIjoiZ2l0QGdpdGh1Yi5jb206c2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlLmdpdCIsInN0YXJnYXplcnNfY291bnQiOjYsInN0YXJnYXplcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2Uvc3RhcmdhemVycyIsInN0YXR1c2VzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL3N0YXR1c2VzL3tzaGF9Iiwic3Vic2NyaWJlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2Uvc3Vic2NyaWJlcnMiLCJzdWJzY3JpcHRpb25fdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2Uvc3Vic2NyaXB0aW9uIiwic3ZuX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UiLCJ0YWdzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL3RhZ3MiLCJ0ZWFtc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Nsc2EtZnJhbWV3b3JrL2V4YW1wbGUtcGFja2FnZS90ZWFtcyIsInRvcGljcyI6W10sInRyZWVzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlL2dpdC90cmVlc3svc2hhfSIsInVwZGF0ZWRfYXQiOiIyMDIzLTAxLTMxVDE5OjQ3OjI1WiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlIiwidmlzaWJpbGl0eSI6InB1YmxpYyIsIndhdGNoZXJzIjo2LCJ3YXRjaGVyc19jb3VudCI6Niwid2ViX2NvbW1pdF9zaWdub2ZmX3JlcXVpcmVkIjp0cnVlfSwic2NoZWR1bGUiOiIwIDQgKiAqICoiLCJ3b3JrZmxvdyI6Ii5naXRodWIvd29ya2Zsb3dzL2UyZS5nZW5lcmljLnNjaGVkdWxlLm1haW4ubXVsdGktc3ViamVjdHMuc2xzYTMueW1sIn0sImdpdGh1Yl9oZWFkX3JlZiI6IiIsImdpdGh1Yl9yZWYiOiJyZWZzL2hlYWRzL21haW4iLCJnaXRodWJfcmVmX3R5cGUiOiJicmFuY2giLCJnaXRodWJfcmVwb3NpdG9yeV9pZCI6IjQ4NjMyNTgwOSIsImdpdGh1Yl9yZXBvc2l0b3J5X293bmVyIjoic2xzYS1mcmFtZXdvcmsiLCJnaXRodWJfcmVwb3NpdG9yeV9vd25lcl9pZCI6IjgwNDMxMTg3IiwiZ2l0aHViX3J1bl9hdHRlbXB0IjoiMSIsImdpdGh1Yl9ydW5faWQiOiI0MDYwOTE3NDA2IiwiZ2l0aHViX3J1bl9udW1iZXIiOiIyMTIiLCJnaXRodWJfc2hhMSI6IjYwYTE3OWJkOTE4MTY1NzUyOGM3YjE0MjQzZjA3NTExYjRmNjNjZjUifX0sIm1ldGFkYXRhIjp7ImJ1aWxkSW52b2NhdGlvbklEIjoiNDA2MDkxNzQwNi0xIiwiY29tcGxldGVuZXNzIjp7InBhcmFtZXRlcnMiOnRydWUsImVudmlyb25tZW50IjpmYWxzZSwibWF0ZXJpYWxzIjpmYWxzZX0sInJlcHJvZHVjaWJsZSI6ZmFsc2V9LCJtYXRlcmlhbHMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vc2xzYS1mcmFtZXdvcmsvZXhhbXBsZS1wYWNrYWdlQHJlZnMvaGVhZHMvbWFpbiIsImRpZ2VzdCI6eyJzaGExIjoiNjBhMTc5YmQ5MTgxNjU3NTI4YzdiMTQyNDNmMDc1MTFiNGY2M2NmNSJ9fV19fQ==","signatures":[{"keyid":"","sig":"MEUCIQC02kKS6SRRfZSX4cePABoSzvlbKM+UMjkE1Gqx3vDf2wIgDDgEmHAmz08vCxLF6C6uWYenmzU1fEHHEY+K0gByyKs=","cert":"-----BEGIN CERTIFICATE-----\nMIIEAzCCA4igAwIBAgIUTW873LaWIcJugh0+dl6AVNfBe4MwCgYIKoZIzj0EAwMw\nNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRl\ncm1lZGlhdGUwHhcNMjMwMjAxMDQyMjE3WhcNMjMwMjAxMDQzMjE3WjAAMFkwEwYH\nKoZIzj0CAQYIKoZIzj0DAQcDQgAE1OGDS6i0dnikCEZ0lB9qPn/SZyclcjUNsAHX\nQscFSgnm0qI2OcGK/O6aqtKl/w3ESjoyyv1Xzdjw0dI8aXPOT6OCAqcwggKjMA4G\nA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUngt9\n6tXE1Lm4Oa0lUbnmlB+CwXQwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4Y\nZD8wgYMGA1UdEQEB/wR5MHeGdWh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1l\nd29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3IvLmdpdGh1Yi93b3JrZmxvd3MvZ2Vu\nZXJhdG9yX2dlbmVyaWNfc2xzYTMueW1sQHJlZnMvaGVhZHMvbWFpbjA5BgorBgEE\nAYO/MAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQu\nY29tMBYGCisGAQQBg78wAQIECHNjaGVkdWxlMDYGCisGAQQBg78wAQMEKDYwYTE3\nOWJkOTE4MTY1NzUyOGM3YjE0MjQzZjA3NTExYjRmNjNjZjUwUgYKKwYBBAGDvzAB\nBARELmdpdGh1Yi93b3JrZmxvd3MvZTJlLmdlbmVyaWMuc2NoZWR1bGUubWFpbi5t\ndWx0aS1zdWJqZWN0cy5zbHNhMy55bWwwLAYKKwYBBAGDvzABBQQec2xzYS1mcmFt\nZXdvcmsvZXhhbXBsZS1wYWNrYWdlMB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMv\nbWFpbjCBiQYKKwYBBAHWeQIEAgR7BHkAdwB1AN09MGrGxxEyYxkeHJlnNwKiSl64\n3jyt/4eKcoAvKe6OAAABhgs2ECkAAAQDAEYwRAIgFE/4DuarmnYs/CUAzYUzRsjn\n9CC8HjHh2wLVrR+ObR4CIFU4KSZ3apOhxaHL1qLvs5An6mkjSRFos9mUj3XCxtee\nMAoGCCqGSM49BAMDA2kAMGYCMQDsmj8XyaDmb5TuzsTiCNtwwglwLHxtWjeQHVMf\nwBIJ/AF2wq8XYl1mR9L/P6vhUDkCMQDovshG97QQzCQ5sFdLQ04ictJB2jO4GPMx\ngR50kFmN/DV0NKFh4mReLvCbzQblYSU=\n-----END CERTIFICATE-----\n"}]} \ No newline at end of file diff --git a/cli/slsa-verifier/testdata/binary-linux-amd64-untrusted-builder b/cli/slsa-verifier/testdata/binary-linux-amd64-untrusted-builder index 4eca6fd..b5ca33b 100644 Binary files a/cli/slsa-verifier/testdata/binary-linux-amd64-untrusted-builder and b/cli/slsa-verifier/testdata/binary-linux-amd64-untrusted-builder differ diff --git a/cli/slsa-verifier/testdata/binary-linux-amd64-untrusted-builder.intoto.jsonl b/cli/slsa-verifier/testdata/binary-linux-amd64-untrusted-builder.intoto.jsonl index 0e76399..4f7e474 100644 --- a/cli/slsa-verifier/testdata/binary-linux-amd64-untrusted-builder.intoto.jsonl +++ b/cli/slsa-verifier/testdata/binary-linux-amd64-untrusted-builder.intoto.jsonl @@ -1 +1 @@ -{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3Nsc2EuZGV2L3Byb3ZlbmFuY2UvdjAuMiIsInN1YmplY3QiOlt7Im5hbWUiOiJiaW5hcnktbGludXgtYW1kNjQiLCJkaWdlc3QiOnsic2hhMjU2IjoiNGJkYjQ5NWQwNWNiYjllYjA3MjJlYzRmY2ZlZjhhMDJkNWNhN2EyZmNhMGIwZmVkNzE4NDQ3Zjg5ZDM5YTU4OSJ9fV0sInByZWRpY2F0ZSI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FzcmFhL3Nsc2EtZ2l0aHViLWdlbmVyYXRvci8uZ2l0aHViL3dvcmtmbG93cy9idWlsZGVyX2dvX3Nsc2EzLnltbEByZWZzL2hlYWRzL21hbGljaW91cyJ9LCJidWlsZFR5cGUiOiJodHRwczovL2dpdGh1Yi5jb20vc2xzYS1mcmFtZXdvcmsvc2xzYS1naXRodWItZ2VuZXJhdG9yL2dvQHYxIiwiaW52b2NhdGlvbiI6eyJjb25maWdTb3VyY2UiOnsidXJpIjoiZ2l0K2h0dHBzOi8vZ2l0aHViLmNvbS9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0QHJlZnMvaGVhZHMvbWFpbiIsImRpZ2VzdCI6eyJzaGExIjoiMDZmNDNmNzY5MTc0YTUzOGJmOWVhNDQ3MjNkOWM2YzI1YmE0Mjc4ZCJ9LCJlbnRyeVBvaW50IjoiLmdpdGh1Yi93b3JrZmxvd3Mvc2xzYS1yZXVzYWJsZS55YW1sIn0sInBhcmFtZXRlcnMiOnt9LCJlbnZpcm9ubWVudCI6eyJhcmNoIjoiWDY0IiwiZ2l0aHViX2FjdG9yIjoiYXNyYWEiLCJnaXRodWJfYWN0b3JfaWQiOiI1MTk0NTY5IiwiZ2l0aHViX2Jhc2VfcmVmIjoiIiwiZ2l0aHViX2V2ZW50X25hbWUiOiJ3b3JrZmxvd19kaXNwYXRjaCIsImdpdGh1Yl9ldmVudF9wYXlsb2FkIjp7ImlucHV0cyI6bnVsbCwicmVmIjoicmVmcy9oZWFkcy9tYWluIiwicmVwb3NpdG9yeSI6eyJhbGxvd19mb3JraW5nIjp0cnVlLCJhcmNoaXZlX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC97YXJjaGl2ZV9mb3JtYXR9ey9yZWZ9IiwiYXJjaGl2ZWQiOmZhbHNlLCJhc3NpZ25lZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L2Fzc2lnbmVlc3svdXNlcn0iLCJibG9ic191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvZ2l0L2Jsb2Jzey9zaGF9IiwiYnJhbmNoZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L2JyYW5jaGVzey9icmFuY2h9IiwiY2xvbmVfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QuZ2l0IiwiY29sbGFib3JhdG9yc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvY29sbGFib3JhdG9yc3svY29sbGFib3JhdG9yfSIsImNvbW1lbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9jb21tZW50c3svbnVtYmVyfSIsImNvbW1pdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L2NvbW1pdHN7L3NoYX0iLCJjb21wYXJlX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9jb21wYXJlL3tiYXNlfS4uLntoZWFkfSIsImNvbnRlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9jb250ZW50cy97K3BhdGh9IiwiY29udHJpYnV0b3JzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9jb250cmlidXRvcnMiLCJjcmVhdGVkX2F0IjoiMjAyMi0wNi0wOFQyMDowNzoxNFoiLCJkZWZhdWx0X2JyYW5jaCI6Im1haW4iLCJkZXBsb3ltZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvZGVwbG95bWVudHMiLCJkZXNjcmlwdGlvbiI6IlRlc3QgZm9yIFNMU0EiLCJkaXNhYmxlZCI6ZmFsc2UsImRvd25sb2Fkc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvZG93bmxvYWRzIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9ldmVudHMiLCJmb3JrIjp0cnVlLCJmb3JrcyI6MCwiZm9ya3NfY291bnQiOjAsImZvcmtzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9mb3JrcyIsImZ1bGxfbmFtZSI6ImFzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QiLCJnaXRfY29tbWl0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvZ2l0L2NvbW1pdHN7L3NoYX0iLCJnaXRfcmVmc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvZ2l0L3JlZnN7L3NoYX0iLCJnaXRfdGFnc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvZ2l0L3RhZ3N7L3NoYX0iLCJnaXRfdXJsIjoiZ2l0Oi8vZ2l0aHViLmNvbS9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0LmdpdCIsImhhc19kb3dubG9hZHMiOnRydWUsImhhc19pc3N1ZXMiOmZhbHNlLCJoYXNfcGFnZXMiOmZhbHNlLCJoYXNfcHJvamVjdHMiOnRydWUsImhhc193aWtpIjp0cnVlLCJob21lcGFnZSI6bnVsbCwiaG9va3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L2hvb2tzIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdCIsImlkIjo1MDEzOTUyNDIsImlzX3RlbXBsYXRlIjpmYWxzZSwiaXNzdWVfY29tbWVudF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvaXNzdWVzL2NvbW1lbnRzey9udW1iZXJ9IiwiaXNzdWVfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9pc3N1ZXMvZXZlbnRzey9udW1iZXJ9IiwiaXNzdWVzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9pc3N1ZXN7L251bWJlcn0iLCJrZXlzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9rZXlzey9rZXlfaWR9IiwibGFiZWxzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9sYWJlbHN7L25hbWV9IiwibGFuZ3VhZ2UiOiJHbyIsImxhbmd1YWdlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvbGFuZ3VhZ2VzIiwibGljZW5zZSI6eyJrZXkiOiJhcGFjaGUtMi4wIiwibmFtZSI6IkFwYWNoZSBMaWNlbnNlIDIuMCIsIm5vZGVfaWQiOiJNRGM2VEdsalpXNXpaVEk9Iiwic3BkeF9pZCI6IkFwYWNoZS0yLjAiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL2xpY2Vuc2VzL2FwYWNoZS0yLjAifSwibWVyZ2VzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9tZXJnZXMiLCJtaWxlc3RvbmVzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9taWxlc3RvbmVzey9udW1iZXJ9IiwibWlycm9yX3VybCI6bnVsbCwibmFtZSI6InNsc2Etb24tZ2l0aHViLXRlc3QiLCJub2RlX2lkIjoiUl9rZ0RPSGVLdktnIiwibm90aWZpY2F0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3Qvbm90aWZpY2F0aW9uc3s/c2luY2UsYWxsLHBhcnRpY2lwYXRpbmd9Iiwib3Blbl9pc3N1ZXMiOjAsIm9wZW5faXNzdWVzX2NvdW50IjowLCJvd25lciI6eyJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzUxOTQ1Njk/dj00IiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXNyYWEvZXZlbnRzey9wcml2YWN5fSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FzcmFhL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FzcmFhL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FzcmFhL2dpc3Rzey9naXN0X2lkfSIsImdyYXZhdGFyX2lkIjoiIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vYXNyYWEiLCJpZCI6NTE5NDU2OSwibG9naW4iOiJhc3JhYSIsIm5vZGVfaWQiOiJNRFE2VlhObGNqVXhPVFExTmprPSIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hc3JhYS9vcmdzIiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXNyYWEvcmVjZWl2ZWRfZXZlbnRzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hc3JhYS9yZXBvcyIsInNpdGVfYWRtaW4iOmZhbHNlLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXNyYWEvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hc3JhYS9zdWJzY3JpcHRpb25zIiwidHlwZSI6IlVzZXIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FzcmFhIn0sInByaXZhdGUiOmZhbHNlLCJwdWxsc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvcHVsbHN7L251bWJlcn0iLCJwdXNoZWRfYXQiOiIyMDIyLTA2LTIwVDE4OjQ4OjM0WiIsInJlbGVhc2VzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9yZWxlYXNlc3svaWR9Iiwic2l6ZSI6MjEzLCJzc2hfdXJsIjoiZ2l0QGdpdGh1Yi5jb206YXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC5naXQiLCJzdGFyZ2F6ZXJzX2NvdW50IjowLCJzdGFyZ2F6ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9zdGFyZ2F6ZXJzIiwic3RhdHVzZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L3N0YXR1c2VzL3tzaGF9Iiwic3Vic2NyaWJlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L3N1YnNjcmliZXJzIiwic3Vic2NyaXB0aW9uX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9zdWJzY3JpcHRpb24iLCJzdm5fdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QiLCJ0YWdzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC90YWdzIiwidGVhbXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L3RlYW1zIiwidG9waWNzIjpbXSwidHJlZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L2dpdC90cmVlc3svc2hhfSIsInVwZGF0ZWRfYXQiOiIyMDIyLTA2LTA4VDIwOjA5OjU4WiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdCIsInZpc2liaWxpdHkiOiJwdWJsaWMiLCJ3YXRjaGVycyI6MCwid2F0Y2hlcnNfY291bnQiOjB9LCJzZW5kZXIiOnsiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS81MTk0NTY5P3Y9NCIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FzcmFhL2V2ZW50c3svcHJpdmFjeX0iLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hc3JhYS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hc3JhYS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hc3JhYS9naXN0c3svZ2lzdF9pZH0iLCJncmF2YXRhcl9pZCI6IiIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2FzcmFhIiwiaWQiOjUxOTQ1NjksImxvZ2luIjoiYXNyYWEiLCJub2RlX2lkIjoiTURRNlZYTmxjalV4T1RRMU5qaz0iLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXNyYWEvb3JncyIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FzcmFhL3JlY2VpdmVkX2V2ZW50cyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXNyYWEvcmVwb3MiLCJzaXRlX2FkbWluIjpmYWxzZSwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FzcmFhL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXNyYWEvc3Vic2NyaXB0aW9ucyIsInR5cGUiOiJVc2VyIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hc3JhYSJ9LCJ3b3JrZmxvdyI6Ii5naXRodWIvd29ya2Zsb3dzL3Nsc2EtcmV1c2FibGUueWFtbCJ9LCJnaXRodWJfaGVhZF9yZWYiOiIiLCJnaXRodWJfcmVmIjoicmVmcy9oZWFkcy9tYWluIiwiZ2l0aHViX3JlZl90eXBlIjoiYnJhbmNoIiwiZ2l0aHViX3JlcG9zaXRvcnlfaWQiOiI1MDEzOTUyNDIiLCJnaXRodWJfcmVwb3NpdG9yeV9vd25lciI6ImFzcmFhIiwiZ2l0aHViX3JlcG9zaXRvcnlfb3duZXJfaWQiOiI1MTk0NTY5IiwiZ2l0aHViX3J1bl9hdHRlbXB0IjoiMSIsImdpdGh1Yl9ydW5faWQiOiIyNTMwOTU0MTEwIiwiZ2l0aHViX3J1bl9udW1iZXIiOiI4IiwiZ2l0aHViX3NoYTEiOiIwNmY0M2Y3NjkxNzRhNTM4YmY5ZWE0NDcyM2Q5YzZjMjViYTQyNzhkIiwib3MiOiJ1YnVudHUyMCJ9fSwiYnVpbGRDb25maWciOnsidmVyc2lvbiI6MSwic3RlcHMiOlt7ImNvbW1hbmQiOlsiL29wdC9ob3N0ZWR0b29sY2FjaGUvZ28vMS4xNy4xMS94NjQvYmluL2dvIiwibW9kIiwidmVuZG9yIl0sImVudiI6bnVsbCwid29ya2luZ0RpciI6Ii9ob21lL3J1bm5lci93b3JrL3Nsc2Etb24tZ2l0aHViLXRlc3Qvc2xzYS1vbi1naXRodWItdGVzdCJ9LHsiY29tbWFuZCI6WyIvb3B0L2hvc3RlZHRvb2xjYWNoZS9nby8xLjE3LjExL3g2NC9iaW4vZ28iLCJidWlsZCIsIi1tb2Q9dmVuZG9yIiwiLXRyaW1wYXRoIiwiLXRhZ3M9bmV0Z28iLCItbyIsImJpbmFyeS1saW51eC1hbWQ2NCJdLCJlbnYiOlsiR09PUz1saW51eCIsIkdPQVJDSD1hbWQ2NCIsIkdPMTExTU9EVUxFPW9uIiwiQ0dPX0VOQUJMRUQ9MCJdLCJ3b3JraW5nRGlyIjoiL2hvbWUvcnVubmVyL3dvcmsvc2xzYS1vbi1naXRodWItdGVzdC9zbHNhLW9uLWdpdGh1Yi10ZXN0In1dfSwibWV0YWRhdGEiOnsiYnVpbGRJbnZvY2F0aW9uSUQiOiIyNTMwOTU0MTEwLTEiLCJjb21wbGV0ZW5lc3MiOnsicGFyYW1ldGVycyI6dHJ1ZSwiZW52aXJvbm1lbnQiOmZhbHNlLCJtYXRlcmlhbHMiOmZhbHNlfSwicmVwcm9kdWNpYmxlIjpmYWxzZX0sIm1hdGVyaWFscyI6W3sidXJpIjoiZ2l0K2h0dHBzOi8vZ2l0aHViLmNvbS9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0QHJlZnMvaGVhZHMvbWFpbiIsImRpZ2VzdCI6eyJzaGExIjoiMDZmNDNmNzY5MTc0YTUzOGJmOWVhNDQ3MjNkOWM2YzI1YmE0Mjc4ZCJ9fSx7InVyaSI6Imh0dHBzOi8vZ2l0aHViLmNvbS9hY3Rpb25zL3ZpcnR1YWwtZW52aXJvbm1lbnRzL3JlbGVhc2VzL3RhZy91YnVudHUyMC8yMDIyMDYxNC4wIn1dfX0=","signatures":[{"keyid":"","sig":"MEYCIQCKGlBGnPQS7My8f9RedITm7aWyz1qzEYEc2APUfHbboQIhAN+yVB9QiwTGvwn0pd56wEHVvyG5hv3fsio5krJwZnOM","cert":"-----BEGIN CERTIFICATE-----\nMIIDOjCCAr+gAwIBAgITBR44z6V2n9ZJuu6lzMXOGZgj3jAKBggqhkjOPQQDAzAq\nMRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxETAPBgNVBAMTCHNpZ3N0b3JlMB4XDTIy\nMDYyMDE4NTUyN1oXDTIyMDYyMDE5MDUyNlowADBZMBMGByqGSM49AgEGCCqGSM49\nAwEHA0IABPh653iEaeB/Xscg59gVZ1iLQFxNzk8pb/KSe6dQllyR5FTtBNoLrzal\nkdUNltmd9SBHzq6XVNKbi3uUjxwRW9WjggHsMIIB6DAOBgNVHQ8BAf8EBAMCB4Aw\nEwYDVR0lBAwwCgYIKwYBBQUHAwMwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUr6ts\nHqoUM500XOCg2q40D5tdXnEwHwYDVR0jBBgwFoAUWMAeX5FFpWapesyQoZMi0CrF\nxfoweAYDVR0RAQH/BG4wbIZqaHR0cHM6Ly9naXRodWIuY29tL2FzcmFhL3Nsc2Et\nZ2l0aHViLWdlbmVyYXRvci8uZ2l0aHViL3dvcmtmbG93cy9idWlsZGVyX2dvX3Ns\nc2EzLnltbEByZWZzL2hlYWRzL21hbGljaW91czA2BgorBgEEAYO/MAEDBCgwNmY0\nM2Y3NjkxNzRhNTM4YmY5ZWE0NDcyM2Q5YzZjMjViYTQyNzhkMB8GCisGAQQBg78w\nAQIEEXdvcmtmbG93X2Rpc3BhdGNoMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9r\nZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wJwYKKwYBBAGDvzABBQQZ\nYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdDAdBgorBgEEAYO/MAEEBA9HbyBTTFNB\nIFJlbGVhc2UwHQYKKwYBBAGDvzABBgQPcmVmcy9oZWFkcy9tYWluMAoGCCqGSM49\nBAMDA2kAMGYCMQC40a/bf/vbtNkm721irzoDaRBbxXjixe9cdrxOmpPn6sdrI9MH\nPceK4VXL3vsHHh4CMQCXDFtE94cSDTxWLL2kZ/7CYRkBbC05CDrGyzs4iLY/Ub+e\n75ktXAYALP+SsHam/2I=\n-----END CERTIFICATE-----\n"}]} \ No newline at end of file +{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3Nsc2EuZGV2L3Byb3ZlbmFuY2UvdjAuMiIsInN1YmplY3QiOlt7Im5hbWUiOiJiaW5hcnktbGludXgtYW1kNjQiLCJkaWdlc3QiOnsic2hhMjU2IjoiYjAxYzRmMjJiOTJjNTdmZTFjOTRiYTk5YjU2OGU4ZDcwNGJiZjU0NDg4Mjc4NGI1YjhjNzY1ZmMzMmU2MjdjNCJ9fV0sInByZWRpY2F0ZSI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FzcmFhL3Nsc2EtZ2l0aHViLWdlbmVyYXRvci8uZ2l0aHViL3dvcmtmbG93cy9idWlsZGVyX2dvX3Nsc2EzLnltbEByZWZzL3RhZ3MvdjEuNC4wIn0sImJ1aWxkVHlwZSI6Imh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3IvZ29AdjEiLCJpbnZvY2F0aW9uIjp7ImNvbmZpZ1NvdXJjZSI6eyJ1cmkiOiJnaXQraHR0cHM6Ly9naXRodWIuY29tL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3RAcmVmcy9oZWFkcy9tYWluIiwiZGlnZXN0Ijp7InNoYTEiOiJkNjc0Y2I0MWE1ZDk3YTExNzQyNmVmMThjNjg4MWIzMTg1ZjRlMzNhIn0sImVudHJ5UG9pbnQiOiIuZ2l0aHViL3dvcmtmbG93cy9nby1idWlsZGVyLnltbCJ9LCJwYXJhbWV0ZXJzIjp7fSwiZW52aXJvbm1lbnQiOnsiYXJjaCI6Ilg2NCIsImdpdGh1Yl9hY3RvciI6ImFzcmFhIiwiZ2l0aHViX2FjdG9yX2lkIjoiNTE5NDU2OSIsImdpdGh1Yl9iYXNlX3JlZiI6IiIsImdpdGh1Yl9ldmVudF9uYW1lIjoid29ya2Zsb3dfZGlzcGF0Y2giLCJnaXRodWJfZXZlbnRfcGF5bG9hZCI6eyJpbnB1dHMiOm51bGwsInJlZiI6InJlZnMvaGVhZHMvbWFpbiIsInJlcG9zaXRvcnkiOnsiYWxsb3dfZm9ya2luZyI6dHJ1ZSwiYXJjaGl2ZV91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3Qve2FyY2hpdmVfZm9ybWF0fXsvcmVmfSIsImFyY2hpdmVkIjpmYWxzZSwiYXNzaWduZWVzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9hc3NpZ25lZXN7L3VzZXJ9IiwiYmxvYnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L2dpdC9ibG9ic3svc2hhfSIsImJyYW5jaGVzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9icmFuY2hlc3svYnJhbmNofSIsImNsb25lX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0LmdpdCIsImNvbGxhYm9yYXRvcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L2NvbGxhYm9yYXRvcnN7L2NvbGxhYm9yYXRvcn0iLCJjb21tZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvY29tbWVudHN7L251bWJlcn0iLCJjb21taXRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9jb21taXRzey9zaGF9IiwiY29tcGFyZV91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvY29tcGFyZS97YmFzZX0uLi57aGVhZH0iLCJjb250ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvY29udGVudHMveytwYXRofSIsImNvbnRyaWJ1dG9yc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvY29udHJpYnV0b3JzIiwiY3JlYXRlZF9hdCI6IjIwMjItMDYtMDhUMjA6MDc6MTRaIiwiZGVmYXVsdF9icmFuY2giOiJtYWluIiwiZGVwbG95bWVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L2RlcGxveW1lbnRzIiwiZGVzY3JpcHRpb24iOiJUZXN0IGZvciBTTFNBIiwiZGlzYWJsZWQiOmZhbHNlLCJkb3dubG9hZHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L2Rvd25sb2FkcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvZXZlbnRzIiwiZm9yayI6dHJ1ZSwiZm9ya3MiOjAsImZvcmtzX2NvdW50IjowLCJmb3Jrc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvZm9ya3MiLCJmdWxsX25hbWUiOiJhc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0IiwiZ2l0X2NvbW1pdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L2dpdC9jb21taXRzey9zaGF9IiwiZ2l0X3JlZnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L2dpdC9yZWZzey9zaGF9IiwiZ2l0X3RhZ3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L2dpdC90YWdzey9zaGF9IiwiZ2l0X3VybCI6ImdpdDovL2dpdGh1Yi5jb20vYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC5naXQiLCJoYXNfZGlzY3Vzc2lvbnMiOmZhbHNlLCJoYXNfZG93bmxvYWRzIjp0cnVlLCJoYXNfaXNzdWVzIjpmYWxzZSwiaGFzX3BhZ2VzIjpmYWxzZSwiaGFzX3Byb2plY3RzIjp0cnVlLCJoYXNfd2lraSI6dHJ1ZSwiaG9tZXBhZ2UiOm51bGwsImhvb2tzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9ob29rcyIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QiLCJpZCI6NTAxMzk1MjQyLCJpc190ZW1wbGF0ZSI6ZmFsc2UsImlzc3VlX2NvbW1lbnRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L2lzc3Vlcy9jb21tZW50c3svbnVtYmVyfSIsImlzc3VlX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvaXNzdWVzL2V2ZW50c3svbnVtYmVyfSIsImlzc3Vlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvaXNzdWVzey9udW1iZXJ9Iiwia2V5c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3Qva2V5c3sva2V5X2lkfSIsImxhYmVsc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvbGFiZWxzey9uYW1lfSIsImxhbmd1YWdlIjoiR28iLCJsYW5ndWFnZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L2xhbmd1YWdlcyIsImxpY2Vuc2UiOnsia2V5IjoiYXBhY2hlLTIuMCIsIm5hbWUiOiJBcGFjaGUgTGljZW5zZSAyLjAiLCJub2RlX2lkIjoiTURjNlRHbGpaVzV6WlRJPSIsInNwZHhfaWQiOiJBcGFjaGUtMi4wIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9saWNlbnNlcy9hcGFjaGUtMi4wIn0sIm1lcmdlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvbWVyZ2VzIiwibWlsZXN0b25lc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvbWlsZXN0b25lc3svbnVtYmVyfSIsIm1pcnJvcl91cmwiOm51bGwsIm5hbWUiOiJzbHNhLW9uLWdpdGh1Yi10ZXN0Iiwibm9kZV9pZCI6IlJfa2dET0hlS3ZLZyIsIm5vdGlmaWNhdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L25vdGlmaWNhdGlvbnN7P3NpbmNlLGFsbCxwYXJ0aWNpcGF0aW5nfSIsIm9wZW5faXNzdWVzIjowLCJvcGVuX2lzc3Vlc19jb3VudCI6MCwib3duZXIiOnsiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS81MTk0NTY5P3Y9NCIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FzcmFhL2V2ZW50c3svcHJpdmFjeX0iLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hc3JhYS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hc3JhYS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hc3JhYS9naXN0c3svZ2lzdF9pZH0iLCJncmF2YXRhcl9pZCI6IiIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2FzcmFhIiwiaWQiOjUxOTQ1NjksImxvZ2luIjoiYXNyYWEiLCJub2RlX2lkIjoiTURRNlZYTmxjalV4T1RRMU5qaz0iLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXNyYWEvb3JncyIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FzcmFhL3JlY2VpdmVkX2V2ZW50cyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXNyYWEvcmVwb3MiLCJzaXRlX2FkbWluIjpmYWxzZSwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FzcmFhL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXNyYWEvc3Vic2NyaXB0aW9ucyIsInR5cGUiOiJVc2VyIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hc3JhYSJ9LCJwcml2YXRlIjpmYWxzZSwicHVsbHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0L3B1bGxzey9udW1iZXJ9IiwicHVzaGVkX2F0IjoiMjAyMy0wMi0wMVQyMjo0NDoyMVoiLCJyZWxlYXNlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvcmVsZWFzZXN7L2lkfSIsInNpemUiOjIzMCwic3NoX3VybCI6ImdpdEBnaXRodWIuY29tOmFzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QuZ2l0Iiwic3RhcmdhemVyc19jb3VudCI6MCwic3RhcmdhemVyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3Qvc3RhcmdhemVycyIsInN0YXR1c2VzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9zdGF0dXNlcy97c2hhfSIsInN1YnNjcmliZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9zdWJzY3JpYmVycyIsInN1YnNjcmlwdGlvbl91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3Qvc3Vic2NyaXB0aW9uIiwic3ZuX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0IiwidGFnc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QvdGFncyIsInRlYW1zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC90ZWFtcyIsInRvcGljcyI6W10sInRyZWVzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9naXQvdHJlZXN7L3NoYX0iLCJ1cGRhdGVkX2F0IjoiMjAyMi0wNi0wOFQyMDowOTo1OFoiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QiLCJ2aXNpYmlsaXR5IjoicHVibGljIiwid2F0Y2hlcnMiOjAsIndhdGNoZXJzX2NvdW50IjowLCJ3ZWJfY29tbWl0X3NpZ25vZmZfcmVxdWlyZWQiOmZhbHNlfSwic2VuZGVyIjp7ImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTE5NDU2OT92PTQiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hc3JhYS9ldmVudHN7L3ByaXZhY3l9IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXNyYWEvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXNyYWEvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXNyYWEvZ2lzdHN7L2dpc3RfaWR9IiwiZ3JhdmF0YXJfaWQiOiIiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3JhYSIsImlkIjo1MTk0NTY5LCJsb2dpbiI6ImFzcmFhIiwibm9kZV9pZCI6Ik1EUTZWWE5sY2pVeE9UUTFOams9Iiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FzcmFhL29yZ3MiLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hc3JhYS9yZWNlaXZlZF9ldmVudHMiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FzcmFhL3JlcG9zIiwic2l0ZV9hZG1pbiI6ZmFsc2UsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hc3JhYS9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FzcmFhL3N1YnNjcmlwdGlvbnMiLCJ0eXBlIjoiVXNlciIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXNyYWEifSwid29ya2Zsb3ciOiIuZ2l0aHViL3dvcmtmbG93cy9nby1idWlsZGVyLnltbCJ9LCJnaXRodWJfaGVhZF9yZWYiOiIiLCJnaXRodWJfcmVmIjoicmVmcy9oZWFkcy9tYWluIiwiZ2l0aHViX3JlZl90eXBlIjoiYnJhbmNoIiwiZ2l0aHViX3JlcG9zaXRvcnlfaWQiOiI1MDEzOTUyNDIiLCJnaXRodWJfcmVwb3NpdG9yeV9vd25lciI6ImFzcmFhIiwiZ2l0aHViX3JlcG9zaXRvcnlfb3duZXJfaWQiOiI1MTk0NTY5IiwiZ2l0aHViX3J1bl9hdHRlbXB0IjoiMSIsImdpdGh1Yl9ydW5faWQiOiI0MDY5Mzk2NDk3IiwiZ2l0aHViX3J1bl9udW1iZXIiOiIzIiwiZ2l0aHViX3NoYTEiOiJkNjc0Y2I0MWE1ZDk3YTExNzQyNmVmMThjNjg4MWIzMTg1ZjRlMzNhIiwib3MiOiJ1YnVudHUyMiJ9fSwiYnVpbGRDb25maWciOnsidmVyc2lvbiI6MSwic3RlcHMiOlt7ImNvbW1hbmQiOlsiL29wdC9ob3N0ZWR0b29sY2FjaGUvZ28vMS4xOC4xMC94NjQvYmluL2dvIiwibW9kIiwidmVuZG9yIl0sImVudiI6bnVsbCwid29ya2luZ0RpciI6Ii9ob21lL3J1bm5lci93b3JrL3Nsc2Etb24tZ2l0aHViLXRlc3Qvc2xzYS1vbi1naXRodWItdGVzdC9fX1BST0pFQ1RfQ0hFQ0tPVVRfRElSX18ifSx7ImNvbW1hbmQiOlsiL29wdC9ob3N0ZWR0b29sY2FjaGUvZ28vMS4xOC4xMC94NjQvYmluL2dvIiwiYnVpbGQiLCItbW9kPXZlbmRvciIsIi10cmltcGF0aCIsIi10YWdzPW5ldGdvIiwiLW8iLCJiaW5hcnktbGludXgtYW1kNjQiXSwiZW52IjpbIkdPT1M9bGludXgiLCJHT0FSQ0g9YW1kNjQiLCJHTzExMU1PRFVMRT1vbiIsIkNHT19FTkFCTEVEPTAiXSwid29ya2luZ0RpciI6Ii9ob21lL3J1bm5lci93b3JrL3Nsc2Etb24tZ2l0aHViLXRlc3Qvc2xzYS1vbi1naXRodWItdGVzdC9fX1BST0pFQ1RfQ0hFQ0tPVVRfRElSX18ifV19LCJtZXRhZGF0YSI6eyJidWlsZEludm9jYXRpb25JRCI6IjQwNjkzOTY0OTctMSIsImNvbXBsZXRlbmVzcyI6eyJwYXJhbWV0ZXJzIjp0cnVlLCJlbnZpcm9ubWVudCI6ZmFsc2UsIm1hdGVyaWFscyI6ZmFsc2V9LCJyZXByb2R1Y2libGUiOmZhbHNlfSwibWF0ZXJpYWxzIjpbeyJ1cmkiOiJnaXQraHR0cHM6Ly9naXRodWIuY29tL2FzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3RAcmVmcy9oZWFkcy9tYWluIiwiZGlnZXN0Ijp7InNoYTEiOiJkNjc0Y2I0MWE1ZDk3YTExNzQyNmVmMThjNjg4MWIzMTg1ZjRlMzNhIn19LHsidXJpIjoiaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvdmlydHVhbC1lbnZpcm9ubWVudHMvcmVsZWFzZXMvdGFnL3VidW50dTIyLzIwMjMwMTIyLjEifV19fQ==","signatures":[{"keyid":"","sig":"MEYCIQCbYgQ6dm8ktBbIFJ2MBA4FzNJysNOdbmCHOAFhWAP0vwIhAMitp4Vxpgn0Dddyy/8N4AkyS248TQc6xjYnz3annijA","cert":"-----BEGIN CERTIFICATE-----\nMIID0jCCA1igAwIBAgIUbR26N2cn5qtW5/BZyGMxsjRiZrcwCgYIKoZIzj0EAwMw\nNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRl\ncm1lZGlhdGUwHhcNMjMwMjAxMjI0OTAyWhcNMjMwMjAxMjI1OTAyWjAAMFkwEwYH\nKoZIzj0CAQYIKoZIzj0DAQcDQgAEn2RyJi7iw9axhayF/eHPQ8yONi3fqBRPxTza\nAwodeZnnf+QHkGITWFjYiNMGADxKh1AQDJS46MZl9niS/V8aYqOCAncwggJzMA4G\nA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUe1qI\n7tbl6qAwwlwxckMksvhXs5YwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4Y\nZD8wdAYDVR0RAQH/BGowaIZmaHR0cHM6Ly9naXRodWIuY29tL2FzcmFhL3Nsc2Et\nZ2l0aHViLWdlbmVyYXRvci8uZ2l0aHViL3dvcmtmbG93cy9idWlsZGVyX2dvX3Ns\nc2EzLnltbEByZWZzL3RhZ3MvdjEuNC4wMDkGCisGAQQBg78wAQEEK2h0dHBzOi8v\ndG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzAB\nAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoZDY3NGNiNDFhNWQ5\nN2ExMTc0MjZlZjE4YzY4ODFiMzE4NWY0ZTMzYTAuBgorBgEEAYO/MAEEBCAuZ2l0\naHViL3dvcmtmbG93cy9nby1idWlsZGVyLnltbDAnBgorBgEEAYO/MAEFBBlhc3Jh\nYS9zbHNhLW9uLWdpdGh1Yi10ZXN0MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMv\nbWFpbjCBiQYKKwYBBAHWeQIEAgR7BHkAdwB1AN09MGrGxxEyYxkeHJlnNwKiSl64\n3jyt/4eKcoAvKe6OAAABhg8rT/kAAAQDAEYwRAIgLuSQCHd/KgXXyReXxMIqMYen\nPFjXUF/27DDZ9ijy9yECIBxdKfj8i1kF9cGBijPET24NNbXz2w45xRrIkeJ6Ls0n\nMAoGCCqGSM49BAMDA2gAMGUCMD1KhQnWTfV2sXFZrfCIs9hY4dwK0t5zMwmyw582\nUYlUbiqveYYW9rTTRFwHvo6V+gIxAL3c6TuiLvhfaxki/+TKXUGUVjbGskLbNHfQ\nWdk0w3xR3KKGuBUt4n0nfkjq3mMMgg==\n-----END CERTIFICATE-----\n"}]} \ No newline at end of file diff --git a/cli/slsa-verifier/testdata/workflow-inputs.intoto.jsonl b/cli/slsa-verifier/testdata/workflow-inputs.intoto.jsonl index ffa3baa..cc3886c 100644 --- a/cli/slsa-verifier/testdata/workflow-inputs.intoto.jsonl +++ b/cli/slsa-verifier/testdata/workflow-inputs.intoto.jsonl @@ -1 +1 @@ -{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3Nsc2EuZGV2L3Byb3ZlbmFuY2UvdjAuMiIsInN1YmplY3QiOlt7Im5hbWUiOiJhcnRpZmFjdDEiLCJkaWdlc3QiOnsic2hhMjU2IjoiNDgyY2U4YzhmN2U4NjdkYTNhM2MwNWE5YWVlNjM3NzAzZTE3NDcwZWQxY2Y4ODJhOWU1YjQwNWU4ZjgyNjE5ZCJ9fSx7Im5hbWUiOiJhcnRpZmFjdDIiLCJkaWdlc3QiOnsic2hhMjU2IjoiODljZmM2OTU0ZTg4YjJmOTJhN2MyODc5ZDllYjA4NWM0MmYzYzcwNjVkMDEyYTUwNjZmNDUwZGJlNTliMmMwMCJ9fV0sInByZWRpY2F0ZSI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL3Nsc2EtZnJhbWV3b3JrL3Nsc2EtZ2l0aHViLWdlbmVyYXRvci8uZ2l0aHViL3dvcmtmbG93cy9nZW5lcmF0b3JfZ2VuZXJpY19zbHNhMy55bWxAcmVmcy90YWdzL3YxLjIuMCJ9LCJidWlsZFR5cGUiOiJodHRwczovL2dpdGh1Yi5jb20vc2xzYS1mcmFtZXdvcmsvc2xzYS1naXRodWItZ2VuZXJhdG9yQHYxIiwiaW52b2NhdGlvbiI6eyJjb25maWdTb3VyY2UiOnsidXJpIjoiZ2l0K2h0dHBzOi8vZ2l0aHViLmNvbS9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdEByZWZzL2hlYWRzL21haW4iLCJkaWdlc3QiOnsic2hhMSI6IjQ2NmMxMTNlZDNkNWFjNzU2ODE3NGQ0YjZhZDZiYjZhODBlMTUzYjIifSwiZW50cnlQb2ludCI6Ii5naXRodWIvd29ya2Zsb3dzL3Nsc2EtZ2VuZXJpYy55bWwifSwicGFyYW1ldGVycyI6eyJldmVudF9pbnB1dHMiOnsicmVsZWFzZV92ZXJzaW9uIjoidjEuMi4zIiwic29tZV9ib29sIjoidHJ1ZSIsInNvbWVfaW50ZWdlciI6IjEyMyJ9fSwiZW52aXJvbm1lbnQiOnsiZ2l0aHViX2FjdG9yIjoibGF1cmVudHNpbW9uIiwiZ2l0aHViX2FjdG9yX2lkIjoiNjQ1MDUwOTkiLCJnaXRodWJfYmFzZV9yZWYiOiIiLCJnaXRodWJfZXZlbnRfbmFtZSI6IndvcmtmbG93X2Rpc3BhdGNoIiwiZ2l0aHViX2V2ZW50X3BheWxvYWQiOnsiaW5wdXRzIjp7InJlbGVhc2VfdmVyc2lvbiI6InYxLjIuMyIsInNvbWVfYm9vbCI6InRydWUiLCJzb21lX2ludGVnZXIiOiIxMjMifSwicmVmIjoicmVmcy9oZWFkcy9tYWluIiwicmVwb3NpdG9yeSI6eyJhbGxvd19mb3JraW5nIjp0cnVlLCJhcmNoaXZlX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3Qve2FyY2hpdmVfZm9ybWF0fXsvcmVmfSIsImFyY2hpdmVkIjpmYWxzZSwiYXNzaWduZWVzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvYXNzaWduZWVzey91c2VyfSIsImJsb2JzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvZ2l0L2Jsb2Jzey9zaGF9IiwiYnJhbmNoZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9icmFuY2hlc3svYnJhbmNofSIsImNsb25lX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC5naXQiLCJjb2xsYWJvcmF0b3JzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvY29sbGFib3JhdG9yc3svY29sbGFib3JhdG9yfSIsImNvbW1lbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvY29tbWVudHN7L251bWJlcn0iLCJjb21taXRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvY29tbWl0c3svc2hhfSIsImNvbXBhcmVfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9jb21wYXJlL3tiYXNlfS4uLntoZWFkfSIsImNvbnRlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvY29udGVudHMveytwYXRofSIsImNvbnRyaWJ1dG9yc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L2NvbnRyaWJ1dG9ycyIsImNyZWF0ZWRfYXQiOiIyMDIyLTAyLTA1VDAxOjEwOjQ2WiIsImRlZmF1bHRfYnJhbmNoIjoibWFpbiIsImRlcGxveW1lbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvZGVwbG95bWVudHMiLCJkZXNjcmlwdGlvbiI6IlRlc3QgZm9yIFNMU0EiLCJkaXNhYmxlZCI6ZmFsc2UsImRvd25sb2Fkc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L2Rvd25sb2FkcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L2V2ZW50cyIsImZvcmsiOmZhbHNlLCJmb3JrcyI6MSwiZm9ya3NfY291bnQiOjEsImZvcmtzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvZm9ya3MiLCJmdWxsX25hbWUiOiJsYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdCIsImdpdF9jb21taXRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvZ2l0L2NvbW1pdHN7L3NoYX0iLCJnaXRfcmVmc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L2dpdC9yZWZzey9zaGF9IiwiZ2l0X3RhZ3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9naXQvdGFnc3svc2hhfSIsImdpdF91cmwiOiJnaXQ6Ly9naXRodWIuY29tL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0LmdpdCIsImhhc19kb3dubG9hZHMiOnRydWUsImhhc19pc3N1ZXMiOnRydWUsImhhc19wYWdlcyI6ZmFsc2UsImhhc19wcm9qZWN0cyI6dHJ1ZSwiaGFzX3dpa2kiOnRydWUsImhvbWVwYWdlIjpudWxsLCJob29rc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L2hvb2tzIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QiLCJpZCI6NDU1NzQzMzk2LCJpc190ZW1wbGF0ZSI6ZmFsc2UsImlzc3VlX2NvbW1lbnRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9pc3N1ZXMvY29tbWVudHN7L251bWJlcn0iLCJpc3N1ZV9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9pc3N1ZXMvZXZlbnRzey9udW1iZXJ9IiwiaXNzdWVzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvaXNzdWVzey9udW1iZXJ9Iiwia2V5c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L2tleXN7L2tleV9pZH0iLCJsYWJlbHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9sYWJlbHN7L25hbWV9IiwibGFuZ3VhZ2UiOiJTaGVsbCIsImxhbmd1YWdlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L2xhbmd1YWdlcyIsImxpY2Vuc2UiOnsia2V5IjoiYXBhY2hlLTIuMCIsIm5hbWUiOiJBcGFjaGUgTGljZW5zZSAyLjAiLCJub2RlX2lkIjoiTURjNlRHbGpaVzV6WlRJPSIsInNwZHhfaWQiOiJBcGFjaGUtMi4wIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9saWNlbnNlcy9hcGFjaGUtMi4wIn0sIm1lcmdlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L21lcmdlcyIsIm1pbGVzdG9uZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9taWxlc3RvbmVzey9udW1iZXJ9IiwibWlycm9yX3VybCI6bnVsbCwibmFtZSI6InNsc2Etb24tZ2l0aHViLXRlc3QiLCJub2RlX2lkIjoiUl9rZ0RPR3lvWHBBIiwibm90aWZpY2F0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L25vdGlmaWNhdGlvbnN7P3NpbmNlLGFsbCxwYXJ0aWNpcGF0aW5nfSIsIm9wZW5faXNzdWVzIjoyNCwib3Blbl9pc3N1ZXNfY291bnQiOjI0LCJvd25lciI6eyJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzY0NTA1MDk5P3Y9NCIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9ldmVudHN7L3ByaXZhY3l9IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vZ2lzdHN7L2dpc3RfaWR9IiwiZ3JhdmF0YXJfaWQiOiIiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9sYXVyZW50c2ltb24iLCJpZCI6NjQ1MDUwOTksImxvZ2luIjoibGF1cmVudHNpbW9uIiwibm9kZV9pZCI6Ik1EUTZWWE5sY2pZME5UQTFNRGs1Iiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9vcmdzIiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL3JlY2VpdmVkX2V2ZW50cyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL3JlcG9zIiwic2l0ZV9hZG1pbiI6ZmFsc2UsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vc3Vic2NyaXB0aW9ucyIsInR5cGUiOiJVc2VyIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24ifSwicHJpdmF0ZSI6ZmFsc2UsInB1bGxzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvcHVsbHN7L251bWJlcn0iLCJwdXNoZWRfYXQiOiIyMDIyLTA4LTE1VDE3OjAyOjA4WiIsInJlbGVhc2VzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvcmVsZWFzZXN7L2lkfSIsInNpemUiOjY2Niwic3NoX3VybCI6ImdpdEBnaXRodWIuY29tOmxhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0LmdpdCIsInN0YXJnYXplcnNfY291bnQiOjEsInN0YXJnYXplcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9zdGFyZ2F6ZXJzIiwic3RhdHVzZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9zdGF0dXNlcy97c2hhfSIsInN1YnNjcmliZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3Qvc3Vic2NyaWJlcnMiLCJzdWJzY3JpcHRpb25fdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9zdWJzY3JpcHRpb24iLCJzdm5fdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0IiwidGFnc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L3RhZ3MiLCJ0ZWFtc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L3RlYW1zIiwidG9waWNzIjpbXSwidHJlZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9naXQvdHJlZXN7L3NoYX0iLCJ1cGRhdGVkX2F0IjoiMjAyMi0wNi0xM1QyMDoyOTozM1oiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0IiwidmlzaWJpbGl0eSI6InB1YmxpYyIsIndhdGNoZXJzIjoxLCJ3YXRjaGVyc19jb3VudCI6MSwid2ViX2NvbW1pdF9zaWdub2ZmX3JlcXVpcmVkIjpmYWxzZX0sInNlbmRlciI6eyJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzY0NTA1MDk5P3Y9NCIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9ldmVudHN7L3ByaXZhY3l9IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vZ2lzdHN7L2dpc3RfaWR9IiwiZ3JhdmF0YXJfaWQiOiIiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9sYXVyZW50c2ltb24iLCJpZCI6NjQ1MDUwOTksImxvZ2luIjoibGF1cmVudHNpbW9uIiwibm9kZV9pZCI6Ik1EUTZWWE5sY2pZME5UQTFNRGs1Iiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9vcmdzIiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL3JlY2VpdmVkX2V2ZW50cyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL3JlcG9zIiwic2l0ZV9hZG1pbiI6ZmFsc2UsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vc3Vic2NyaXB0aW9ucyIsInR5cGUiOiJVc2VyIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24ifSwid29ya2Zsb3ciOiIuZ2l0aHViL3dvcmtmbG93cy9zbHNhLWdlbmVyaWMueW1sIn0sImdpdGh1Yl9oZWFkX3JlZiI6IiIsImdpdGh1Yl9yZWYiOiJyZWZzL2hlYWRzL21haW4iLCJnaXRodWJfcmVmX3R5cGUiOiJicmFuY2giLCJnaXRodWJfcmVwb3NpdG9yeV9pZCI6IjQ1NTc0MzM5NiIsImdpdGh1Yl9yZXBvc2l0b3J5X293bmVyIjoibGF1cmVudHNpbW9uIiwiZ2l0aHViX3JlcG9zaXRvcnlfb3duZXJfaWQiOiI2NDUwNTA5OSIsImdpdGh1Yl9ydW5fYXR0ZW1wdCI6IjEiLCJnaXRodWJfcnVuX2lkIjoiMjg2MjE3MTAwMyIsImdpdGh1Yl9ydW5fbnVtYmVyIjoiOCIsImdpdGh1Yl9zaGExIjoiNDY2YzExM2VkM2Q1YWM3NTY4MTc0ZDRiNmFkNmJiNmE4MGUxNTNiMiJ9fSwibWV0YWRhdGEiOnsiYnVpbGRJbnZvY2F0aW9uSUQiOiIyODYyMTcxMDAzLTEiLCJjb21wbGV0ZW5lc3MiOnsicGFyYW1ldGVycyI6dHJ1ZSwiZW52aXJvbm1lbnQiOmZhbHNlLCJtYXRlcmlhbHMiOmZhbHNlfSwicmVwcm9kdWNpYmxlIjpmYWxzZX0sIm1hdGVyaWFscyI6W3sidXJpIjoiZ2l0K2h0dHBzOi8vZ2l0aHViLmNvbS9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdEByZWZzL2hlYWRzL21haW4iLCJkaWdlc3QiOnsic2hhMSI6IjQ2NmMxMTNlZDNkNWFjNzU2ODE3NGQ0YjZhZDZiYjZhODBlMTUzYjIifX1dfX0=","signatures":[{"keyid":"","sig":"MEUCIHBtbLeV5WMsyLpPrZcxFU1wuEYHFUrJnzizsg17dL4hAiEAkoTLa49Vrf/g5mSaWY6Oab99YNvqByNgR773ikJXQ5I=","cert":"-----BEGIN CERTIFICATE-----\nMIIDVDCCAtqgAwIBAgITLCk1E2/wH2/mCjCYAovMeTTHnDAKBggqhkjOPQQDAzAq\nMRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxETAPBgNVBAMTCHNpZ3N0b3JlMB4XDTIy\nMDgxNTE3MDQxMloXDTIyMDgxNTE3MTQxMVowADBZMBMGByqGSM49AgEGCCqGSM49\nAwEHA0IABCw6VO5lksfxcjt+4cEbgBnLuPB2wDgj3I9UQZh45xW4KRYKM7/oSLfD\nP8QGLfgNkv3ZDwBZUDLbBk0hNoMq0bejggIHMIICAzAOBgNVHQ8BAf8EBAMCB4Aw\nEwYDVR0lBAwwCgYIKwYBBQUHAwMwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUyxfq\nz2Pr2VR+K9FdiLbOSxqIYgQwHwYDVR0jBBgwFoAUWMAeX5FFpWapesyQoZMi0CrF\nxfowgYQGA1UdEQEB/wR6MHiGdmh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1l\nd29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3IvLmdpdGh1Yi93b3JrZmxvd3MvZ2Vu\nZXJhdG9yX2dlbmVyaWNfc2xzYTMueW1sQHJlZnMvdGFncy92MS4yLjAwHwYKKwYB\nBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwLgYKKwYBBAGDvzABBQQgbGF1cmVu\ndHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QwJAYKKwYBBAGDvzABBAQWU0xTQSBn\nZW5lcmljIGdlbmVyYXRvcjAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4w\nOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJj\nb250ZW50LmNvbTA2BgorBgEEAYO/MAEDBCg0NjZjMTEzZWQzZDVhYzc1NjgxNzRk\nNGI2YWQ2YmI2YTgwZTE1M2IyMAoGCCqGSM49BAMDA2gAMGUCMQCx4+iMpFBvnFV9\nX6goGjQfdgliPcNa4cdd2K0nmrn79cOpslyzcJLAlL/qSYsGlocCMC/P/gL2B16i\nMp6YQZUiSMwzUohrr7V3nJsMPcLgETGyiZoR3UijZG74FobZ/+3pCw==\n-----END CERTIFICATE-----\n"}]} \ No newline at end of file +{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3Nsc2EuZGV2L3Byb3ZlbmFuY2UvdjAuMiIsInN1YmplY3QiOlt7Im5hbWUiOiJhcnRpZmFjdDEiLCJkaWdlc3QiOnsic2hhMjU2IjoiNDgyY2U4YzhmN2U4NjdkYTNhM2MwNWE5YWVlNjM3NzAzZTE3NDcwZWQxY2Y4ODJhOWU1YjQwNWU4ZjgyNjE5ZCJ9fSx7Im5hbWUiOiJhcnRpZmFjdDIiLCJkaWdlc3QiOnsic2hhMjU2IjoiODljZmM2OTU0ZTg4YjJmOTJhN2MyODc5ZDllYjA4NWM0MmYzYzcwNjVkMDEyYTUwNjZmNDUwZGJlNTliMmMwMCJ9fV0sInByZWRpY2F0ZSI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL3Nsc2EtZnJhbWV3b3JrL3Nsc2EtZ2l0aHViLWdlbmVyYXRvci8uZ2l0aHViL3dvcmtmbG93cy9nZW5lcmF0b3JfZ2VuZXJpY19zbHNhMy55bWxAcmVmcy90YWdzL3YxLjIuMiJ9LCJidWlsZFR5cGUiOiJodHRwczovL2dpdGh1Yi5jb20vc2xzYS1mcmFtZXdvcmsvc2xzYS1naXRodWItZ2VuZXJhdG9yL2dlbmVyaWNAdjEiLCJpbnZvY2F0aW9uIjp7ImNvbmZpZ1NvdXJjZSI6eyJ1cmkiOiJnaXQraHR0cHM6Ly9naXRodWIuY29tL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0QHJlZnMvaGVhZHMvbWFpbiIsImRpZ2VzdCI6eyJzaGExIjoiZTUyY2ExOWFlNDk0NGMzOWRjNjA2MGI1MTRhYzQ5NmU2MmE5YTA3NyJ9LCJlbnRyeVBvaW50IjoiLmdpdGh1Yi93b3JrZmxvd3Mvc2xzYS1nZW5lcmljLnltbCJ9LCJwYXJhbWV0ZXJzIjp7ImV2ZW50X2lucHV0cyI6eyJyZWxlYXNlX3ZlcnNpb24iOiIoZm9yIGV4YW1wbGUsIDAuMS4wKSIsInNvbWVfYm9vbCI6InRydWUiLCJzb21lX2ludGVnZXIiOiIxMjMifX0sImVudmlyb25tZW50Ijp7ImdpdGh1Yl9hY3RvciI6ImxhdXJlbnRzaW1vbiIsImdpdGh1Yl9hY3Rvcl9pZCI6IjY0NTA1MDk5IiwiZ2l0aHViX2Jhc2VfcmVmIjoiIiwiZ2l0aHViX2V2ZW50X25hbWUiOiJ3b3JrZmxvd19kaXNwYXRjaCIsImdpdGh1Yl9ldmVudF9wYXlsb2FkIjp7ImlucHV0cyI6eyJyZWxlYXNlX3ZlcnNpb24iOiIoZm9yIGV4YW1wbGUsIDAuMS4wKSIsInNvbWVfYm9vbCI6InRydWUiLCJzb21lX2ludGVnZXIiOiIxMjMifSwicmVmIjoicmVmcy9oZWFkcy9tYWluIiwicmVwb3NpdG9yeSI6eyJhbGxvd19mb3JraW5nIjp0cnVlLCJhcmNoaXZlX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3Qve2FyY2hpdmVfZm9ybWF0fXsvcmVmfSIsImFyY2hpdmVkIjpmYWxzZSwiYXNzaWduZWVzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvYXNzaWduZWVzey91c2VyfSIsImJsb2JzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvZ2l0L2Jsb2Jzey9zaGF9IiwiYnJhbmNoZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9icmFuY2hlc3svYnJhbmNofSIsImNsb25lX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC5naXQiLCJjb2xsYWJvcmF0b3JzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvY29sbGFib3JhdG9yc3svY29sbGFib3JhdG9yfSIsImNvbW1lbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvY29tbWVudHN7L251bWJlcn0iLCJjb21taXRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvY29tbWl0c3svc2hhfSIsImNvbXBhcmVfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9jb21wYXJlL3tiYXNlfS4uLntoZWFkfSIsImNvbnRlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvY29udGVudHMveytwYXRofSIsImNvbnRyaWJ1dG9yc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L2NvbnRyaWJ1dG9ycyIsImNyZWF0ZWRfYXQiOiIyMDIyLTAyLTA1VDAxOjEwOjQ2WiIsImRlZmF1bHRfYnJhbmNoIjoibWFpbiIsImRlcGxveW1lbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvZGVwbG95bWVudHMiLCJkZXNjcmlwdGlvbiI6IlRlc3QgZm9yIFNMU0EiLCJkaXNhYmxlZCI6ZmFsc2UsImRvd25sb2Fkc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L2Rvd25sb2FkcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L2V2ZW50cyIsImZvcmsiOmZhbHNlLCJmb3JrcyI6MSwiZm9ya3NfY291bnQiOjEsImZvcmtzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvZm9ya3MiLCJmdWxsX25hbWUiOiJsYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdCIsImdpdF9jb21taXRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvZ2l0L2NvbW1pdHN7L3NoYX0iLCJnaXRfcmVmc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L2dpdC9yZWZzey9zaGF9IiwiZ2l0X3RhZ3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9naXQvdGFnc3svc2hhfSIsImdpdF91cmwiOiJnaXQ6Ly9naXRodWIuY29tL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0LmdpdCIsImhhc19kaXNjdXNzaW9ucyI6ZmFsc2UsImhhc19kb3dubG9hZHMiOnRydWUsImhhc19pc3N1ZXMiOnRydWUsImhhc19wYWdlcyI6ZmFsc2UsImhhc19wcm9qZWN0cyI6dHJ1ZSwiaGFzX3dpa2kiOnRydWUsImhvbWVwYWdlIjpudWxsLCJob29rc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L2hvb2tzIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QiLCJpZCI6NDU1NzQzMzk2LCJpc190ZW1wbGF0ZSI6ZmFsc2UsImlzc3VlX2NvbW1lbnRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9pc3N1ZXMvY29tbWVudHN7L251bWJlcn0iLCJpc3N1ZV9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9pc3N1ZXMvZXZlbnRzey9udW1iZXJ9IiwiaXNzdWVzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvaXNzdWVzey9udW1iZXJ9Iiwia2V5c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L2tleXN7L2tleV9pZH0iLCJsYWJlbHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9sYWJlbHN7L25hbWV9IiwibGFuZ3VhZ2UiOiJTaGVsbCIsImxhbmd1YWdlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L2xhbmd1YWdlcyIsImxpY2Vuc2UiOnsia2V5IjoiYXBhY2hlLTIuMCIsIm5hbWUiOiJBcGFjaGUgTGljZW5zZSAyLjAiLCJub2RlX2lkIjoiTURjNlRHbGpaVzV6WlRJPSIsInNwZHhfaWQiOiJBcGFjaGUtMi4wIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9saWNlbnNlcy9hcGFjaGUtMi4wIn0sIm1lcmdlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L21lcmdlcyIsIm1pbGVzdG9uZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9taWxlc3RvbmVzey9udW1iZXJ9IiwibWlycm9yX3VybCI6bnVsbCwibmFtZSI6InNsc2Etb24tZ2l0aHViLXRlc3QiLCJub2RlX2lkIjoiUl9rZ0RPR3lvWHBBIiwibm90aWZpY2F0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L25vdGlmaWNhdGlvbnN7P3NpbmNlLGFsbCxwYXJ0aWNpcGF0aW5nfSIsIm9wZW5faXNzdWVzIjozNSwib3Blbl9pc3N1ZXNfY291bnQiOjM1LCJvd25lciI6eyJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzY0NTA1MDk5P3Y9NCIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9ldmVudHN7L3ByaXZhY3l9IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vZ2lzdHN7L2dpc3RfaWR9IiwiZ3JhdmF0YXJfaWQiOiIiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9sYXVyZW50c2ltb24iLCJpZCI6NjQ1MDUwOTksImxvZ2luIjoibGF1cmVudHNpbW9uIiwibm9kZV9pZCI6Ik1EUTZWWE5sY2pZME5UQTFNRGs1Iiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9vcmdzIiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL3JlY2VpdmVkX2V2ZW50cyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL3JlcG9zIiwic2l0ZV9hZG1pbiI6ZmFsc2UsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vc3Vic2NyaXB0aW9ucyIsInR5cGUiOiJVc2VyIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24ifSwicHJpdmF0ZSI6ZmFsc2UsInB1bGxzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvcHVsbHN7L251bWJlcn0iLCJwdXNoZWRfYXQiOiIyMDIzLTAxLTEyVDAxOjIxOjE2WiIsInJlbGVhc2VzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QvcmVsZWFzZXN7L2lkfSIsInNpemUiOjc5Mywic3NoX3VybCI6ImdpdEBnaXRodWIuY29tOmxhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0LmdpdCIsInN0YXJnYXplcnNfY291bnQiOjEsInN0YXJnYXplcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9zdGFyZ2F6ZXJzIiwic3RhdHVzZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9zdGF0dXNlcy97c2hhfSIsInN1YnNjcmliZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3Qvc3Vic2NyaWJlcnMiLCJzdWJzY3JpcHRpb25fdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9zdWJzY3JpcHRpb24iLCJzdm5fdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0IiwidGFnc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L3RhZ3MiLCJ0ZWFtc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0L3RlYW1zIiwidG9waWNzIjpbXSwidHJlZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9sYXVyZW50c2ltb24vc2xzYS1vbi1naXRodWItdGVzdC9naXQvdHJlZXN7L3NoYX0iLCJ1cGRhdGVkX2F0IjoiMjAyMi0xMi0xNVQwMDowNTowN1oiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2xhdXJlbnRzaW1vbi9zbHNhLW9uLWdpdGh1Yi10ZXN0IiwidmlzaWJpbGl0eSI6InB1YmxpYyIsIndhdGNoZXJzIjoxLCJ3YXRjaGVyc19jb3VudCI6MSwid2ViX2NvbW1pdF9zaWdub2ZmX3JlcXVpcmVkIjpmYWxzZX0sInNlbmRlciI6eyJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzY0NTA1MDk5P3Y9NCIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9ldmVudHN7L3ByaXZhY3l9IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vZ2lzdHN7L2dpc3RfaWR9IiwiZ3JhdmF0YXJfaWQiOiIiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9sYXVyZW50c2ltb24iLCJpZCI6NjQ1MDUwOTksImxvZ2luIjoibGF1cmVudHNpbW9uIiwibm9kZV9pZCI6Ik1EUTZWWE5sY2pZME5UQTFNRGs1Iiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9vcmdzIiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL3JlY2VpdmVkX2V2ZW50cyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL3JlcG9zIiwic2l0ZV9hZG1pbiI6ZmFsc2UsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vc3Vic2NyaXB0aW9ucyIsInR5cGUiOiJVc2VyIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24ifSwid29ya2Zsb3ciOiIuZ2l0aHViL3dvcmtmbG93cy9zbHNhLWdlbmVyaWMueW1sIn0sImdpdGh1Yl9oZWFkX3JlZiI6IiIsImdpdGh1Yl9yZWYiOiJyZWZzL2hlYWRzL21haW4iLCJnaXRodWJfcmVmX3R5cGUiOiJicmFuY2giLCJnaXRodWJfcmVwb3NpdG9yeV9pZCI6IjQ1NTc0MzM5NiIsImdpdGh1Yl9yZXBvc2l0b3J5X293bmVyIjoibGF1cmVudHNpbW9uIiwiZ2l0aHViX3JlcG9zaXRvcnlfb3duZXJfaWQiOiI2NDUwNTA5OSIsImdpdGh1Yl9ydW5fYXR0ZW1wdCI6IjEiLCJnaXRodWJfcnVuX2lkIjoiNDA2ODE0Njk2OSIsImdpdGh1Yl9ydW5fbnVtYmVyIjoiMzEiLCJnaXRodWJfc2hhMSI6ImU1MmNhMTlhZTQ5NDRjMzlkYzYwNjBiNTE0YWM0OTZlNjJhOWEwNzcifX0sIm1ldGFkYXRhIjp7ImJ1aWxkSW52b2NhdGlvbklEIjoiNDA2ODE0Njk2OS0xIiwiY29tcGxldGVuZXNzIjp7InBhcmFtZXRlcnMiOnRydWUsImVudmlyb25tZW50IjpmYWxzZSwibWF0ZXJpYWxzIjpmYWxzZX0sInJlcHJvZHVjaWJsZSI6ZmFsc2V9LCJtYXRlcmlhbHMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3RAcmVmcy9oZWFkcy9tYWluIiwiZGlnZXN0Ijp7InNoYTEiOiJlNTJjYTE5YWU0OTQ0YzM5ZGM2MDYwYjUxNGFjNDk2ZTYyYTlhMDc3In19XX19","signatures":[{"keyid":"","sig":"MEUCIBsBJFhzkF3XVM6i3FveAx+xKazwH7QxQ7inGPcYwTPUAiEA7PUmDh5UbicB5l3U5yjSkZaEhU+5IgH6OBL6AXcElls=","cert":"-----BEGIN CERTIFICATE-----\nMIID4TCCA2egAwIBAgIUEOQm534pg6c8+eGFQaPh0ZNCUKwwCgYIKoZIzj0EAwMw\nNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRl\ncm1lZGlhdGUwHhcNMjMwMjAxMTk1MjAyWhcNMjMwMjAxMjAwMjAyWjAAMFkwEwYH\nKoZIzj0CAQYIKoZIzj0DAQcDQgAEwYYs4FP82ZUlHB0LWyz+goyHT/C0Y5CGP1G3\nqyjFCyh+yuRZX3/jVrcYkAUOo9sLduzt8+ihJKZLcLX271FlkKOCAoYwggKCMA4G\nA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUY5R+\nVpAuzsiKsBHJEo5amKYFJDUwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4Y\nZD8wgYQGA1UdEQEB/wR6MHiGdmh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1l\nd29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3IvLmdpdGh1Yi93b3JrZmxvd3MvZ2Vu\nZXJhdG9yX2dlbmVyaWNfc2xzYTMueW1sQHJlZnMvdGFncy92MS4yLjIwOQYKKwYB\nBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50\nLmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/\nMAEDBChlNTJjYTE5YWU0OTQ0YzM5ZGM2MDYwYjUxNGFjNDk2ZTYyYTlhMDc3MCQG\nCisGAQQBg78wAQQEFlNMU0EgZ2VuZXJpYyBnZW5lcmF0b3IwLgYKKwYBBAGDvzAB\nBQQgbGF1cmVudHNpbW9uL3Nsc2Etb24tZ2l0aHViLXRlc3QwHQYKKwYBBAGDvzAB\nBgQPcmVmcy9oZWFkcy9tYWluMIGKBgorBgEEAdZ5AgQCBHwEegB4AHYA3T0wasbH\nETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGGDolFBQAABAMARzBFAiEA6cGu\nkRxhDhqbI0iwghWNRxAQ8kOaUlQ36PuWe5OP/iQCIDlY1zbsydaQfQw6Ze0rIuYf\nDcWqY3Zj5lxzL5/+BkQ4MAoGCCqGSM49BAMDA2gAMGUCMBW+khUhHHS9YWcQn4de\nnaIJidExU3Io35vwVYvU3x6GQZMYpasrI+bUBcbwd9cmFQIxAP+NuaGNVCwlqIUC\nbIFqT7wg2WcKkW2Re26wpk+BFvCqCnnltBvFEYrw1Ec0kFBIhA==\n-----END CERTIFICATE-----\n"}]} \ No newline at end of file diff --git a/errors/errors.go b/errors/errors.go index 582a6f1..eb4b644 100644 --- a/errors/errors.go +++ b/errors/errors.go @@ -31,4 +31,6 @@ var ( ErrorImageHash = errors.New("cannot retrieve sha256 of image") ErrorInvalidEncoding = errors.New("invalid encoding") ErrorInternal = errors.New("internal error") + ErrorInvalidRekorEntry = errors.New("invalid Rekor entry") + ErrorRekorPubKey = errors.New("error retrieving Rekor public keys") ) diff --git a/go.mod b/go.mod index addfa4f..87b4094 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/docker/go v1.5.1-1 github.com/go-openapi/runtime v0.25.0 github.com/google/go-cmp v0.5.9 - github.com/google/trillian v1.5.0 // indirect + github.com/google/trillian v1.5.1-0.20220819043421-0a389c4bb8d9 // indirect github.com/in-toto/in-toto-golang v0.5.0 github.com/secure-systems-lab/go-securesystemslib v0.4.0 github.com/sigstore/rekor v1.0.1 @@ -19,6 +19,7 @@ require ( github.com/google/go-containerregistry v0.13.0 github.com/gorilla/mux v1.8.0 github.com/sigstore/cosign v1.13.1 + github.com/sigstore/cosign/v2 v2.0.0-rc.1 github.com/slsa-framework/slsa-github-generator v1.4.0 github.com/spf13/cobra v1.6.1 github.com/transparency-dev/merkle v0.0.1 @@ -26,6 +27,14 @@ require ( sigs.k8s.io/release-utils v0.7.3 ) +require ( + filippo.io/edwards25519 v1.0.0 // indirect + github.com/digitorus/pkcs7 v0.0.0-20221212123742-001c36b64ec3 // indirect + github.com/digitorus/timestamp v0.0.0-20221019182153-ef3b63b79b31 // indirect + github.com/sigstore/timestamp-authority v0.2.1 // indirect + go.step.sm/crypto v0.23.1 // indirect +) + require ( bitbucket.org/creachadair/shell v0.0.7 // indirect cloud.google.com/go/compute v1.14.0 // indirect @@ -88,14 +97,14 @@ require ( github.com/cyberphone/json-canonicalization v0.0.0-20210823021906-dc406ceaf94b // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dimchansky/utfbom v1.1.1 // indirect - github.com/docker/cli v20.10.20+incompatible // indirect + github.com/docker/cli v20.10.21+incompatible // indirect github.com/docker/distribution v2.8.1+incompatible // indirect - github.com/docker/docker v20.10.20+incompatible // indirect + github.com/docker/docker v20.10.21+incompatible // indirect github.com/docker/docker-credential-helpers v0.7.0 // indirect - github.com/dustin/go-humanize v1.0.0 // indirect + github.com/dustin/go-humanize v1.0.1 // indirect github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1 // indirect github.com/envoyproxy/protoc-gen-validate v0.6.2 // indirect - github.com/fsnotify/fsnotify v1.5.4 // indirect + github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/fullstorydev/grpcurl v1.8.7 // indirect github.com/ghodss/yaml v1.0.0 // indirect github.com/go-chi/chi v4.1.2+incompatible // indirect @@ -112,7 +121,7 @@ require ( github.com/go-playground/locales v0.14.0 // indirect github.com/go-playground/universal-translator v0.18.0 // indirect github.com/go-playground/validator/v10 v10.11.1 // indirect - github.com/gogo/protobuf v1.3.2 // indirect + github.com/gogo/protobuf v1.3.2 github.com/golang-jwt/jwt v3.2.2+incompatible // indirect github.com/golang-jwt/jwt/v4 v4.4.2 // indirect github.com/golang/glog v1.0.0 // indirect @@ -121,7 +130,7 @@ require ( github.com/golang/protobuf v1.5.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/btree v1.1.2 // indirect - github.com/google/certificate-transparency-go v1.1.3 // indirect + github.com/google/certificate-transparency-go v1.1.4 // indirect github.com/google/go-github/v45 v45.2.0 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/google/gofuzz v1.2.0 // indirect @@ -145,10 +154,10 @@ require ( github.com/klauspost/compress v1.15.11 // indirect github.com/leodido/go-urn v1.2.1 // indirect github.com/letsencrypt/boulder v0.0.0-20221109233200-85aa52084eaf // indirect - github.com/magiconair/properties v1.8.6 // indirect + github.com/magiconair/properties v1.8.7 // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-runewidth v0.0.13 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/miekg/pkcs11 v1.1.1 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect @@ -161,10 +170,10 @@ require ( github.com/opencontainers/image-spec v1.1.0-rc2 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/pelletier/go-toml v1.9.5 // indirect - github.com/pelletier/go-toml/v2 v2.0.5 // indirect + github.com/pelletier/go-toml/v2 v2.0.6 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.13.0 // indirect + github.com/prometheus/client_golang v1.14.0 // indirect github.com/prometheus/client_model v0.3.0 // indirect github.com/prometheus/common v0.37.0 // indirect github.com/prometheus/procfs v0.8.0 // indirect @@ -173,27 +182,28 @@ require ( github.com/sassoftware/relic v0.0.0-20210427151427-dfb082b79b74 // indirect github.com/segmentio/ksuid v1.0.4 // indirect github.com/shibumi/go-pathspec v1.3.0 // indirect - github.com/sigstore/fulcio v0.6.0 // indirect + github.com/sigstore/fulcio v1.0.0 // indirect + github.com/sigstore/protobuf-specs v0.1.1-0.20230120212552-16541696de13 github.com/sirupsen/logrus v1.9.0 // indirect github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 // indirect github.com/soheilhy/cmux v0.1.5 // indirect - github.com/spf13/afero v1.8.2 // indirect + github.com/spf13/afero v1.9.3 // indirect github.com/spf13/cast v1.5.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.13.0 // indirect + github.com/spf13/viper v1.15.0 // indirect github.com/stretchr/testify v1.8.1 // indirect - github.com/subosito/gotenv v1.4.1 // indirect + github.com/subosito/gotenv v1.4.2 // indirect github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect github.com/tent/canonical-json-go v0.0.0-20130607151641-96e4ba3a7613 // indirect github.com/thales-e-security/pool v0.0.2 // indirect - github.com/theupdateframework/go-tuf v0.5.2-0.20220930112810-3890c1e7ace4 // indirect + github.com/theupdateframework/go-tuf v0.5.2 // indirect github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399 // indirect github.com/tjfoc/gmsm v1.3.2 // indirect github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 // indirect github.com/urfave/cli v1.22.7 // indirect github.com/vbatts/tar-split v0.11.2 // indirect - github.com/xanzy/go-gitlab v0.73.1 // indirect + github.com/xanzy/go-gitlab v0.79.0 // indirect github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 // indirect go.etcd.io/bbolt v1.3.6 // indirect go.etcd.io/etcd/api/v3 v3.6.0-alpha.0 // indirect @@ -218,7 +228,7 @@ require ( go.opentelemetry.io/proto/otlp v0.16.0 // indirect go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.8.0 // indirect - go.uber.org/zap v1.23.0 // indirect + go.uber.org/zap v1.24.0 // indirect golang.org/x/crypto v0.5.0 // indirect golang.org/x/exp v0.0.0-20220823124025-807a23277127 // indirect golang.org/x/net v0.5.0 // indirect @@ -227,12 +237,12 @@ require ( golang.org/x/sys v0.4.0 // indirect golang.org/x/term v0.4.0 // indirect golang.org/x/text v0.6.0 // indirect - golang.org/x/time v0.2.0 // indirect - golang.org/x/tools v0.1.12 // indirect + golang.org/x/time v0.3.0 // indirect + golang.org/x/tools v0.5.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef // indirect - google.golang.org/grpc v1.51.0 // indirect - google.golang.org/protobuf v1.28.1 // indirect + google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa // indirect + google.golang.org/grpc v1.52.0 // indirect + google.golang.org/protobuf v1.28.1 gopkg.in/cheggaaa/pb.v1 v1.0.28 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect @@ -243,7 +253,7 @@ require ( k8s.io/api v0.23.5 // indirect k8s.io/apimachinery v0.23.5 // indirect k8s.io/client-go v0.23.5 // indirect - k8s.io/klog/v2 v2.60.1-0.20220317184644-43cc75f9ae89 // indirect + k8s.io/klog/v2 v2.80.1 // indirect k8s.io/kube-openapi v0.0.0-20220124234850-424119656bbf // indirect k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 // indirect sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 // indirect diff --git a/go.sum b/go.sum index 5786102..ded3cce 100644 --- a/go.sum +++ b/go.sum @@ -94,6 +94,8 @@ contrib.go.opencensus.io/exporter/stackdriver v0.13.12/go.mod h1:mmxnWlrvrFdpiOH contrib.go.opencensus.io/integrations/ocsql v0.1.4/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE= contrib.go.opencensus.io/resource v0.1.1/go.mod h1:F361eGI91LCmW1I/Saf+rX0+OFcigGlFvXwEGEnkRLA= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek= +filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= github.com/AliyunContainerService/ack-ram-tool/pkg/credentials/alibabacloudsdkgo/helper v0.2.0 h1:8+4G8JaejP8Xa6W46PzJEwisNgBXMvFcz78N6zG/ARw= github.com/AliyunContainerService/ack-ram-tool/pkg/credentials/alibabacloudsdkgo/helper v0.2.0/go.mod h1:GgeIE+1be8Ivm7Sh4RgwI42aTtC9qrcj+Y9Y6CjJhJs= github.com/Azure/azure-amqp-common-go/v2 v2.1.0/go.mod h1:R8rea+gJRuJR6QxTir/XuEd+YuKoUiazDC/N96FiDEU= @@ -443,15 +445,24 @@ github.com/depcheck-test/depcheck-test v0.0.0-20220607135614-199033aaa936 h1:foG github.com/devigned/tab v0.1.1/go.mod h1:XG9mPq0dFghrYvoBF3xdRrJzSTX1b7IQrvaL9mzjeJY= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/digitorus/pkcs7 v0.0.0-20221019075359-21b8b40e6bb4/go.mod h1:SKVExuS+vpu2l9IoOc0RwqE7NYnb0JlcFHFnEJkVDzc= +github.com/digitorus/pkcs7 v0.0.0-20221212123742-001c36b64ec3 h1:rjCXeRWazGsbcBlExMcAW8H1LGdgJ9r619y7+aeKgds= +github.com/digitorus/pkcs7 v0.0.0-20221212123742-001c36b64ec3/go.mod h1:SKVExuS+vpu2l9IoOc0RwqE7NYnb0JlcFHFnEJkVDzc= +github.com/digitorus/timestamp v0.0.0-20221019182153-ef3b63b79b31 h1:3go0tpsBpbs9L/oysk3jDwRprlLRRkpSU7YxKlTfU+o= +github.com/digitorus/timestamp v0.0.0-20221019182153-ef3b63b79b31/go.mod h1:6V2ND8Yf8TOJ4h+9pmUlx8kXvNLBB2QplToVVZQ3rF0= github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= github.com/docker/cli v20.10.20+incompatible h1:lWQbHSHUFs7KraSN2jOJK7zbMS2jNCHI4mt4xUFUVQ4= github.com/docker/cli v20.10.20+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v20.10.21+incompatible h1:qVkgyYUnOLQ98LtXBrwd/duVqPT2X4SHndOuGsfwyhU= +github.com/docker/cli v20.10.21+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v20.10.20+incompatible h1:kH9tx6XO+359d+iAkumyKDc5Q1kOwPuAUaeri48nD6E= github.com/docker/docker v20.10.20+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.21+incompatible h1:UTLdBmHk3bEY+w8qeO5KttOhy6OmXWsl/FEet9Uswog= +github.com/docker/docker v20.10.21+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/docker-credential-helpers v0.7.0 h1:xtCHsjxogADNZcdv1pKUHXryefjlVRqWqIhk/uXJp0A= github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0= @@ -462,6 +473,7 @@ github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3 github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= @@ -505,6 +517,8 @@ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMo github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= +github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= +github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/fullstorydev/grpcurl v1.8.0/go.mod h1:Mn2jWbdMrQGJQ8UD62uNyMumT2acsZUCkZIqFxsQf1o= github.com/fullstorydev/grpcurl v1.8.1/go.mod h1:3BWhvHZwNO7iLXaQlojdg5NA6SxUDePli4ecpK1N7gw= github.com/fullstorydev/grpcurl v1.8.6/go.mod h1:WhP7fRQdhxz2TkL97u+TCb505sxfH78W1usyoB3tepw= @@ -695,6 +709,8 @@ github.com/google/certificate-transparency-go v1.1.2-0.20210422104406-9f33727a7a github.com/google/certificate-transparency-go v1.1.2-0.20210512142713-bed466244fa6/go.mod h1:aF2dp7Dh81mY8Y/zpzyXps4fQW5zQbDu2CxfpJB6NkI= github.com/google/certificate-transparency-go v1.1.3 h1:WEb38wcTe0EuAvg7USzgklnOjjnlMaahYO3faaqnCn8= github.com/google/certificate-transparency-go v1.1.3/go.mod h1:S9FT/VzOUzhOGG0iLrzDs+f5Ml/zm7IYY/w+IlHz01M= +github.com/google/certificate-transparency-go v1.1.4 h1:hCyXHDbtqlr/lMXU0D4WgbalXL0Zk4dSWWMbPV8VrqY= +github.com/google/certificate-transparency-go v1.1.4/go.mod h1:D6lvbfwckhNrbM9WVl1EVeMOyzC19mpIjMOI4nxBHtQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -760,6 +776,8 @@ github.com/google/trillian v1.3.14-0.20210511103300-67b5f349eefa/go.mod h1:s4jO3 github.com/google/trillian v1.4.1/go.mod h1:43IVCsGXxP5mZK9yFkTQdQrMQm/wryNBV2GNEdqzVz8= github.com/google/trillian v1.5.0 h1:I5pIN18bKlXtlj1Tk919rQ3mWBU2BzNNR6JhLISGMB4= github.com/google/trillian v1.5.0/go.mod h1:2/gAIc+G1MUcErOPc+cSwHAQHZlGy+RYHjVGnhUQ3e8= +github.com/google/trillian v1.5.1-0.20220819043421-0a389c4bb8d9 h1:GFmzYtwUMi1S2mjLxfrJ/CZ9gWDG+zeLtZByg/QEBkk= +github.com/google/trillian v1.5.1-0.20220819043421-0a389c4bb8d9/go.mod h1:vywkS3p2SgNmPL7oAWqU5PiiknzRMp+ol3a19jfY2PQ= github.com/google/uuid v0.0.0-20161128191214-064e2069ce9c/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -977,6 +995,8 @@ github.com/magiconair/properties v1.8.4/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPK github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= +github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= @@ -1007,6 +1027,8 @@ github.com/mattn/go-zglob v0.0.1/go.mod h1:9fxibJccNxU2cnpIKLRRFA7zX7qhkJIQWBb44 github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= +github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/pkcs11 v1.0.2/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= @@ -1124,6 +1146,8 @@ github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3v github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml/v2 v2.0.5 h1:ipoSadvV8oGUjnUbMub59IDPPwfxF694nG/jwbMiyQg= github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= +github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= +github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= @@ -1154,6 +1178,7 @@ github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqr github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/client_golang v1.13.0 h1:b71QUfeo5M8gq2+evJdTPfZhYMAU0uKPkyPJ7TPsloU= github.com/prometheus/client_golang v1.13.0/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ= +github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -1232,8 +1257,16 @@ github.com/shibumi/go-pathspec v1.3.0/go.mod h1:Xutfslp817l2I1cZvgcfeMQJG5QnU2lh github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sigstore/cosign v1.13.1 h1:+5oF8jisEcDw2TuXxCADC1u5//HfdnJhGbpv9Isiwu4= github.com/sigstore/cosign v1.13.1/go.mod h1:PlfJODkovUOKsLrGI7Su57Ie/Eb/Ks7hRHw3tn5hQS4= +github.com/sigstore/cosign/v2 v2.0.0-rc.1 h1:ppOhIqG8xFtTtNwy/Zme9Yum+PIvES14KmsRuUPfkls= +github.com/sigstore/cosign/v2 v2.0.0-rc.1/go.mod h1:XqEFZWibYcygXD+mqXWSbj90fi1vMR9EFFoxiD8wauM= github.com/sigstore/fulcio v0.6.0 h1:YNfnGm9EjYPlzHiPDcIVhslYj846jkPtHQH+FTKNncw= github.com/sigstore/fulcio v0.6.0/go.mod h1:lwxzHDYYQ0lVVWqaj68ZQNkcP847aoF7AIa7ra9rRqA= +github.com/sigstore/fulcio v1.0.0 h1:hBZW6qg9GXTtCX8jOg1hmyjYLrmsEKZGeMwAbW3XNEg= +github.com/sigstore/fulcio v1.0.0/go.mod h1:j4MzLxX/Be0rHYh3JF2dgMorkWGzEMHBqIHwFU8I/Rw= +github.com/sigstore/protobuf-specs v0.1.0 h1:X0l/E2C2c79t/rI/lmSu8WAoKWsQtMqDzAMiDdEMGr8= +github.com/sigstore/protobuf-specs v0.1.0/go.mod h1:5shUCxf82hGnjUEFVWiktcxwzdtn6EfeeJssxZ5Q5HE= +github.com/sigstore/protobuf-specs v0.1.1-0.20230120212552-16541696de13 h1:8i4zt3kTZuUF06bRTOvDfSfiSb9Yo69F9XLpU53ccys= +github.com/sigstore/protobuf-specs v0.1.1-0.20230120212552-16541696de13/go.mod h1:5shUCxf82hGnjUEFVWiktcxwzdtn6EfeeJssxZ5Q5HE= github.com/sigstore/rekor v1.0.0 h1:64IeShnl8n862APKu4MyDObAOjwNL//je6okig4uQw8= github.com/sigstore/rekor v1.0.0/go.mod h1:8FPG2wHngSA4Bo8tgOn0C/PIDDNi4iiNePhAiyJlv5Q= github.com/sigstore/rekor v1.0.1 h1:rcESXSNkAPRWFYZel9rarspdvneET60F2ngNkadi89c= @@ -1244,6 +1277,8 @@ github.com/sigstore/sigstore v1.5.0 h1:NqstQ6SwwhQsp6Ll0wgk/d9g5MlfmEppo14aquUjJ github.com/sigstore/sigstore v1.5.0/go.mod h1:fRAaZ9xXh7ZQ0GJqZdpmNJ3pemuHBu2PgIAngmzIFSI= github.com/sigstore/sigstore v1.5.1 h1:iUou0QJW8eQKMUkTXbFyof9ZOblDtfaW2Sn2+QI8Tcs= github.com/sigstore/sigstore v1.5.1/go.mod h1:3i6UTWVNtFwOtbgG63FZZNID4vO9KcO8AszIJlaNI8k= +github.com/sigstore/timestamp-authority v0.2.1 h1:uqyamGxSXMEDt+e4t5XhR8JdJMeNBEj9V2Pol9BhuqY= +github.com/sigstore/timestamp-authority v0.2.1/go.mod h1:i6zDth6bXY/ZaMzT5Hjd3ZuKtX85TW8fNoNWn8TxAc0= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= @@ -1277,6 +1312,8 @@ github.com/spf13/afero v1.4.1/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/afero v1.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo= github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= +github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= +github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= @@ -1306,6 +1343,8 @@ github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5q github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/spf13/viper v1.13.0 h1:BWSJ/M+f+3nmdz9bxB+bWX28kkALN2ok11D0rSo8EJU= github.com/spf13/viper v1.13.0/go.mod h1:Icm2xNL3/8uyh/wFuB1jI7TiTNKp8632Nwegu+zgdYw= +github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU= +github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA= github.com/src-d/gcfg v1.4.0/go.mod h1:p/UMsR43ujA89BJY9duynAwIpvqEujIH/jFlfL7jWoI= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= @@ -1333,6 +1372,8 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= +github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= +github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d h1:vfofYNRScrDdvS342BElfbETmL1Aiz3i2t0zfRj16Hs= github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d/go.mod h1:RRCYJbIwD5jmqPI9XoAFR0OcDxqUctll6zUj/+B4S48= github.com/tent/canonical-json-go v0.0.0-20130607151641-96e4ba3a7613 h1:iGnD/q9160NWqKZZ5vY4p0dMiYMRknzctfSkqA4nBDw= @@ -1341,6 +1382,8 @@ github.com/thales-e-security/pool v0.0.2 h1:RAPs4q2EbWsTit6tpzuvTFlgFRJ3S8Evf5gt github.com/thales-e-security/pool v0.0.2/go.mod h1:qtpMm2+thHtqhLzTwgDBj/OuNnMpupY8mv0Phz0gjhU= github.com/theupdateframework/go-tuf v0.5.2-0.20220930112810-3890c1e7ace4 h1:1i/Afw3rmaR1gF3sfVkG2X6ldkikQwA9zY380LrR5YI= github.com/theupdateframework/go-tuf v0.5.2-0.20220930112810-3890c1e7ace4/go.mod h1:vAqWV3zEs89byeFsAYoh/Q14vJTgJkHwnnRCWBBBINY= +github.com/theupdateframework/go-tuf v0.5.2 h1:habfDzTmpbzBLIFGWa2ZpVhYvFBoK0C1onC3a4zuPRA= +github.com/theupdateframework/go-tuf v0.5.2/go.mod h1:SyMV5kg5n4uEclsyxXJZI2UxPFJNDc4Y+r7wv+MlvTA= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs= github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399 h1:e/5i7d4oYZ+C1wj2THlRK+oAhjeS/TRQwMfkIuet3w0= @@ -1375,6 +1418,8 @@ github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAh github.com/xanzy/go-gitlab v0.31.0/go.mod h1:sPLojNBn68fMUWSxIJtdVVIP8uSBYqesTfDUseX11Ug= github.com/xanzy/go-gitlab v0.73.1 h1:UMagqUZLJdjss1SovIC+kJCH4k2AZWXl58gJd38Y/hI= github.com/xanzy/go-gitlab v0.73.1/go.mod h1:d/a0vswScO7Agg1CZNz15Ic6SSvBG9vfw8egL99t4kA= +github.com/xanzy/go-gitlab v0.79.0 h1:mIxGAHJbGkM/eWspvUXA6MgnYKYTFPDcunz2/uEJg1Y= +github.com/xanzy/go-gitlab v0.79.0/go.mod h1:DlByVTSXhPsJMYL6+cm8e8fTJjeBmhrXdC/yvkKKt6M= github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4= github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= @@ -1501,6 +1546,8 @@ go.opentelemetry.io/otel/trace v1.11.1/go.mod h1:f/Q9G7vzk5u91PhbmKbg1Qn0rzH1LJ4 go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.opentelemetry.io/proto/otlp v0.16.0 h1:WHzDWdXUvbc5bG2ObdrGfaNpQz7ft7QN9HHmJlbiB1E= go.opentelemetry.io/proto/otlp v0.16.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.step.sm/crypto v0.23.1 h1:Yr9vlzjGqIKVi88KcpZtEcNTcpDkt1nVR7tumW4h+CU= +go.step.sm/crypto v0.23.1/go.mod h1:djAhDYpNAuWF2LkzbCVcf0JDy1UWgrxR3eQ7pQ8EQ/w= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= @@ -1527,6 +1574,8 @@ go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= go.uber.org/zap v1.23.0 h1:OjGQ5KQDEUawVHxNwQgPpiypGHOxo2mNZsOqTak4fFY= go.uber.org/zap v1.23.0/go.mod h1:D+nX8jyLsMHMYrln8A0rJjFt/T/9/bGgIhAqxv5URuY= +go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= +go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= gocloud.dev v0.19.0/go.mod h1:SmKwiR8YwIMMJvQBKLsC3fHNyMwXLw3PMDO+VVteJMI= golang.org/x/crypto v0.0.0-20180501155221-613d6eafa307/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -1851,6 +1900,7 @@ golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= @@ -1894,6 +1944,8 @@ golang.org/x/time v0.0.0-20220922220347-f3bd1da661af h1:Yx9k8YCG3dvF87UAn2tu2HQL golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.2.0 h1:52I/1L54xyEQAYdtcSuxtiT84KGYTBGXwayxmIpNJhE= golang.org/x/time v0.2.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= +golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1975,6 +2027,7 @@ golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.5.0/go.mod h1:N+Kgy78s5I24c24dU8OfWNEotWjutIs8SnJvn5IDq+k= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -2151,6 +2204,8 @@ google.golang.org/genproto v0.0.0-20221206210731-b1a01be3a5f6 h1:AGXp12e/9rItf6/ google.golang.org/genproto v0.0.0-20221206210731-b1a01be3a5f6/go.mod h1:1dOng4TWOomJrDGhpXjfCD35wQC6jnC7HpRmOFRqEV0= google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef h1:uQ2vjV/sHTsWSqdKeLqmwitzgvjMl7o4IdtHwUDXSJY= google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa h1:qQPhfbPO23fwm/9lQr91L1u62Zo6cm+zI+slZT+uf+o= +google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= @@ -2195,6 +2250,8 @@ google.golang.org/grpc v1.50.1 h1:DS/BukOZWp8s6p4Dt/tOaJaTQyPyOoCcrjroHuCeLzY= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.51.0 h1:E1eGv1FTqoLIdnBCZufiSHgKjlqG6fKFf6pPWtMTh8U= google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= +google.golang.org/grpc v1.52.0 h1:kd48UiU7EHsV4rnLyOJRuP/Il/UHE7gdDAQ+SZI7nZk= +google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.2.0/go.mod h1:DNq5QpG7LJqD2AamLZ7zvKE0DEpVl2BSEVjFycAAjRY= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= @@ -2285,6 +2342,8 @@ k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1-0.20220317184644-43cc75f9ae89 h1:bUNlsw5yb353zbKMj8srOr6V2Ajhz1VkTKonP1L8r2o= k8s.io/klog/v2 v2.60.1-0.20220317184644-43cc75f9ae89/go.mod h1:N3kgBtsFxMb4nQ0eBDgbHEt/dtxBuTkSFQ+7K5OUoz4= +k8s.io/klog/v2 v2.80.1 h1:atnLQ121W371wYYFawwYx1aEY2eUfs4l3J72wtgAwV4= +k8s.io/klog/v2 v2.80.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= k8s.io/kube-openapi v0.0.0-20220124234850-424119656bbf h1:M9XBsiMslw2lb2ZzglC0TOkBPK5NQi0/noUrdnoFwUg= k8s.io/kube-openapi v0.0.0-20220124234850-424119656bbf/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= diff --git a/verifiers/internal/gha/builder.go b/verifiers/internal/gha/builder.go index 645da8f..f390058 100644 --- a/verifiers/internal/gha/builder.go +++ b/verifiers/internal/gha/builder.go @@ -17,6 +17,9 @@ var ( trustedBuilderRepository = "slsa-framework/slsa-github-generator" e2eTestRepository = "slsa-framework/example-package" certOidcIssuer = "https://token.actions.githubusercontent.com" + // This is used in cosign's CheckOpts for validating the certificate. We + // do specific builder verification after this. + certSubjectRegexp = "https://github.com/*" ) var defaultArtifactTrustedReusableWorkflows = map[string]bool{ diff --git a/verifiers/internal/gha/bundle.go b/verifiers/internal/gha/bundle.go new file mode 100644 index 0000000..11d64e8 --- /dev/null +++ b/verifiers/internal/gha/bundle.go @@ -0,0 +1,187 @@ +package gha + +import ( + "context" + "crypto/x509" + "encoding/base64" + "encoding/hex" + "encoding/json" + "errors" + "fmt" + + dsselib "github.com/secure-systems-lab/go-securesystemslib/dsse" + bundle_v1 "github.com/sigstore/protobuf-specs/gen/pb-go/bundle/v1" + v1 "github.com/sigstore/protobuf-specs/gen/pb-go/rekor/v1" + "github.com/sigstore/rekor/pkg/generated/models" + "google.golang.org/protobuf/encoding/protojson" +) + +// Bundle specific errors. +var ( + ErrorMismatchSignature = errors.New("bundle tlog entry does not match signature") + ErrorUnexpectedEntryType = errors.New("unexpected tlog entry type") + ErrorMissingCertInBundle = errors.New("missing signing certificate in bundle") + ErrorUnexpectedBundleContent = errors.New("expected DSSE bundle content") +) + +// verifyRekorEntryFromBundle extracts and verifies the Rekor entry from the Sigstore +// bundle verification material, validating the SignedEntryTimestamp. +func verifyRekorEntryFromBundle(ctx context.Context, tlogEntry *v1.TransparencyLogEntry, + trustedRoot *TrustedRoot) ( + *models.LogEntryAnon, error) { + canonicalBody := tlogEntry.GetCanonicalizedBody() + logID := hex.EncodeToString(tlogEntry.GetLogId().GetKeyId()) + rekorEntry := &models.LogEntryAnon{ + Body: canonicalBody, + IntegratedTime: &tlogEntry.IntegratedTime, + LogIndex: &tlogEntry.LogIndex, + LogID: &logID, + Verification: &models.LogEntryAnonVerification{ + SignedEntryTimestamp: tlogEntry.GetInclusionPromise().GetSignedEntryTimestamp(), + }, + } + + // Verify tlog entry. + if _, err := verifyTlogEntry(ctx, *rekorEntry, false, + trustedRoot.RekorPubKeys); err != nil { + return nil, err + } + + return rekorEntry, nil +} + +// getEnvelopeFromBundle extracts the DSSE envelope from the Sigstore bundle. +func getEnvelopeFromBundle(bundle *bundle_v1.Bundle) (*dsselib.Envelope, error) { + dsseEnvelope := bundle.GetDsseEnvelope() + if dsseEnvelope == nil { + return nil, ErrorUnexpectedBundleContent + } + env := &dsselib.Envelope{ + PayloadType: dsseEnvelope.GetPayloadType(), + Payload: base64.StdEncoding.EncodeToString(dsseEnvelope.GetPayload()), + } + for _, sig := range dsseEnvelope.GetSignatures() { + env.Signatures = append(env.Signatures, dsselib.Signature{ + KeyID: sig.GetKeyid(), + Sig: base64.StdEncoding.EncodeToString(sig.GetSig()), + }) + } + return env, nil +} + +// getLeafCertFromBundle extracts the signing cert from the Sigstore bundle. +func getLeafCertFromBundle(bundle *bundle_v1.Bundle) (*x509.Certificate, error) { + certChain := bundle.GetVerificationMaterial().GetX509CertificateChain().GetCertificates() + if len(certChain) == 0 { + return nil, ErrorMissingCertInBundle + } + + // The first certificate is the leaf cert: see + // https://github.com/sigstore/protobuf-specs/blob/16541696de137c6281d66d075a4924d9bbd181ff/protos/sigstore_common.proto#L170 + certBytes := certChain[0].GetRawBytes() + return x509.ParseCertificate(certBytes) +} + +// matchRekorEntryWithEnvelope ensures that the log entry references the given +// DSSE envelope. It MUST verify that the signatures match to ensure that the +// tlog timestamp attests to the signature creation time. +func matchRekorEntryWithEnvelope(tlogEntry *v1.TransparencyLogEntry, env *dsselib.Envelope) error { + kindVersion := tlogEntry.GetKindVersion() + if kindVersion.Kind != "intoto" && + kindVersion.Version != "0.0.2" { + return fmt.Errorf("%w: expected intoto:0.0.2, got %s:%s", ErrorUnexpectedEntryType, + kindVersion.Kind, kindVersion.Version) + } + + canonicalBody := tlogEntry.GetCanonicalizedBody() + var toto models.Intoto + var intotoObj models.IntotoV002Schema + if err := json.Unmarshal(canonicalBody, &toto); err != nil { + return fmt.Errorf("%w: %s", ErrorUnexpectedEntryType, err) + } + specMarshal, err := json.Marshal(toto.Spec) + if err != nil { + return fmt.Errorf("%w: %s", ErrorUnexpectedEntryType, err) + } + if err := json.Unmarshal(specMarshal, &intotoObj); err != nil { + return fmt.Errorf("%w: %s", ErrorUnexpectedEntryType, err) + } + + if len(env.Signatures) != len(intotoObj.Content.Envelope.Signatures) { + return fmt.Errorf("expected %d sigs in canonical body, got %d", + len(env.Signatures), + len(intotoObj.Content.Envelope.Signatures)) + } + + for _, sig := range env.Signatures { + // The signature in the canonical body is double base64-encoded. + encodedEnvSig := base64.StdEncoding.EncodeToString( + []byte(sig.Sig)) + var matchCanonical bool + for _, canonicalSig := range intotoObj.Content.Envelope.Signatures { + if canonicalSig.Sig.String() == encodedEnvSig { + matchCanonical = true + } + } + if !matchCanonical { + return ErrorMismatchSignature + } + } + return nil +} + +// VerifyProvenanceBundle verifies the DSSE envelope using the offline Rekor bundle and +// returns the verified DSSE envelope containing the provenance +// and the signing certificate given the provenance. +func VerifyProvenanceBundle(ctx context.Context, bundleBytes []byte, + trustedRoot *TrustedRoot) ( + *SignedAttestation, error) { + // Extract the SigningCert, Envelope, and RekorEntry from the bundle. + var bundle bundle_v1.Bundle + if err := protojson.Unmarshal(bundleBytes, &bundle); err != nil { + return nil, fmt.Errorf("unmarshaling bundle: %w", err) + } + + // We only expect one TLOG entry. If this changes in the future, we must iterate + // for a matching one. + if bundle.GetVerificationMaterial() == nil || + len(bundle.GetVerificationMaterial().GetTlogEntries()) == 0 { + return nil, fmt.Errorf("bundle missing offline tlog verification material %d", len(bundle.GetVerificationMaterial().GetTlogEntries())) + } + + // Verify tlog entry. + tlogEntry := bundle.GetVerificationMaterial().GetTlogEntries()[0] + rekorEntry, err := verifyRekorEntryFromBundle(ctx, tlogEntry, trustedRoot) + if err != nil { + return nil, err + } + + // Extract DSSE envelope. + env, err := getEnvelopeFromBundle(&bundle) + if err != nil { + return nil, err + } + + // Match tlog entry signature with the envelope. + if err := matchRekorEntryWithEnvelope(tlogEntry, env); err != nil { + return nil, fmt.Errorf("matching bundle entry with content: %w", err) + } + + // Get certificate from bundle. + cert, err := getLeafCertFromBundle(&bundle) + if err != nil { + return nil, err + } + + proposedSignedAtt := &SignedAttestation{ + SigningCert: cert, + Envelope: env, + RekorEntry: rekorEntry, + } + + if err := verifySignedAttestation(proposedSignedAtt, trustedRoot); err != nil { + return nil, err + } + + return proposedSignedAtt, nil +} diff --git a/verifiers/internal/gha/bundle_test.go b/verifiers/internal/gha/bundle_test.go new file mode 100644 index 0000000..a6fc492 --- /dev/null +++ b/verifiers/internal/gha/bundle_test.go @@ -0,0 +1,77 @@ +package gha + +import ( + "context" + "fmt" + "os" + "testing" + + "github.com/google/go-cmp/cmp" + serrors "github.com/slsa-framework/slsa-verifier/v2/errors" +) + +func Test_verifyBundle(t *testing.T) { + t.Parallel() + ctx := context.Background() + + trustedRoot, err := GetTrustedRoot(ctx) + if err != nil { + t.Fatal(err) + } + tests := []struct { + name string + path string + expected error + }{ + { + name: "valid bundle", + path: "./testdata/bundle/valid.intoto.sigstore", + }, + { + name: "mismatch rekor entry", + path: "./testdata/bundle/mismatch-tlog.intoto.sigstore", + expected: ErrorMismatchSignature, + }, + + { + name: "invalid Rekor SET", + path: "./testdata/bundle/invalid-set.intoto.sigstore", + expected: serrors.ErrorInvalidRekorEntry, + }, + /* we hit the SET error before we can hit the invalid DSSE sig + { + name: "invalid DSSE sig", + path: "./testdata/bundle/invalid-dsse-sig.intoto.sigstore", + }, + { + name: "invalid expiry with Rekor timestamp", + path: "./testdata/bundle/invalid-expiry-tlog.intoto.sigstore", + }, + { + name: "invalid no DSSE", + path: "./testdata/bundle/invalid-no-dsse.intoto.sigstore", + }, + { + name: "invalid no certificate", + path: "./testdata/bundle/invalid-no-cert.intoto.sigstore", + }, + */ + } + for _, tt := range tests { + tt := tt // Re-initializing variable so it is not changed while executing the closure below + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + + content, err := os.ReadFile(tt.path) + if err != nil { + panic(fmt.Errorf("os.ReadFile: %w", err)) + } + + _, err = VerifyProvenanceBundle(ctx, content, trustedRoot) + + if !errCmp(err, tt.expected) { + t.Errorf(cmp.Diff(err, tt.expected)) + } + }) + } +} diff --git a/verifiers/internal/gha/provenance.go b/verifiers/internal/gha/provenance.go index cb94db5..b3fcc03 100644 --- a/verifiers/internal/gha/provenance.go +++ b/verifiers/internal/gha/provenance.go @@ -163,21 +163,29 @@ func verifySha256Digest(prov *intoto.ProvenanceStatement, expectedHash string) e // VerifyProvenanceSignature returns the verified DSSE envelope containing the provenance // and the signing certificate given the provenance and artifact hash. -func VerifyProvenanceSignature(ctx context.Context, rClient *client.Rekor, +func VerifyProvenanceSignature(ctx context.Context, trustedRoot *TrustedRoot, + rClient *client.Rekor, provenance []byte, artifactHash string) ( *SignedAttestation, error) { + // Collect trusted root material for verification (Rekor pubkeys, SCT pubkeys, + // Fulcio root certificates). + _, err := GetTrustedRoot(ctx) + if err != nil { + return nil, err + } + // There are two cases, either we have an embedded certificate, or we need // to use the Redis index for searching by artifact SHA. if hasCertInEnvelope(provenance) { // Get Rekor entries corresponding to provenance - return GetValidSignedAttestationWithCert(rClient, provenance) + return GetValidSignedAttestationWithCert(rClient, provenance, trustedRoot) } // Fallback on using the redis search index to get matching UUIDs. fmt.Fprintf(os.Stderr, "No certificate provided, trying Redis search index to find entries by subject digest\n") // Verify the provenance and return the signing certificate. - signedAttestation, err := SearchValidSignedAttestation(ctx, artifactHash, provenance, rClient) + signedAttestation, err := SearchValidSignedAttestation(ctx, artifactHash, provenance, rClient, trustedRoot) if err != nil { return nil, err } diff --git a/verifiers/internal/gha/rekor.go b/verifiers/internal/gha/rekor.go index b442f58..a356245 100644 --- a/verifiers/internal/gha/rekor.go +++ b/verifiers/internal/gha/rekor.go @@ -4,6 +4,7 @@ import ( "bytes" "context" "crypto" + "crypto/ecdsa" "crypto/x509" "encoding/base64" "errors" @@ -16,8 +17,7 @@ import ( "github.com/go-openapi/runtime" "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" - "github.com/sigstore/cosign/cmd/cosign/cli/fulcio" - "github.com/sigstore/cosign/pkg/cosign" + "github.com/sigstore/cosign/v2/pkg/cosign" "github.com/sigstore/rekor/pkg/generated/client" "github.com/sigstore/rekor/pkg/generated/client/entries" "github.com/sigstore/rekor/pkg/generated/client/index" @@ -38,7 +38,8 @@ const ( defaultRekorAddr = "https://rekor.sigstore.dev" ) -func verifyTlogEntryByUUID(ctx context.Context, rekorClient *client.Rekor, entryUUID string) ( +func verifyTlogEntryByUUID(ctx context.Context, rekorClient *client.Rekor, + entryUUID string, trustedRoot *TrustedRoot) ( *models.LogEntryAnon, error) { params := entries.NewGetLogEntryByUUIDParamsWithContext(ctx) params.EntryUUID = entryUUID @@ -67,29 +68,36 @@ func verifyTlogEntryByUUID(ctx context.Context, rekorClient *client.Rekor, entry return nil, errors.New("expected matching UUID") } // Validate the entry response. - return verifyTlogEntry(ctx, rekorClient, entry) + return verifyTlogEntry(ctx, entry, true, trustedRoot.RekorPubKeys) } return nil, serrors.ErrorRekorSearch } -func verifyTlogEntry(ctx context.Context, rekorClient *client.Rekor, e models.LogEntryAnon) ( +// verifyTlogEntry verifies a Rekor entry content against a trusted Rekor key. +// Verification includes verifying the SignedEntryTimestamp and, if verifyInclusion +// is true, the inclusion proof along with the signed tree head. +func verifyTlogEntry(ctx context.Context, e models.LogEntryAnon, + verifyInclusion bool, rekorKeys *cosign.TrustedTransparencyLogPubKeys) ( *models.LogEntryAnon, error) { // Verify the root hash against the current Signed Entry Tree Head - pubs, err := cosign.GetRekorPubs(ctx, nil) + verifier, err := signature.LoadECDSAVerifier(rekorKeys.Keys[*e.LogID].PubKey.(*ecdsa.PublicKey), + crypto.SHA256) if err != nil { - return nil, fmt.Errorf("%w: %s", err, "unable to fetch Rekor public keys from TUF repository") + return nil, fmt.Errorf("%w: %s", serrors.ErrorRekorPubKey, err) } - verifier, err := signature.LoadECDSAVerifier(pubs[*e.LogID].PubKey, crypto.SHA256) - if err != nil { - return nil, fmt.Errorf("%w: %s", err, "unable to load a ECDSA verifier") + if verifyInclusion { + // This function verifies the inclusion proof, the signature on the root hash of the + // inclusion proof, and the SignedEntryTimestamp. + err = rverify.VerifyLogEntry(ctx, &e, verifier) + } else { + // This function verifies the SignedEntryTimestamp + err = rverify.VerifySignedEntryTimestamp(ctx, &e, verifier) } - // This function verifies the inclusion proof, the signature on the root hash of the - // inclusion proof, and the SignedEntryTimestamp. - if err := rverify.VerifyLogEntry(ctx, &e, verifier); err != nil { - return nil, fmt.Errorf("%w: %s", err, "unable to verify a log entry") + if err != nil { + return nil, fmt.Errorf("%w: %s", serrors.ErrorInvalidRekorEntry, err) } return &e, nil @@ -174,7 +182,8 @@ func getUUIDsByArtifactDigest(rClient *client.Rekor, artifactHash string) ([]str // GetValidSignedAttestationWithCert finds and validates the matching entry UUIDs with // the full intoto attestation. // The attestation generated by the slsa-github-generator libraries contain a signing certificate. -func GetValidSignedAttestationWithCert(rClient *client.Rekor, provenance []byte) (*SignedAttestation, error) { +func GetValidSignedAttestationWithCert(rClient *client.Rekor, + provenance []byte, trustedRoot *TrustedRoot) (*SignedAttestation, error) { // Use intoto attestation to find rekor entry UUIDs. params := entries.NewSearchLogQueryParams() searchLogQuery := models.SearchLogQuery{} @@ -206,7 +215,8 @@ func GetValidSignedAttestationWithCert(rClient *client.Rekor, provenance []byte) logEntry := resp.Payload[0] var rekorEntry models.LogEntryAnon for uuid, e := range logEntry { - if _, err := verifyTlogEntry(context.Background(), rClient, e); err != nil { + if _, err := verifyTlogEntry(context.Background(), e, true, + trustedRoot.RekorPubKeys); err != nil { return nil, fmt.Errorf("error verifying tlog entry: %w", err) } rekorEntry = e @@ -233,7 +243,7 @@ func GetValidSignedAttestationWithCert(rClient *client.Rekor, provenance []byte) RekorEntry: &rekorEntry, } - if err := verifySignedAttestation(proposedSignedAtt); err != nil { + if err := verifySignedAttestation(proposedSignedAtt, trustedRoot); err != nil { return nil, err } @@ -243,7 +253,7 @@ func GetValidSignedAttestationWithCert(rClient *client.Rekor, provenance []byte) // SearchValidSignedAttestation searches for a valid signing certificate using the Rekor // Redis search index by using the artifact digest. func SearchValidSignedAttestation(ctx context.Context, artifactHash string, provenance []byte, - rClient *client.Rekor) (*SignedAttestation, error) { + rClient *client.Rekor, trustedRoot *TrustedRoot) (*SignedAttestation, error) { // Get Rekor UUIDs by artifact digest. uuids, err := getUUIDsByArtifactDigest(rClient, artifactHash) if err != nil { @@ -263,7 +273,7 @@ func SearchValidSignedAttestation(ctx context.Context, artifactHash string, prov // * If all succeed, return the signing certificate. var errs []string for _, uuid := range uuids { - entry, err := verifyTlogEntryByUUID(ctx, rClient, uuid) + entry, err := verifyTlogEntryByUUID(ctx, rClient, uuid, trustedRoot) if err != nil { // this is unexpected, hold on to this error. errs = append(errs, fmt.Sprintf("%s: verifying tlog entry %s", err, uuid)) @@ -283,7 +293,7 @@ func SearchValidSignedAttestation(ctx context.Context, artifactHash string, prov RekorEntry: entry, } - err = verifySignedAttestation(proposedSignedAtt) + err = verifySignedAttestation(proposedSignedAtt, trustedRoot) if errors.Is(err, serrors.ErrorInternal) { // Return on an internal error return nil, err @@ -302,11 +312,12 @@ func SearchValidSignedAttestation(ctx context.Context, artifactHash string, prov } // verifyAttestationSignature validates the signature on the attestation -// given a certificate and a validated signature time. +// given a certificate and a validated signature time from a verified +// Rekor entry. // The certificate is verified up to Fulcio, the signature is validated // using the certificate, and the signature generation time is checked // to be within the certificate validity period. -func verifySignedAttestation(signedAtt *SignedAttestation) error { +func verifySignedAttestation(signedAtt *SignedAttestation, trustedRoot *TrustedRoot) error { cert := signedAtt.SigningCert attBytes, err := cjson.MarshalCanonical(signedAtt.Envelope) if err != nil { @@ -315,20 +326,16 @@ func verifySignedAttestation(signedAtt *SignedAttestation) error { signatureTimestamp := time.Unix(*signedAtt.RekorEntry.IntegratedTime, 0) // 1. Verify certificate chain. - roots, err := fulcio.GetRoots() - if err != nil { - // this is unexpected, hold on to this error. - return fmt.Errorf("%w: %s", serrors.ErrorInternal, err) - } - intermediates, err := fulcio.GetIntermediates() - if err != nil { - // this is unexpected, hold on to this error. - return fmt.Errorf("%w: %s", serrors.ErrorInternal, err) - } co := &cosign.CheckOpts{ - RootCerts: roots, - IntermediateCerts: intermediates, - CertOidcIssuer: certOidcIssuer, + RootCerts: trustedRoot.FulcioRoot, + IntermediateCerts: trustedRoot.FulcioIntermediates, + Identities: []cosign.Identity{ + { + Issuer: certOidcIssuer, + SubjectRegExp: certSubjectRegexp, + }, + }, + CTLogPubKeys: trustedRoot.CTPubKeys, } verifier, err := cosign.ValidateAndUnpackCert(signedAtt.SigningCert, co) if err != nil { diff --git a/verifiers/internal/gha/testdata/bundle/attestation.intoto.sigstore b/verifiers/internal/gha/testdata/bundle/attestation.intoto.sigstore new file mode 100644 index 0000000..4b3a704 --- /dev/null +++ b/verifiers/internal/gha/testdata/bundle/attestation.intoto.sigstore @@ -0,0 +1 @@ +{"mediaType":"application/vnd.dev.sigstore.bundle+json;version=0.1","verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIID0jCCA1egAwIBAgIUYYhl4c++rHa/smWBcs2Y637MiyowCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjMwMTI3MjIxOTAzWhcNMjMwMTI3MjIyOTAzWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEcc4awjVjw8rpaStSKEgqO8XjFZcMq9wxUEC4OREHZXf9B/cotW0tOU9YbYv8RLnIokA4gxRiGvdv608x3MBO86OCAnYwggJyMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUQKFo6kBIcgWBtHFuNhOvP9b+TdwwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wegYDVR0RAQH/BHAwboZsaHR0cHM6Ly9naXRodWIuY29tL2xhdXJlbnRzaW1vbi9zbHNhLWRlbGVnYXRvci8uZ2l0aHViL3dvcmtmbG93cy9kZWxlZ2F0b3JfZ2VuZXJpY19zbHNhMy55bWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoNDY1MTcxY2M3ZjIwOTdiODU4MmZjNjFhMjgxYzQ0Mzc1NjM2MjNlZDAnBgorBgEEAYO/MAEEBBlzbHNhIDMgZ29yZWxlYXNlciBwcm9qZWN0MCcGCisGAQQBg78wAQUEGWFzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QwHQYKKwYBBAGDvzABBgQPcmVmcy9oZWFkcy9tYWluMIGJBgorBgEEAdZ5AgQCBHsEeQB3AHUA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGF9VARkQAABAMARjBEAiBrmPM4EVCnsw5yVG/LGPGDzPDFE3UegJ5SjFq4mmE/uwIgFF0RclWskrlKgGH1aR7M+hzit4yCXotS8o/eDcQ0Zj8wCgYIKoZIzj0EAwMDaQAwZgIxAMGz1mkq7E0rpcROY1qmAWNjWD39FGK1kH/1rNkzM5un9RuHS9ajMxTVsaeazcQZHgIxALN3wo6ZbLTU/nzlkAD+/XGwRQOYoaRUziRBTTlD+KJlLBfDzlK9JBYo0Bik1VwHFA=="},{"rawBytes":"MIICGjCCAaGgAwIBAgIUALnViVfnU0brJasmRkHrn/UnfaQwCgYIKoZIzj0EAwMwKjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MREwDwYDVQQDEwhzaWdzdG9yZTAeFw0yMjA0MTMyMDA2MTVaFw0zMTEwMDUxMzU2NThaMDcxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEeMBwGA1UEAxMVc2lnc3RvcmUtaW50ZXJtZWRpYXRlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE8RVS/ysH+NOvuDZyPIZtilgUF9NlarYpAd9HP1vBBH1U5CV77LSS7s0ZiH4nE7Hv7ptS6LvvR/STk798LVgMzLlJ4HeIfF3tHSaexLcYpSASr1kS0N/RgBJz/9jWCiXno3sweTAOBgNVHQ8BAf8EBAMCAQYwEwYDVR0lBAwwCgYIKwYBBQUHAwMwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU39Ppz1YkEZb5qNjpKFWixi4YZD8wHwYDVR0jBBgwFoAUWMAeX5FFpWapesyQoZMi0CrFxfowCgYIKoZIzj0EAwMDZwAwZAIwPCsQK4DYiZYDPIaDi5HFKnfxXx6ASSVmERfsynYBiX2X6SJRnZU84/9DZdnFvvxmAjBOt6QpBlc4J/0DxvkTCqpclvziL6BCCPnjdlIB3Pu3BxsPmygUY7Ii2zbdCdliiow="},{"rawBytes":"MIIB9zCCAXygAwIBAgIUALZNAPFdxHPwjeDloDwyYChAO/4wCgYIKoZIzj0EAwMwKjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MREwDwYDVQQDEwhzaWdzdG9yZTAeFw0yMTEwMDcxMzU2NTlaFw0zMTEwMDUxMzU2NThaMCoxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjERMA8GA1UEAxMIc2lnc3RvcmUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAT7XeFT4rb3PQGwS4IajtLk3/OlnpgangaBclYpsYBr5i+4ynB07ceb3LP0OIOZdxexX69c5iVuyJRQ+Hz05yi+UF3uBWAlHpiS5sh0+H2GHE7SXrk1EC5m1Tr19L9gg92jYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRYwB5fkUWlZql6zJChkyLQKsXF+jAfBgNVHSMEGDAWgBRYwB5fkUWlZql6zJChkyLQKsXF+jAKBggqhkjOPQQDAwNpADBmAjEAj1nHeXZp+13NWBNa+EDsDP8G1WWg1tCMWP/WHPqpaVo0jhsweNFZgSs0eE7wYI4qAjEA2WB9ot98sIkoF3vZYdd3/VtWB5b9TNMea7Ix/stJ5TfcLLeABLE4BNJOsQ4vnBHJ"}]},"tlogEntries":[{"logIndex":"12092705","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"intoto","version":"0.0.2"},"integratedTime":"1674857943","inclusionPromise":{"signedEntryTimestamp":"MEYCIQC0QIxx2CDi8aXo0Gy6EjTZXD6F37u+RrbCb2WNANpcpAIhAKzLSuAZ9xbV1tekvPgqFl3+B6yCE4vuuchfT4MMeueE"},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjIiLCJraW5kIjoiaW50b3RvIiwic3BlYyI6eyJjb250ZW50Ijp7ImVudmVsb3BlIjp7InBheWxvYWRUeXBlIjoiYXBwbGljYXRpb24vdm5kLmluLXRvdG8ranNvbiIsInNpZ25hdHVyZXMiOlt7InB1YmxpY0tleSI6IkxTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVVF3YWtORFFURmxaMEYzU1VKQlowbFZXVmxvYkRSakt5dHlTR0V2YzIxWFFtTnpNbGsyTXpkTmFYbHZkME5uV1VsTGIxcEplbW93UlVGM1RYY0tUbnBGVmsxQ1RVZEJNVlZGUTJoTlRXTXliRzVqTTFKMlkyMVZkVnBIVmpKTlVqUjNTRUZaUkZaUlVVUkZlRlo2WVZka2VtUkhPWGxhVXpGd1ltNVNiQXBqYlRGc1drZHNhR1JIVlhkSWFHTk9UV3BOZDAxVVNUTk5ha2w0VDFSQmVsZG9ZMDVOYWsxM1RWUkpNMDFxU1hsUFZFRjZWMnBCUVUxR2EzZEZkMWxJQ2t0dldrbDZhakJEUVZGWlNVdHZXa2w2YWpCRVFWRmpSRkZuUVVWall6UmhkMnBXYW5jNGNuQmhVM1JUUzBWbmNVODRXR3BHV21OTmNUbDNlRlZGUXpRS1QxSkZTRnBZWmpsQ0wyTnZkRmN3ZEU5Vk9WbGlXWFk0VWt4dVNXOXJRVFJuZUZKcFIzWmtkall3T0hnelRVSlBPRFpQUTBGdVdYZG5aMHA1VFVFMFJ3cEJNVlZrUkhkRlFpOTNVVVZCZDBsSVowUkJWRUpuVGxaSVUxVkZSRVJCUzBKblozSkNaMFZHUWxGalJFRjZRV1JDWjA1V1NGRTBSVVpuVVZWUlMwWnZDalpyUWtsaloxZENkRWhHZFU1b1QzWlFPV0lyVkdSM2QwaDNXVVJXVWpCcVFrSm5kMFp2UVZVek9WQndlakZaYTBWYVlqVnhUbXB3UzBaWGFYaHBORmtLV2tRNGQyVm5XVVJXVWpCU1FWRklMMEpJUVhkaWIxcHpZVWhTTUdOSVRUWk1lVGx1WVZoU2IyUlhTWFZaTWpsMFRESjRhR1JZU214aWJsSjZZVmN4ZGdwaWFUbDZZa2hPYUV4WFVteGlSMVp1V1ZoU2RtTnBPSFZhTW13d1lVaFdhVXd6WkhaamJYUnRZa2M1TTJONU9XdGFWM2hzV2pKR01HSXpTbVphTWxaMUNscFlTbkJaTVRsNllraE9hRTE1TlRWaVYzaEJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOUkd0SFEybHpSMEZSVVVKbk56aDNRVkZGUlVzeWFEQUtaRWhDZWs5cE9IWmtSemx5V2xjMGRWbFhUakJoVnpsMVkzazFibUZZVW05a1Ywb3hZekpXZVZreU9YVmtSMVoxWkVNMWFtSXlNSGRJZDFsTFMzZFpRZ3BDUVVkRWRucEJRa0ZuVVZKa01qbDVZVEphYzJJelpHWmFSMng2WTBkR01Ga3laM2RPWjFsTFMzZFpRa0pCUjBSMmVrRkNRWGRSYjA1RVdURk5WR040Q2xreVRUTmFha2wzVDFSa2FVOUVWVFJOYlZwcVRtcEdhRTFxWjNoWmVsRXdUWHBqTVU1cVRUSk5hazVzV2tSQmJrSm5iM0pDWjBWRlFWbFBMMDFCUlVVS1FrSnNlbUpJVG1oSlJFMW5Xakk1ZVZwWGVHeFpXRTVzWTJsQ2QyTnRPWEZhVjA0d1RVTmpSME5wYzBkQlVWRkNaemM0ZDBGUlZVVkhWMFo2WTIxR2FBcE1NMDV6WXpKRmRHSXlOSFJhTW13d1lVaFdhVXhZVW14ak0xRjNTRkZaUzB0M1dVSkNRVWRFZG5wQlFrSm5VVkJqYlZadFkzazViMXBYUm10amVUbDBDbGxYYkhWTlNVZEtRbWR2Y2tKblJVVkJaRm8xUVdkUlEwSkljMFZsVVVJelFVaFZRVE5VTUhkaGMySklSVlJLYWtkU05HTnRWMk16UVhGS1MxaHlhbVVLVUVzekwyZzBjSGxuUXpod04yODBRVUZCUjBZNVZrRlNhMUZCUVVKQlRVRlNha0pGUVdsQ2NtMVFUVFJGVmtOdWMzYzFlVlpITDB4SFVFZEVlbEJFUmdwRk0xVmxaMG8xVTJwR2NUUnRiVVV2ZFhkSlowWkdNRkpqYkZkemEzSnNTMmRIU0RGaFVqZE5LMmg2YVhRMGVVTlliM1JUT0c4dlpVUmpVVEJhYWpoM0NrTm5XVWxMYjFwSmVtb3dSVUYzVFVSaFVVRjNXbWRKZUVGTlIzb3hiV3R4TjBVd2NuQmpVazlaTVhGdFFWZE9hbGRFTXpsR1Iwc3hhMGd2TVhKT2Ezb0tUVFYxYmpsU2RVaFRPV0ZxVFhoVVZuTmhaV0Y2WTFGYVNHZEplRUZNVGpOM2J6WmFZa3hVVlM5dWVteHJRVVFyTDFoSGQxSlJUMWx2WVZKVmVtbFNRZ3BVVkd4RUswdEtiRXhDWmtSNmJFczVTa0paYnpCQ2FXc3hWbmRJUmtFOVBRb3RMUzB0TFVWT1JDQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENnPT0iLCJzaWciOiJUVVZWUTBsUlEwMTBhMDVrWm1abWEwbzRNeXR4V1VscE9YRnRNa0ZpU2xNMVpUVkxXVFJHWjFsTGRrOHJUVkYzTDBGSloxTkxWVUZvTjI1QlQyZFZTVVV4YW5WTlprTXZVVXAyU1ZFemVpdE5jRzFaVG1VclFtczBVVlpIVFdNOSJ9XX0sImhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI0ZTU5ZWE1ODE1MmRlODE4YTQyZTA4M2YyYWQ1MzlmOTI5ZDc0OWQ1NGJlMWMxMjE5YzMyOTVhMGFkMTk2MWIxIn0sInBheWxvYWRIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiNmU1MmU1ODhjMDRlOTJjZTE1MThkNzViNTNkMjZjMjc4ODIwYjZjOWEzYmE5YzgxMGY1YjMwMjJlYTkwNmVkNiJ9fX19"}]},"dsseEnvelope":{"payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInN1YmplY3QiOlt7Im5hbWUiOiJleGFtcGxlLWxpbnV4LWFtZDY0IiwiZGlnZXN0Ijp7InNoYTI1NiI6IjJlMzhiOTUyNTIzNTc2MDU3ZjVjYThjZjZkMTc5YWQ2YjY2ZjZkMDIyMWI5YTBlYjYyMWNhZjM1MDc3NzNjNzEifX1dLCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxLjA/ZHJhZnQiLCJwcmVkaWNhdGUiOnsiYnVpbGREZWZpbml0aW9uIjp7ImJ1aWxkVHlwZSI6Imh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3IvZGVsZWdhdG9yLWdlbmVyaWNAdjAiLCJleHRlcm5hbFBhcmFtZXRlcnMiOnsid29ya2Zsb3dQYXRoIjp7InZhbHVlIjoiLmdpdGh1Yi93b3JrZmxvd3MvcmVsZWFzZS55bWwifSwic291cmNlIjp7ImFydGlmYWN0Ijp7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdEByZWZzL2hlYWRzL21haW4iLCJkaWdlc3QiOnsic2hhMSI6IjQ2NTE3MWNjN2YyMDk3Yjg1ODJmYzYxYTI4MWM0NDM3NTYzNjIzZWQifX19LCJpbnB1dF9yZWxlYXNlLXRhZyI6eyJ2YWx1ZSI6InYxIn19LCJzeXN0ZW1QYXJhbWV0ZXJzIjp7IkdJVEhVQl9FVkVOVF9OQU1FIjp7InZhbHVlIjoid29ya2Zsb3dfZGlzcGF0Y2gifSwiR0lUSFVCX0pPQiI6eyJ2YWx1ZSI6InZlcmlmeS10b2tlbiJ9LCJHSVRIVUJfUkVGIjp7InZhbHVlIjoicmVmcy9oZWFkcy9tYWluIn0sIkdJVEhVQl9SRUZfVFlQRSI6eyJ2YWx1ZSI6ImJyYW5jaCJ9LCJHSVRIVUJfUkVQT1NJVE9SWSI6eyJ2YWx1ZSI6ImFzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QifSwiR0lUSFVCX1JVTl9BVFRFTVBUIjp7InZhbHVlIjoiMSJ9LCJHSVRIVUJfUlVOX0lEIjp7InZhbHVlIjoiNDAyODYwNTY3MyJ9LCJHSVRIVUJfUlVOX05VTUJFUiI6eyJ2YWx1ZSI6IjYifSwiR0lUSFVCX1NIQSI6eyJ2YWx1ZSI6IjQ2NTE3MWNjN2YyMDk3Yjg1ODJmYzYxYTI4MWM0NDM3NTYzNjIzZWQifSwiR0lUSFVCX1dPUktGTE9XIjp7InZhbHVlIjoic2xzYSAzIGdvcmVsZWFzZXIgcHJvamVjdCJ9LCJHSVRIVUJfQUNUT1JfSUQiOnsidmFsdWUiOiI1MTk0NTY5In0sIkdJVEhVQl9SRVBPU0lUT1JZX0lEIjp7InZhbHVlIjoiNTAxMzk1MjQyIn0sIkdJVEhVQl9SRVBTSVRPUllfT1dORVJfSUQiOnsidmFsdWUiOiI1MTk0NTY5In0sIkdJVEhVQl9XT1JLRkxPV19SRUYiOnsidmFsdWUiOiJhc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0Ly5naXRodWIvd29ya2Zsb3dzL3JlbGVhc2UueW1sQHJlZnMvaGVhZHMvbWFpbiJ9LCJHSVRIVUJfV09SS0ZMT1dfU0hBIjp7InZhbHVlIjoiNDY1MTcxY2M3ZjIwOTdiODU4MmZjNjFhMjgxYzQ0Mzc1NjM2MjNlZCJ9LCJJTUFHRV9PUyI6eyJ2YWx1ZSI6InVidW50dTIyIn0sIklNQUdFX1ZFUlNJT04iOnsidmFsdWUiOiIyMDIzMDEyMi4xIn0sIlJVTk5FUl9BUkNIIjp7InZhbHVlIjoiWDY0In0sIlJVTk5FUl9OQU1FIjp7InZhbHVlIjoiSG9zdGVkIEFnZW50In0sIlJVTk5FUl9PUyI6eyJ2YWx1ZSI6IkxpbnV4In19fSwicnVuRGV0YWlscyI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FzcmFhL3Nsc2Etb24tZ2l0aHViLy5naXRodWIvd29ya2Zsb3dzL2dvcmVsZWFzZXJfc2xzYTMueW1sQHJlZnMvaGVhZHMvbWFpbiJ9LCJtZXRhZGF0YSI6eyJpbnZvY2F0aW9uSWQiOiJodHRwczovL2dpdGh1Yi5jb20vYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9hY3Rpb25zL3J1bnMvNDAyODYwNTY3My9hdHRlbXB0cy8xIn19fX0=","payloadType":"application/vnd.in-toto+json","signatures":[{"sig":"MEUCIQCMtkNdfffkJ83+qYIi9qm2AbJS5e5KY4FgYKvO+MQw/AIgSKUAh7nAOgUIE1juMfC/QJvIQ3z+MpmYNe+Bk4QVGMc=","keyid":""}]}} \ No newline at end of file diff --git a/verifiers/internal/gha/testdata/bundle/invalid-dsse-sig.intoto.sigstore b/verifiers/internal/gha/testdata/bundle/invalid-dsse-sig.intoto.sigstore new file mode 100644 index 0000000..5f27e3e --- /dev/null +++ b/verifiers/internal/gha/testdata/bundle/invalid-dsse-sig.intoto.sigstore @@ -0,0 +1,45 @@ +{ + "mediaType": "application/vnd.dev.sigstore.bundle+json;version=0.1", + "verificationMaterial": { + "x509CertificateChain": { + "certificates": [ + { + "rawBytes": "MIID0TCCA1igAwIBAgIUOSG9QNL9kvs5jnrXdnivcV0/DLcwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjMwMTI2MTcwODIxWhcNMjMwMTI2MTcxODIxWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKAZhjoXKP7UaAFachtVF89rjJneQEBgyNeAgm/eECqQr8qJiYUTHgzHeXr5xAaEGFk56yeS0XljwcufjB/hka6OCAncwggJzMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUMOeiGa0yJ6JrdfZLurzFpxv5DTUwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wegYDVR0RAQH/BHAwboZsaHR0cHM6Ly9naXRodWIuY29tL2xhdXJlbnRzaW1vbi9zbHNhLWRlbGVnYXRvci8uZ2l0aHViL3dvcmtmbG93cy9kZWxlZ2F0b3JfZ2VuZXJpY19zbHNhMy55bWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoNDY1MTcxY2M3ZjIwOTdiODU4MmZjNjFhMjgxYzQ0Mzc1NjM2MjNlZDAnBgorBgEEAYO/MAEEBBlzbHNhIDMgZ29yZWxlYXNlciBwcm9qZWN0MCcGCisGAQQBg78wAQUEGWFzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QwHQYKKwYBBAGDvzABBgQPcmVmcy9oZWFkcy9tYWluMIGKBgorBgEEAdZ5AgQCBHwEegB4AHYA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGF7w1CowAABAMARzBFAiAm6227kpvmh6tzgrOov/IRFv3AJC6hfsU7HsFlkJzPrQIhAP2Xjn4wafkDkfvXsmVJUsiwlUDjwp6Eaf3J5AsdxydyMAoGCCqGSM49BAMDA2cAMGQCMCt+sy5GDwiol8bGGzv3nAaXPQRyUBItJRAjTGk/FKQzI57pvHGgj+G5oNKp32IAZAIwYbT93oBuwm7CrMEAmJXoSb/iHv10HEqJdraogW0JV7AljlcGSKgRkRh55ZVqVaKG" + }, + { + "rawBytes": "MIICGjCCAaGgAwIBAgIUALnViVfnU0brJasmRkHrn/UnfaQwCgYIKoZIzj0EAwMwKjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MREwDwYDVQQDEwhzaWdzdG9yZTAeFw0yMjA0MTMyMDA2MTVaFw0zMTEwMDUxMzU2NThaMDcxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEeMBwGA1UEAxMVc2lnc3RvcmUtaW50ZXJtZWRpYXRlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE8RVS/ysH+NOvuDZyPIZtilgUF9NlarYpAd9HP1vBBH1U5CV77LSS7s0ZiH4nE7Hv7ptS6LvvR/STk798LVgMzLlJ4HeIfF3tHSaexLcYpSASr1kS0N/RgBJz/9jWCiXno3sweTAOBgNVHQ8BAf8EBAMCAQYwEwYDVR0lBAwwCgYIKwYBBQUHAwMwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU39Ppz1YkEZb5qNjpKFWixi4YZD8wHwYDVR0jBBgwFoAUWMAeX5FFpWapesyQoZMi0CrFxfowCgYIKoZIzj0EAwMDZwAwZAIwPCsQK4DYiZYDPIaDi5HFKnfxXx6ASSVmERfsynYBiX2X6SJRnZU84/9DZdnFvvxmAjBOt6QpBlc4J/0DxvkTCqpclvziL6BCCPnjdlIB3Pu3BxsPmygUY7Ii2zbdCdliiow=" + }, + { + "rawBytes": "MIIB9zCCAXygAwIBAgIUALZNAPFdxHPwjeDloDwyYChAO/4wCgYIKoZIzj0EAwMwKjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MREwDwYDVQQDEwhzaWdzdG9yZTAeFw0yMTEwMDcxMzU2NTlaFw0zMTEwMDUxMzU2NThaMCoxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjERMA8GA1UEAxMIc2lnc3RvcmUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAT7XeFT4rb3PQGwS4IajtLk3/OlnpgangaBclYpsYBr5i+4ynB07ceb3LP0OIOZdxexX69c5iVuyJRQ+Hz05yi+UF3uBWAlHpiS5sh0+H2GHE7SXrk1EC5m1Tr19L9gg92jYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRYwB5fkUWlZql6zJChkyLQKsXF+jAfBgNVHSMEGDAWgBRYwB5fkUWlZql6zJChkyLQKsXF+jAKBggqhkjOPQQDAwNpADBmAjEAj1nHeXZp+13NWBNa+EDsDP8G1WWg1tCMWP/WHPqpaVo0jhsweNFZgSs0eE7wYI4qAjEA2WB9ot98sIkoF3vZYdd3/VtWB5b9TNMea7Ix/stJ5TfcLLeABLE4BNJOsQ4vnBHJ" + } + ] + }, + "tlogEntries": [ + { + "logIndex": "11999348", + "logId": { + "keyId": "wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0=" + }, + "kindVersion": { + "kind": "intoto", + "version": "0.0.2" + }, + "integratedTime": "1674752902", + "inclusionPromise": { + "signedEntryTimestamp": "MEQCICyaEfCk2V3ryQI7bBkmm4NoBGPXcZtHWF+NtgRoZ2s7AiAFRyNMtHZL8VXpIZEkEfrRBpO/DUt+UoCv8pGUjpnJAQ==" + }, + "canonicalizedBody": "ewogICJhcGlWZXJzaW9uIjogIjAuMC4yIiwKICAia2luZCI6ICJpbnRvdG8iLAogICJzcGVjIjogewogICAgImNvbnRlbnQiOiB7CiAgICAgICJlbnZlbG9wZSI6IHsKICAgICAgICAicGF5bG9hZFR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmluLXRvdG8ranNvbiIsCiAgICAgICAgInNpZ25hdHVyZXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJwdWJsaWNLZXkiOiAiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVUXdWRU5EUVRGcFowRjNTVUpCWjBsVlQxTkhPVkZPVERscmRuTTFhbTV5V0dSdWFYWmpWakF2UkV4amQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcE5kMDFVU1RKTlZHTjNUMFJKZUZkb1kwNU5hazEzVFZSSk1rMVVZM2hQUkVsNFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZMUVZwb2FtOVlTMUEzVldGQlJtRmphSFJXUmpnNWNtcEtibVZSUlVKbmVVNWxRV2NLYlM5bFJVTnhVWEk0Y1VwcFdWVlVTR2Q2U0dWWWNqVjRRV0ZGUjBack5UWjVaVk13V0d4cWQyTjFabXBDTDJocllUWlBRMEZ1WTNkblowcDZUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZOVDJWcENrZGhNSGxLTmtweVpHWmFUSFZ5ZWtad2VIWTFSRlJWZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJWbldVUldVakJTUVZGSUwwSklRWGRpYjFwellVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKNGFHUllTbXhpYmxKNllWY3hkZ3BpYVRsNllraE9hRXhYVW14aVIxWnVXVmhTZG1OcE9IVmFNbXd3WVVoV2FVd3paSFpqYlhSdFlrYzVNMk41T1d0YVYzaHNXakpHTUdJelNtWmFNbFoxQ2xwWVNuQlpNVGw2WWtoT2FFMTVOVFZpVjNoQlkyMVdiV041T1c5YVYwWnJZM2s1ZEZsWGJIVk5SR3RIUTJselIwRlJVVUpuTnpoM1FWRkZSVXN5YURBS1pFaENlazlwT0haa1J6bHlXbGMwZFZsWFRqQmhWemwxWTNrMWJtRllVbTlrVjBveFl6SldlVmt5T1hWa1IxWjFaRU0xYW1JeU1IZElkMWxMUzNkWlFncENRVWRFZG5wQlFrRm5VVkprTWpsNVlUSmFjMkl6WkdaYVIyeDZZMGRHTUZreVozZE9aMWxMUzNkWlFrSkJSMFIyZWtGQ1FYZFJiMDVFV1RGTlZHTjRDbGt5VFROYWFrbDNUMVJrYVU5RVZUUk5iVnBxVG1wR2FFMXFaM2haZWxFd1RYcGpNVTVxVFRKTmFrNXNXa1JCYmtKbmIzSkNaMFZGUVZsUEwwMUJSVVVLUWtKc2VtSklUbWhKUkUxbldqSTVlVnBYZUd4WldFNXNZMmxDZDJOdE9YRmFWMDR3VFVOalIwTnBjMGRCVVZGQ1p6YzRkMEZSVlVWSFYwWjZZMjFHYUFwTU0wNXpZekpGZEdJeU5IUmFNbXd3WVVoV2FVeFlVbXhqTTFGM1NGRlpTMHQzV1VKQ1FVZEVkbnBCUWtKblVWQmpiVlp0WTNrNWIxcFhSbXRqZVRsMENsbFhiSFZOU1VkTFFtZHZja0puUlVWQlpGbzFRV2RSUTBKSWQwVmxaMEkwUVVoWlFUTlVNSGRoYzJKSVJWUktha2RTTkdOdFYyTXpRWEZLUzFoeWFtVUtVRXN6TDJnMGNIbG5Remh3TjI4MFFVRkJSMFkzZHpGRGIzZEJRVUpCVFVGU2VrSkdRV2xCYlRZeU1qZHJjSFp0YURaMGVtZHlUMjkyTDBsU1JuWXpRUXBLUXpab1puTlZOMGh6Um14clNucFFjbEZKYUVGUU1saHFialIzWVdaclJHdG1kbGh6YlZaS1ZYTnBkMnhWUkdwM2NEWkZZV1l6U2pWQmMyUjRlV1I1Q2sxQmIwZERRM0ZIVTAwME9VSkJUVVJCTW1OQlRVZFJRMDFEZEN0emVUVkhSSGRwYjJ3NFlrZEhlbll6YmtGaFdGQlJVbmxWUWtsMFNsSkJhbFJIYXk4S1JrdFJla2sxTjNCMlNFZG5haXRITlc5T1MzQXpNa2xCV2tGSmQxbGlWRGt6YjBKMWQyMDNRM0pOUlVGdFNsaHZVMkl2YVVoMk1UQklSWEZLWkhKaGJ3cG5WekJLVmpkQmJHcHNZMGRUUzJkU2ExSm9OVFZhVm5GV1lVdEhDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsiLAogICAgICAgICAgICAic2lnIjogIlRVVlZRMGxSUTJaU1preHdkM0UwZG1nclJHcFdlVlpDVFRadWNGZEJUMG94THl0VE5tOWlOVVJpYkc5VGVrWktPVkZKWjBjM1drMXVabXRDTm1sUldXcG9OVGxyZWt4b2RGaEVWVGhQTjBkcVoxQkhhREEzTVVsU05YSk9LMEk5Q2c9PSIKICAgICAgICAgIH0KICAgICAgICBdCiAgICAgIH0sCiAgICAgICJoYXNoIjogewogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAidmFsdWUiOiAiNDM3ZTYyNDY4ZTM0MWU0MTczMmZkOWM2ODMwNzEzMDFlNTJjZmE0YzVhNDdhYjMzNDAzNzg1MTMxOWQ1ZWI0OSIKICAgICAgfSwKICAgICAgInBheWxvYWRIYXNoIjogewogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAidmFsdWUiOiAiNDcyYTVjZWU2Mjg0NTUzMzExYzYyZjdlM2YxZDM0N2JkNGI3NGM0YzdlYmNmNDBhNjdmMDhhMGZmMGNhNWM5MSIKICAgICAgfQogICAgfQogIH0KfQo=" + } + ] + }, + "dsseEnvelope": { + "payload": "eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInN1YmplY3QiOlt7Im5hbWUiOiJleGFtcGxlLWxpbnV4LWFtZDY0IiwiZGlnZXN0Ijp7InNoYTI1NiI6IjA5MmIyMjA2ODhlZTczN2M2Njg4MmE3NGFlOGJmZTNlMmIzNWRmNjBiOTI0MDRiNTUyZWJlOTA1YTJkNjMzY2UifX1dLCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxLjA/ZHJhZnQiLCJwcmVkaWNhdGUiOnsiYnVpbGREZWZpbml0aW9uIjp7ImJ1aWxkVHlwZSI6Imh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3IvZGVsZWdhdG9yLWdlbmVyaWNAdjAiLCJleHRlcm5hbFBhcmFtZXRlcnMiOnsid29ya2Zsb3dQYXRoIjp7InZhbHVlIjoiLmdpdGh1Yi93b3JrZmxvd3MvcmVsZWFzZS55bWwifSwic291cmNlIjp7ImFydGlmYWN0Ijp7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdEByZWZzL2hlYWRzL21haW4iLCJkaWdlc3QiOnsic2hhMSI6IjQ2NTE3MWNjN2YyMDk3Yjg1ODJmYzYxYTI4MWM0NDM3NTYzNjIzZWQifX19LCJpbnB1dF9yZWxlYXNlLXRhZyI6eyJ2YWx1ZSI6InYxIn19LCJzeXN0ZW1QYXJhbWV0ZXJzIjp7IkdJVEhVQl9FVkVOVF9OQU1FIjp7InZhbHVlIjoid29ya2Zsb3dfZGlzcGF0Y2gifSwiR0lUSFVCX0pPQiI6eyJ2YWx1ZSI6InZlcmlmeS10b2tlbiJ9LCJHSVRIVUJfUkVGIjp7InZhbHVlIjoicmVmcy9oZWFkcy9tYWluIn0sIkdJVEhVQl9SRUZfVFlQRSI6eyJ2YWx1ZSI6ImJyYW5jaCJ9LCJHSVRIVUJfUkVQT1NJVE9SWSI6eyJ2YWx1ZSI6ImFzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QifSwiR0lUSFVCX1JVTl9BVFRFTVBUIjp7InZhbHVlIjoiMSJ9LCJHSVRIVUJfUlVOX0lEIjp7InZhbHVlIjoiNDAxNzQzNDgwOCJ9LCJHSVRIVUJfUlVOX05VTUJFUiI6eyJ2YWx1ZSI6IjUifSwiR0lUSFVCX1NIQSI6eyJ2YWx1ZSI6IjQ2NTE3MWNjN2YyMDk3Yjg1ODJmYzYxYTI4MWM0NDM3NTYzNjIzZWQifSwiR0lUSFVCX1dPUktGTE9XIjp7InZhbHVlIjoic2xzYSAzIGdvcmVsZWFzZXIgcHJvamVjdCJ9LCJHSVRIVUJfQUNUT1JfSUQiOnsidmFsdWUiOiI1MTk0NTY5In0sIkdJVEhVQl9SRVBPU0lUT1JZX0lEIjp7InZhbHVlIjoiNTAxMzk1MjQyIn0sIkdJVEhVQl9SRVBTSVRPUllfT1dORVJfSUQiOnsidmFsdWUiOiI1MTk0NTY5In0sIkdJVEhVQl9XT1JLRkxPV19SRUYiOnsidmFsdWUiOiJhc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0Ly5naXRodWIvd29ya2Zsb3dzL3JlbGVhc2UueW1sQHJlZnMvaGVhZHMvbWFpbiJ9LCJHSVRIVUJfV09SS0ZMT1dfU0hBIjp7InZhbHVlIjoiNDY1MTcxY2M3ZjIwOTdiODU4MmZjNjFhMjgxYzQ0Mzc1NjM2MjNlZCJ9LCJJTUFHRV9PUyI6eyJ2YWx1ZSI6InVidW50dTIyIn0sIklNQUdFX1ZFUlNJT04iOnsidmFsdWUiOiIyMDIzMDEyMi4xIn0sIlJVTk5FUl9BUkNIIjp7InZhbHVlIjoiWDY0In0sIlJVTk5FUl9OQU1FIjp7InZhbHVlIjoiSG9zdGVkIEFnZW50In0sIlJVTk5FUl9PUyI6eyJ2YWx1ZSI6IkxpbnV4In19fSwicnVuRGV0YWlscyI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FzcmFhL3Nsc2Etb24tZ2l0aHViLy5naXRodWIvd29ya2Zsb3dzL2dvcmVsZWFzZXJfc2xzYTMueW1sQHJlZnMvaGVhZHMvbWFpbiJ9LCJtZXRhZGF0YSI6eyJpbnZvY2F0aW9uSWQiOiJodHRwczovL2dpdGh1Yi5jb20vYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9hY3Rpb25zL3J1bnMvNDAxNzQzNDgwOC9hdHRlbXB0cy8xIn19fX0=", + "payloadType": "application/vnd.in-toto+json", + "signatures": [ + { + "sig": "MEUCIQCfRfLpwq4vh+DjVyVBM6npWAOJ1/+S6ob5DbloSzFJ9QIgG7ZMnfkB6iQYjh59kzLhtXDU8O7GjgPGh071IR5rN+B=", + "keyid": "" + } + ] + } +} \ No newline at end of file diff --git a/verifiers/internal/gha/testdata/bundle/invalid-set.intoto.sigstore b/verifiers/internal/gha/testdata/bundle/invalid-set.intoto.sigstore new file mode 100644 index 0000000..dbb6617 --- /dev/null +++ b/verifiers/internal/gha/testdata/bundle/invalid-set.intoto.sigstore @@ -0,0 +1,45 @@ +{ + "mediaType": "application/vnd.dev.sigstore.bundle+json;version=0.1", + "verificationMaterial": { + "x509CertificateChain": { + "certificates": [ + { + "rawBytes": "MIID0TCCA1igAwIBAgIUOSG9QNL9kvs5jnrXdnivcV0/DLcwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjMwMTI2MTcwODIxWhcNMjMwMTI2MTcxODIxWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKAZhjoXKP7UaAFachtVF89rjJneQEBgyNeAgm/eECqQr8qJiYUTHgzHeXr5xAaEGFk56yeS0XljwcufjB/hka6OCAncwggJzMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUMOeiGa0yJ6JrdfZLurzFpxv5DTUwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wegYDVR0RAQH/BHAwboZsaHR0cHM6Ly9naXRodWIuY29tL2xhdXJlbnRzaW1vbi9zbHNhLWRlbGVnYXRvci8uZ2l0aHViL3dvcmtmbG93cy9kZWxlZ2F0b3JfZ2VuZXJpY19zbHNhMy55bWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoNDY1MTcxY2M3ZjIwOTdiODU4MmZjNjFhMjgxYzQ0Mzc1NjM2MjNlZDAnBgorBgEEAYO/MAEEBBlzbHNhIDMgZ29yZWxlYXNlciBwcm9qZWN0MCcGCisGAQQBg78wAQUEGWFzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QwHQYKKwYBBAGDvzABBgQPcmVmcy9oZWFkcy9tYWluMIGKBgorBgEEAdZ5AgQCBHwEegB4AHYA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGF7w1CowAABAMARzBFAiAm6227kpvmh6tzgrOov/IRFv3AJC6hfsU7HsFlkJzPrQIhAP2Xjn4wafkDkfvXsmVJUsiwlUDjwp6Eaf3J5AsdxydyMAoGCCqGSM49BAMDA2cAMGQCMCt+sy5GDwiol8bGGzv3nAaXPQRyUBItJRAjTGk/FKQzI57pvHGgj+G5oNKp32IAZAIwYbT93oBuwm7CrMEAmJXoSb/iHv10HEqJdraogW0JV7AljlcGSKgRkRh55ZVqVaKG" + }, + { + "rawBytes": "MIICGjCCAaGgAwIBAgIUALnViVfnU0brJasmRkHrn/UnfaQwCgYIKoZIzj0EAwMwKjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MREwDwYDVQQDEwhzaWdzdG9yZTAeFw0yMjA0MTMyMDA2MTVaFw0zMTEwMDUxMzU2NThaMDcxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEeMBwGA1UEAxMVc2lnc3RvcmUtaW50ZXJtZWRpYXRlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE8RVS/ysH+NOvuDZyPIZtilgUF9NlarYpAd9HP1vBBH1U5CV77LSS7s0ZiH4nE7Hv7ptS6LvvR/STk798LVgMzLlJ4HeIfF3tHSaexLcYpSASr1kS0N/RgBJz/9jWCiXno3sweTAOBgNVHQ8BAf8EBAMCAQYwEwYDVR0lBAwwCgYIKwYBBQUHAwMwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU39Ppz1YkEZb5qNjpKFWixi4YZD8wHwYDVR0jBBgwFoAUWMAeX5FFpWapesyQoZMi0CrFxfowCgYIKoZIzj0EAwMDZwAwZAIwPCsQK4DYiZYDPIaDi5HFKnfxXx6ASSVmERfsynYBiX2X6SJRnZU84/9DZdnFvvxmAjBOt6QpBlc4J/0DxvkTCqpclvziL6BCCPnjdlIB3Pu3BxsPmygUY7Ii2zbdCdliiow=" + }, + { + "rawBytes": "MIIB9zCCAXygAwIBAgIUALZNAPFdxHPwjeDloDwyYChAO/4wCgYIKoZIzj0EAwMwKjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MREwDwYDVQQDEwhzaWdzdG9yZTAeFw0yMTEwMDcxMzU2NTlaFw0zMTEwMDUxMzU2NThaMCoxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjERMA8GA1UEAxMIc2lnc3RvcmUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAT7XeFT4rb3PQGwS4IajtLk3/OlnpgangaBclYpsYBr5i+4ynB07ceb3LP0OIOZdxexX69c5iVuyJRQ+Hz05yi+UF3uBWAlHpiS5sh0+H2GHE7SXrk1EC5m1Tr19L9gg92jYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRYwB5fkUWlZql6zJChkyLQKsXF+jAfBgNVHSMEGDAWgBRYwB5fkUWlZql6zJChkyLQKsXF+jAKBggqhkjOPQQDAwNpADBmAjEAj1nHeXZp+13NWBNa+EDsDP8G1WWg1tCMWP/WHPqpaVo0jhsweNFZgSs0eE7wYI4qAjEA2WB9ot98sIkoF3vZYdd3/VtWB5b9TNMea7Ix/stJ5TfcLLeABLE4BNJOsQ4vnBHJ" + } + ] + }, + "tlogEntries": [ + { + "logIndex": "11999348", + "logId": { + "keyId": "wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0=" + }, + "kindVersion": { + "kind": "intoto", + "version": "0.0.2" + }, + "integratedTime": "1674752902", + "inclusionPromise": { + "signedEntryTimestamp": "MEQCICyaEfCk2V3ryQI7bBkmm4NoBGPXcZtHWF+NtgRoZ2s7AiAFRyNMtHZL8VXpIZEkEfrRBpO/DUt+UoCv8pGUjpnJAp==" + }, + "canonicalizedBody": "eyJhcGlWZXJzaW9uIjoiMC4wLjIiLCJraW5kIjoiaW50b3RvIiwic3BlYyI6eyJjb250ZW50Ijp7ImVudmVsb3BlIjp7InBheWxvYWRUeXBlIjoiYXBwbGljYXRpb24vdm5kLmluLXRvdG8ranNvbiIsInNpZ25hdHVyZXMiOlt7InB1YmxpY0tleSI6IkxTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVVF3VkVORFFURnBaMEYzU1VKQlowbFZUMU5IT1ZGT1REbHJkbk0xYW01eVdHUnVhWFpqVmpBdlJFeGpkME5uV1VsTGIxcEplbW93UlVGM1RYY0tUbnBGVmsxQ1RVZEJNVlZGUTJoTlRXTXliRzVqTTFKMlkyMVZkVnBIVmpKTlVqUjNTRUZaUkZaUlVVUkZlRlo2WVZka2VtUkhPWGxhVXpGd1ltNVNiQXBqYlRGc1drZHNhR1JIVlhkSWFHTk9UV3BOZDAxVVNUSk5WR04zVDBSSmVGZG9ZMDVOYWsxM1RWUkpNazFVWTNoUFJFbDRWMnBCUVUxR2EzZEZkMWxJQ2t0dldrbDZhakJEUVZGWlNVdHZXa2w2YWpCRVFWRmpSRkZuUVVWTFFWcG9hbTlZUzFBM1ZXRkJSbUZqYUhSV1JqZzVjbXBLYm1WUlJVSm5lVTVsUVdjS2JTOWxSVU54VVhJNGNVcHBXVlZVU0dkNlNHVlljalY0UVdGRlIwWnJOVFo1WlZNd1dHeHFkMk4xWm1wQ0wyaHJZVFpQUTBGdVkzZG5aMHA2VFVFMFJ3cEJNVlZrUkhkRlFpOTNVVVZCZDBsSVowUkJWRUpuVGxaSVUxVkZSRVJCUzBKblozSkNaMFZHUWxGalJFRjZRV1JDWjA1V1NGRTBSVVpuVVZWTlQyVnBDa2RoTUhsS05rcHlaR1phVEhWeWVrWndlSFkxUkZSVmQwaDNXVVJXVWpCcVFrSm5kMFp2UVZVek9WQndlakZaYTBWYVlqVnhUbXB3UzBaWGFYaHBORmtLV2tRNGQyVm5XVVJXVWpCU1FWRklMMEpJUVhkaWIxcHpZVWhTTUdOSVRUWk1lVGx1WVZoU2IyUlhTWFZaTWpsMFRESjRhR1JZU214aWJsSjZZVmN4ZGdwaWFUbDZZa2hPYUV4WFVteGlSMVp1V1ZoU2RtTnBPSFZhTW13d1lVaFdhVXd6WkhaamJYUnRZa2M1TTJONU9XdGFWM2hzV2pKR01HSXpTbVphTWxaMUNscFlTbkJaTVRsNllraE9hRTE1TlRWaVYzaEJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOUkd0SFEybHpSMEZSVVVKbk56aDNRVkZGUlVzeWFEQUtaRWhDZWs5cE9IWmtSemx5V2xjMGRWbFhUakJoVnpsMVkzazFibUZZVW05a1Ywb3hZekpXZVZreU9YVmtSMVoxWkVNMWFtSXlNSGRJZDFsTFMzZFpRZ3BDUVVkRWRucEJRa0ZuVVZKa01qbDVZVEphYzJJelpHWmFSMng2WTBkR01Ga3laM2RPWjFsTFMzZFpRa0pCUjBSMmVrRkNRWGRSYjA1RVdURk5WR040Q2xreVRUTmFha2wzVDFSa2FVOUVWVFJOYlZwcVRtcEdhRTFxWjNoWmVsRXdUWHBqTVU1cVRUSk5hazVzV2tSQmJrSm5iM0pDWjBWRlFWbFBMMDFCUlVVS1FrSnNlbUpJVG1oSlJFMW5Xakk1ZVZwWGVHeFpXRTVzWTJsQ2QyTnRPWEZhVjA0d1RVTmpSME5wYzBkQlVWRkNaemM0ZDBGUlZVVkhWMFo2WTIxR2FBcE1NMDV6WXpKRmRHSXlOSFJhTW13d1lVaFdhVXhZVW14ak0xRjNTRkZaUzB0M1dVSkNRVWRFZG5wQlFrSm5VVkJqYlZadFkzazViMXBYUm10amVUbDBDbGxYYkhWTlNVZExRbWR2Y2tKblJVVkJaRm8xUVdkUlEwSklkMFZsWjBJMFFVaFpRVE5VTUhkaGMySklSVlJLYWtkU05HTnRWMk16UVhGS1MxaHlhbVVLVUVzekwyZzBjSGxuUXpod04yODBRVUZCUjBZM2R6RkRiM2RCUVVKQlRVRlNla0pHUVdsQmJUWXlNamRyY0hadGFEWjBlbWR5VDI5MkwwbFNSbll6UVFwS1F6Wm9abk5WTjBoelJteHJTbnBRY2xGSmFFRlFNbGhxYmpSM1lXWnJSR3RtZGxoemJWWktWWE5wZDJ4VlJHcDNjRFpGWVdZelNqVkJjMlI0ZVdSNUNrMUJiMGREUTNGSFUwMDBPVUpCVFVSQk1tTkJUVWRSUTAxRGRDdHplVFZIUkhkcGIydzRZa2RIZW5ZemJrRmhXRkJSVW5sVlFrbDBTbEpCYWxSSGF5OEtSa3RSZWtrMU4zQjJTRWRuYWl0SE5XOU9TM0F6TWtsQldrRkpkMWxpVkRremIwSjFkMjAzUTNKTlJVRnRTbGh2VTJJdmFVaDJNVEJJUlhGS1pISmhid3BuVnpCS1ZqZEJiR3BzWTBkVFMyZFNhMUpvTlRWYVZuRldZVXRIQ2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLIiwic2lnIjoiVFVWVlEwbFJRMlpTWmt4d2QzRTBkbWdyUkdwV2VWWkNUVFp1Y0ZkQlQwb3hMeXRUTm05aU5VUmliRzlUZWtaS09WRkpaMGMzV2sxdVptdENObWxSV1dwb05UbHJla3hvZEZoRVZUaFBOMGRxWjFCSGFEQTNNVWxTTlhKT0swRTkifV19LCJoYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiNDM3ZTYyNDY4ZTM0MWU0MTczMmZkOWM2ODMwNzEzMDFlNTJjZmE0YzVhNDdhYjMzNDAzNzg1MTMxOWQ1ZWI0OSJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjQ3MmE1Y2VlNjI4NDU1MzMxMWM2MmY3ZTNmMWQzNDdiZDRiNzRjNGM3ZWJjZjQwYTY3ZjA4YTBmZjBjYTVjOTEifX19fQ==" + } + ] + }, + "dsseEnvelope": { + "payload": "eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInN1YmplY3QiOlt7Im5hbWUiOiJleGFtcGxlLWxpbnV4LWFtZDY0IiwiZGlnZXN0Ijp7InNoYTI1NiI6IjA5MmIyMjA2ODhlZTczN2M2Njg4MmE3NGFlOGJmZTNlMmIzNWRmNjBiOTI0MDRiNTUyZWJlOTA1YTJkNjMzY2UifX1dLCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxLjA/ZHJhZnQiLCJwcmVkaWNhdGUiOnsiYnVpbGREZWZpbml0aW9uIjp7ImJ1aWxkVHlwZSI6Imh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3IvZGVsZWdhdG9yLWdlbmVyaWNAdjAiLCJleHRlcm5hbFBhcmFtZXRlcnMiOnsid29ya2Zsb3dQYXRoIjp7InZhbHVlIjoiLmdpdGh1Yi93b3JrZmxvd3MvcmVsZWFzZS55bWwifSwic291cmNlIjp7ImFydGlmYWN0Ijp7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdEByZWZzL2hlYWRzL21haW4iLCJkaWdlc3QiOnsic2hhMSI6IjQ2NTE3MWNjN2YyMDk3Yjg1ODJmYzYxYTI4MWM0NDM3NTYzNjIzZWQifX19LCJpbnB1dF9yZWxlYXNlLXRhZyI6eyJ2YWx1ZSI6InYxIn19LCJzeXN0ZW1QYXJhbWV0ZXJzIjp7IkdJVEhVQl9FVkVOVF9OQU1FIjp7InZhbHVlIjoid29ya2Zsb3dfZGlzcGF0Y2gifSwiR0lUSFVCX0pPQiI6eyJ2YWx1ZSI6InZlcmlmeS10b2tlbiJ9LCJHSVRIVUJfUkVGIjp7InZhbHVlIjoicmVmcy9oZWFkcy9tYWluIn0sIkdJVEhVQl9SRUZfVFlQRSI6eyJ2YWx1ZSI6ImJyYW5jaCJ9LCJHSVRIVUJfUkVQT1NJVE9SWSI6eyJ2YWx1ZSI6ImFzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QifSwiR0lUSFVCX1JVTl9BVFRFTVBUIjp7InZhbHVlIjoiMSJ9LCJHSVRIVUJfUlVOX0lEIjp7InZhbHVlIjoiNDAxNzQzNDgwOCJ9LCJHSVRIVUJfUlVOX05VTUJFUiI6eyJ2YWx1ZSI6IjUifSwiR0lUSFVCX1NIQSI6eyJ2YWx1ZSI6IjQ2NTE3MWNjN2YyMDk3Yjg1ODJmYzYxYTI4MWM0NDM3NTYzNjIzZWQifSwiR0lUSFVCX1dPUktGTE9XIjp7InZhbHVlIjoic2xzYSAzIGdvcmVsZWFzZXIgcHJvamVjdCJ9LCJHSVRIVUJfQUNUT1JfSUQiOnsidmFsdWUiOiI1MTk0NTY5In0sIkdJVEhVQl9SRVBPU0lUT1JZX0lEIjp7InZhbHVlIjoiNTAxMzk1MjQyIn0sIkdJVEhVQl9SRVBTSVRPUllfT1dORVJfSUQiOnsidmFsdWUiOiI1MTk0NTY5In0sIkdJVEhVQl9XT1JLRkxPV19SRUYiOnsidmFsdWUiOiJhc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0Ly5naXRodWIvd29ya2Zsb3dzL3JlbGVhc2UueW1sQHJlZnMvaGVhZHMvbWFpbiJ9LCJHSVRIVUJfV09SS0ZMT1dfU0hBIjp7InZhbHVlIjoiNDY1MTcxY2M3ZjIwOTdiODU4MmZjNjFhMjgxYzQ0Mzc1NjM2MjNlZCJ9LCJJTUFHRV9PUyI6eyJ2YWx1ZSI6InVidW50dTIyIn0sIklNQUdFX1ZFUlNJT04iOnsidmFsdWUiOiIyMDIzMDEyMi4xIn0sIlJVTk5FUl9BUkNIIjp7InZhbHVlIjoiWDY0In0sIlJVTk5FUl9OQU1FIjp7InZhbHVlIjoiSG9zdGVkIEFnZW50In0sIlJVTk5FUl9PUyI6eyJ2YWx1ZSI6IkxpbnV4In19fSwicnVuRGV0YWlscyI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FzcmFhL3Nsc2Etb24tZ2l0aHViLy5naXRodWIvd29ya2Zsb3dzL2dvcmVsZWFzZXJfc2xzYTMueW1sQHJlZnMvaGVhZHMvbWFpbiJ9LCJtZXRhZGF0YSI6eyJpbnZvY2F0aW9uSWQiOiJodHRwczovL2dpdGh1Yi5jb20vYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9hY3Rpb25zL3J1bnMvNDAxNzQzNDgwOC9hdHRlbXB0cy8xIn19fX0=", + "payloadType": "application/vnd.in-toto+json", + "signatures": [ + { + "sig": "MEUCIQCfRfLpwq4vh+DjVyVBM6npWAOJ1/+S6ob5DbloSzFJ9QIgG7ZMnfkB6iQYjh59kzLhtXDU8O7GjgPGh071IR5rN+A=", + "keyid": "" + } + ] + } +} \ No newline at end of file diff --git a/verifiers/internal/gha/testdata/bundle/mismatch-tlog.intoto.sigstore b/verifiers/internal/gha/testdata/bundle/mismatch-tlog.intoto.sigstore new file mode 100644 index 0000000..578d20a --- /dev/null +++ b/verifiers/internal/gha/testdata/bundle/mismatch-tlog.intoto.sigstore @@ -0,0 +1,45 @@ +{ + "mediaType": "application/vnd.dev.sigstore.bundle+json;version=0.1", + "verificationMaterial": { + "x509CertificateChain": { + "certificates": [ + { + "rawBytes": "MIID0jCCA1egAwIBAgIUYYhl4c++rHa/smWBcs2Y637MiyowCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjMwMTI3MjIxOTAzWhcNMjMwMTI3MjIyOTAzWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEcc4awjVjw8rpaStSKEgqO8XjFZcMq9wxUEC4OREHZXf9B/cotW0tOU9YbYv8RLnIokA4gxRiGvdv608x3MBO86OCAnYwggJyMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUQKFo6kBIcgWBtHFuNhOvP9b+TdwwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wegYDVR0RAQH/BHAwboZsaHR0cHM6Ly9naXRodWIuY29tL2xhdXJlbnRzaW1vbi9zbHNhLWRlbGVnYXRvci8uZ2l0aHViL3dvcmtmbG93cy9kZWxlZ2F0b3JfZ2VuZXJpY19zbHNhMy55bWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoNDY1MTcxY2M3ZjIwOTdiODU4MmZjNjFhMjgxYzQ0Mzc1NjM2MjNlZDAnBgorBgEEAYO/MAEEBBlzbHNhIDMgZ29yZWxlYXNlciBwcm9qZWN0MCcGCisGAQQBg78wAQUEGWFzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QwHQYKKwYBBAGDvzABBgQPcmVmcy9oZWFkcy9tYWluMIGJBgorBgEEAdZ5AgQCBHsEeQB3AHUA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGF9VARkQAABAMARjBEAiBrmPM4EVCnsw5yVG/LGPGDzPDFE3UegJ5SjFq4mmE/uwIgFF0RclWskrlKgGH1aR7M+hzit4yCXotS8o/eDcQ0Zj8wCgYIKoZIzj0EAwMDaQAwZgIxAMGz1mkq7E0rpcROY1qmAWNjWD39FGK1kH/1rNkzM5un9RuHS9ajMxTVsaeazcQZHgIxALN3wo6ZbLTU/nzlkAD+/XGwRQOYoaRUziRBTTlD+KJlLBfDzlK9JBYo0Bik1VwHFA==" + }, + { + "rawBytes": "MIICGjCCAaGgAwIBAgIUALnViVfnU0brJasmRkHrn/UnfaQwCgYIKoZIzj0EAwMwKjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MREwDwYDVQQDEwhzaWdzdG9yZTAeFw0yMjA0MTMyMDA2MTVaFw0zMTEwMDUxMzU2NThaMDcxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEeMBwGA1UEAxMVc2lnc3RvcmUtaW50ZXJtZWRpYXRlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE8RVS/ysH+NOvuDZyPIZtilgUF9NlarYpAd9HP1vBBH1U5CV77LSS7s0ZiH4nE7Hv7ptS6LvvR/STk798LVgMzLlJ4HeIfF3tHSaexLcYpSASr1kS0N/RgBJz/9jWCiXno3sweTAOBgNVHQ8BAf8EBAMCAQYwEwYDVR0lBAwwCgYIKwYBBQUHAwMwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU39Ppz1YkEZb5qNjpKFWixi4YZD8wHwYDVR0jBBgwFoAUWMAeX5FFpWapesyQoZMi0CrFxfowCgYIKoZIzj0EAwMDZwAwZAIwPCsQK4DYiZYDPIaDi5HFKnfxXx6ASSVmERfsynYBiX2X6SJRnZU84/9DZdnFvvxmAjBOt6QpBlc4J/0DxvkTCqpclvziL6BCCPnjdlIB3Pu3BxsPmygUY7Ii2zbdCdliiow=" + }, + { + "rawBytes": "MIIB9zCCAXygAwIBAgIUALZNAPFdxHPwjeDloDwyYChAO/4wCgYIKoZIzj0EAwMwKjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MREwDwYDVQQDEwhzaWdzdG9yZTAeFw0yMTEwMDcxMzU2NTlaFw0zMTEwMDUxMzU2NThaMCoxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjERMA8GA1UEAxMIc2lnc3RvcmUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAT7XeFT4rb3PQGwS4IajtLk3/OlnpgangaBclYpsYBr5i+4ynB07ceb3LP0OIOZdxexX69c5iVuyJRQ+Hz05yi+UF3uBWAlHpiS5sh0+H2GHE7SXrk1EC5m1Tr19L9gg92jYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRYwB5fkUWlZql6zJChkyLQKsXF+jAfBgNVHSMEGDAWgBRYwB5fkUWlZql6zJChkyLQKsXF+jAKBggqhkjOPQQDAwNpADBmAjEAj1nHeXZp+13NWBNa+EDsDP8G1WWg1tCMWP/WHPqpaVo0jhsweNFZgSs0eE7wYI4qAjEA2WB9ot98sIkoF3vZYdd3/VtWB5b9TNMea7Ix/stJ5TfcLLeABLE4BNJOsQ4vnBHJ" + } + ] + }, + "tlogEntries": [ + { + "logIndex": "11999348", + "logId": { + "keyId": "wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0=" + }, + "kindVersion": { + "kind": "intoto", + "version": "0.0.2" + }, + "integratedTime": "1674752902", + "inclusionPromise": { + "signedEntryTimestamp": "MEQCICyaEfCk2V3ryQI7bBkmm4NoBGPXcZtHWF+NtgRoZ2s7AiAFRyNMtHZL8VXpIZEkEfrRBpO/DUt+UoCv8pGUjpnJAQ==" + }, + "canonicalizedBody": "eyJhcGlWZXJzaW9uIjoiMC4wLjIiLCJraW5kIjoiaW50b3RvIiwic3BlYyI6eyJjb250ZW50Ijp7ImVudmVsb3BlIjp7InBheWxvYWRUeXBlIjoiYXBwbGljYXRpb24vdm5kLmluLXRvdG8ranNvbiIsInNpZ25hdHVyZXMiOlt7InB1YmxpY0tleSI6IkxTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVVF3VkVORFFURnBaMEYzU1VKQlowbFZUMU5IT1ZGT1REbHJkbk0xYW01eVdHUnVhWFpqVmpBdlJFeGpkME5uV1VsTGIxcEplbW93UlVGM1RYY0tUbnBGVmsxQ1RVZEJNVlZGUTJoTlRXTXliRzVqTTFKMlkyMVZkVnBIVmpKTlVqUjNTRUZaUkZaUlVVUkZlRlo2WVZka2VtUkhPWGxhVXpGd1ltNVNiQXBqYlRGc1drZHNhR1JIVlhkSWFHTk9UV3BOZDAxVVNUSk5WR04zVDBSSmVGZG9ZMDVOYWsxM1RWUkpNazFVWTNoUFJFbDRWMnBCUVUxR2EzZEZkMWxJQ2t0dldrbDZhakJEUVZGWlNVdHZXa2w2YWpCRVFWRmpSRkZuUVVWTFFWcG9hbTlZUzFBM1ZXRkJSbUZqYUhSV1JqZzVjbXBLYm1WUlJVSm5lVTVsUVdjS2JTOWxSVU54VVhJNGNVcHBXVlZVU0dkNlNHVlljalY0UVdGRlIwWnJOVFo1WlZNd1dHeHFkMk4xWm1wQ0wyaHJZVFpQUTBGdVkzZG5aMHA2VFVFMFJ3cEJNVlZrUkhkRlFpOTNVVVZCZDBsSVowUkJWRUpuVGxaSVUxVkZSRVJCUzBKblozSkNaMFZHUWxGalJFRjZRV1JDWjA1V1NGRTBSVVpuVVZWTlQyVnBDa2RoTUhsS05rcHlaR1phVEhWeWVrWndlSFkxUkZSVmQwaDNXVVJXVWpCcVFrSm5kMFp2UVZVek9WQndlakZaYTBWYVlqVnhUbXB3UzBaWGFYaHBORmtLV2tRNGQyVm5XVVJXVWpCU1FWRklMMEpJUVhkaWIxcHpZVWhTTUdOSVRUWk1lVGx1WVZoU2IyUlhTWFZaTWpsMFRESjRhR1JZU214aWJsSjZZVmN4ZGdwaWFUbDZZa2hPYUV4WFVteGlSMVp1V1ZoU2RtTnBPSFZhTW13d1lVaFdhVXd6WkhaamJYUnRZa2M1TTJONU9XdGFWM2hzV2pKR01HSXpTbVphTWxaMUNscFlTbkJaTVRsNllraE9hRTE1TlRWaVYzaEJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOUkd0SFEybHpSMEZSVVVKbk56aDNRVkZGUlVzeWFEQUtaRWhDZWs5cE9IWmtSemx5V2xjMGRWbFhUakJoVnpsMVkzazFibUZZVW05a1Ywb3hZekpXZVZreU9YVmtSMVoxWkVNMWFtSXlNSGRJZDFsTFMzZFpRZ3BDUVVkRWRucEJRa0ZuVVZKa01qbDVZVEphYzJJelpHWmFSMng2WTBkR01Ga3laM2RPWjFsTFMzZFpRa0pCUjBSMmVrRkNRWGRSYjA1RVdURk5WR040Q2xreVRUTmFha2wzVDFSa2FVOUVWVFJOYlZwcVRtcEdhRTFxWjNoWmVsRXdUWHBqTVU1cVRUSk5hazVzV2tSQmJrSm5iM0pDWjBWRlFWbFBMMDFCUlVVS1FrSnNlbUpJVG1oSlJFMW5Xakk1ZVZwWGVHeFpXRTVzWTJsQ2QyTnRPWEZhVjA0d1RVTmpSME5wYzBkQlVWRkNaemM0ZDBGUlZVVkhWMFo2WTIxR2FBcE1NMDV6WXpKRmRHSXlOSFJhTW13d1lVaFdhVXhZVW14ak0xRjNTRkZaUzB0M1dVSkNRVWRFZG5wQlFrSm5VVkJqYlZadFkzazViMXBYUm10amVUbDBDbGxYYkhWTlNVZExRbWR2Y2tKblJVVkJaRm8xUVdkUlEwSklkMFZsWjBJMFFVaFpRVE5VTUhkaGMySklSVlJLYWtkU05HTnRWMk16UVhGS1MxaHlhbVVLVUVzekwyZzBjSGxuUXpod04yODBRVUZCUjBZM2R6RkRiM2RCUVVKQlRVRlNla0pHUVdsQmJUWXlNamRyY0hadGFEWjBlbWR5VDI5MkwwbFNSbll6UVFwS1F6Wm9abk5WTjBoelJteHJTbnBRY2xGSmFFRlFNbGhxYmpSM1lXWnJSR3RtZGxoemJWWktWWE5wZDJ4VlJHcDNjRFpGWVdZelNqVkJjMlI0ZVdSNUNrMUJiMGREUTNGSFUwMDBPVUpCVFVSQk1tTkJUVWRSUTAxRGRDdHplVFZIUkhkcGIydzRZa2RIZW5ZemJrRmhXRkJSVW5sVlFrbDBTbEpCYWxSSGF5OEtSa3RSZWtrMU4zQjJTRWRuYWl0SE5XOU9TM0F6TWtsQldrRkpkMWxpVkRremIwSjFkMjAzUTNKTlJVRnRTbGh2VTJJdmFVaDJNVEJJUlhGS1pISmhid3BuVnpCS1ZqZEJiR3BzWTBkVFMyZFNhMUpvTlRWYVZuRldZVXRIQ2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLIiwic2lnIjoiVFVWVlEwbFJRMlpTWmt4d2QzRTBkbWdyUkdwV2VWWkNUVFp1Y0ZkQlQwb3hMeXRUTm05aU5VUmliRzlUZWtaS09WRkpaMGMzV2sxdVptdENObWxSV1dwb05UbHJla3hvZEZoRVZUaFBOMGRxWjFCSGFEQTNNVWxTTlhKT0swRTkifV19LCJoYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiNDM3ZTYyNDY4ZTM0MWU0MTczMmZkOWM2ODMwNzEzMDFlNTJjZmE0YzVhNDdhYjMzNDAzNzg1MTMxOWQ1ZWI0OSJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjQ3MmE1Y2VlNjI4NDU1MzMxMWM2MmY3ZTNmMWQzNDdiZDRiNzRjNGM3ZWJjZjQwYTY3ZjA4YTBmZjBjYTVjOTEifX19fQ==" + } + ] + }, + "dsseEnvelope": { + "payload": "eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInN1YmplY3QiOlt7Im5hbWUiOiJleGFtcGxlLWxpbnV4LWFtZDY0IiwiZGlnZXN0Ijp7InNoYTI1NiI6IjJlMzhiOTUyNTIzNTc2MDU3ZjVjYThjZjZkMTc5YWQ2YjY2ZjZkMDIyMWI5YTBlYjYyMWNhZjM1MDc3NzNjNzEifX1dLCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxLjA/ZHJhZnQiLCJwcmVkaWNhdGUiOnsiYnVpbGREZWZpbml0aW9uIjp7ImJ1aWxkVHlwZSI6Imh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3IvZGVsZWdhdG9yLWdlbmVyaWNAdjAiLCJleHRlcm5hbFBhcmFtZXRlcnMiOnsid29ya2Zsb3dQYXRoIjp7InZhbHVlIjoiLmdpdGh1Yi93b3JrZmxvd3MvcmVsZWFzZS55bWwifSwic291cmNlIjp7ImFydGlmYWN0Ijp7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdEByZWZzL2hlYWRzL21haW4iLCJkaWdlc3QiOnsic2hhMSI6IjQ2NTE3MWNjN2YyMDk3Yjg1ODJmYzYxYTI4MWM0NDM3NTYzNjIzZWQifX19LCJpbnB1dF9yZWxlYXNlLXRhZyI6eyJ2YWx1ZSI6InYxIn19LCJzeXN0ZW1QYXJhbWV0ZXJzIjp7IkdJVEhVQl9FVkVOVF9OQU1FIjp7InZhbHVlIjoid29ya2Zsb3dfZGlzcGF0Y2gifSwiR0lUSFVCX0pPQiI6eyJ2YWx1ZSI6InZlcmlmeS10b2tlbiJ9LCJHSVRIVUJfUkVGIjp7InZhbHVlIjoicmVmcy9oZWFkcy9tYWluIn0sIkdJVEhVQl9SRUZfVFlQRSI6eyJ2YWx1ZSI6ImJyYW5jaCJ9LCJHSVRIVUJfUkVQT1NJVE9SWSI6eyJ2YWx1ZSI6ImFzcmFhL3Nsc2Etb24tZ2l0aHViLXRlc3QifSwiR0lUSFVCX1JVTl9BVFRFTVBUIjp7InZhbHVlIjoiMSJ9LCJHSVRIVUJfUlVOX0lEIjp7InZhbHVlIjoiNDAyODYwNTY3MyJ9LCJHSVRIVUJfUlVOX05VTUJFUiI6eyJ2YWx1ZSI6IjYifSwiR0lUSFVCX1NIQSI6eyJ2YWx1ZSI6IjQ2NTE3MWNjN2YyMDk3Yjg1ODJmYzYxYTI4MWM0NDM3NTYzNjIzZWQifSwiR0lUSFVCX1dPUktGTE9XIjp7InZhbHVlIjoic2xzYSAzIGdvcmVsZWFzZXIgcHJvamVjdCJ9LCJHSVRIVUJfQUNUT1JfSUQiOnsidmFsdWUiOiI1MTk0NTY5In0sIkdJVEhVQl9SRVBPU0lUT1JZX0lEIjp7InZhbHVlIjoiNTAxMzk1MjQyIn0sIkdJVEhVQl9SRVBTSVRPUllfT1dORVJfSUQiOnsidmFsdWUiOiI1MTk0NTY5In0sIkdJVEhVQl9XT1JLRkxPV19SRUYiOnsidmFsdWUiOiJhc3JhYS9zbHNhLW9uLWdpdGh1Yi10ZXN0Ly5naXRodWIvd29ya2Zsb3dzL3JlbGVhc2UueW1sQHJlZnMvaGVhZHMvbWFpbiJ9LCJHSVRIVUJfV09SS0ZMT1dfU0hBIjp7InZhbHVlIjoiNDY1MTcxY2M3ZjIwOTdiODU4MmZjNjFhMjgxYzQ0Mzc1NjM2MjNlZCJ9LCJJTUFHRV9PUyI6eyJ2YWx1ZSI6InVidW50dTIyIn0sIklNQUdFX1ZFUlNJT04iOnsidmFsdWUiOiIyMDIzMDEyMi4xIn0sIlJVTk5FUl9BUkNIIjp7InZhbHVlIjoiWDY0In0sIlJVTk5FUl9OQU1FIjp7InZhbHVlIjoiSG9zdGVkIEFnZW50In0sIlJVTk5FUl9PUyI6eyJ2YWx1ZSI6IkxpbnV4In19fSwicnVuRGV0YWlscyI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FzcmFhL3Nsc2Etb24tZ2l0aHViLy5naXRodWIvd29ya2Zsb3dzL2dvcmVsZWFzZXJfc2xzYTMueW1sQHJlZnMvaGVhZHMvbWFpbiJ9LCJtZXRhZGF0YSI6eyJpbnZvY2F0aW9uSWQiOiJodHRwczovL2dpdGh1Yi5jb20vYXNyYWEvc2xzYS1vbi1naXRodWItdGVzdC9hY3Rpb25zL3J1bnMvNDAyODYwNTY3My9hdHRlbXB0cy8xIn19fX0=", + "payloadType": "application/vnd.in-toto+json", + "signatures": [ + { + "sig": "MEUCIQCMtkNdfffkJ83+qYIi9qm2AbJS5e5KY4FgYKvO+MQw/AIgSKUAh7nAOgUIE1juMfC/QJvIQ3z+MpmYNe+Bk4QVGMc=", + "keyid": "" + } + ] + } +} diff --git a/verifiers/internal/gha/testdata/bundle/valid.intoto.sigstore b/verifiers/internal/gha/testdata/bundle/valid.intoto.sigstore new file mode 100644 index 0000000..f80aee3 --- /dev/null +++ b/verifiers/internal/gha/testdata/bundle/valid.intoto.sigstore @@ -0,0 +1 @@ +{"mediaType":"application/vnd.dev.sigstore.bundle+json;version=0.1","verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIID9DCCA3qgAwIBAgIUe2QZR8WS1JtMw9sCbpEGw+WcuX8wCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjMwMjAxMTcyNDAzWhcNMjMwMjAxMTczNDAzWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZ2qYutsfYgcV7ASoFi3IErC60gfw2SKVQAujIflfeHeKBDYn3lUpFqFClqxs5pPQlaG2CW9lbCOIUNCm3SX35qOCApkwggKVMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUxCZCWod6sGUegH8pqUMtqTfQICcwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wgYYGA1UdEQEB/wR8MHqGeGh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3IvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGRlcl9kb2NrZXItYmFzZWRfc2xzYTMueW1sQHJlZnMvaGVhZHMvbWFpbjA5BgorBgEEAYO/MAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMB8GCisGAQQBg78wAQIEEXdvcmtmbG93X2Rpc3BhdGNoMDYGCisGAQQBg78wAQMEKDUyMTc0M2MyY2Y3ZTNiN2IyY2M5ZmRjYzJhMTYwNmQ4ZTQxMjExZTAwMQYKKwYBBAGDvzABBAQjcHJlLXN1Ym1pdCBlMmUgZG9ja2VyLWJhc2VkIGRlZmF1bHQwMgYKKwYBBAGDvzABBQQkc2xzYS1mcmFtZXdvcmsvc2xzYS1naXRodWItZ2VuZXJhdG9yMB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjCBigYKKwYBBAHWeQIEAgR8BHoAeAB2AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABhg4ByFgAAAQDAEcwRQIgB2uZy6DgBjImD6TD52oXEmPPiiLHSvJEiGbz4ttBvA4CIQCji5R40YahQKTOp63CxkNOFuw5A6yhVUgRBhJYudBgCTAKBggqhkjOPQQDAwNoADBlAjBLOG46uITpMAQDfr+DajqNDoGZvp++KF4pCWWaxjjYm7Nto0MEzvVUCEXzEGL4P/oCMQCT1x5Hbt0Pa41HOJY3RFpW8key1j+lAjN/oqCKfJHhXyBhsDkuyd6JLEMPhTM319w="},{"rawBytes":"MIICGjCCAaGgAwIBAgIUALnViVfnU0brJasmRkHrn/UnfaQwCgYIKoZIzj0EAwMwKjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MREwDwYDVQQDEwhzaWdzdG9yZTAeFw0yMjA0MTMyMDA2MTVaFw0zMTEwMDUxMzU2NThaMDcxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEeMBwGA1UEAxMVc2lnc3RvcmUtaW50ZXJtZWRpYXRlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE8RVS/ysH+NOvuDZyPIZtilgUF9NlarYpAd9HP1vBBH1U5CV77LSS7s0ZiH4nE7Hv7ptS6LvvR/STk798LVgMzLlJ4HeIfF3tHSaexLcYpSASr1kS0N/RgBJz/9jWCiXno3sweTAOBgNVHQ8BAf8EBAMCAQYwEwYDVR0lBAwwCgYIKwYBBQUHAwMwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU39Ppz1YkEZb5qNjpKFWixi4YZD8wHwYDVR0jBBgwFoAUWMAeX5FFpWapesyQoZMi0CrFxfowCgYIKoZIzj0EAwMDZwAwZAIwPCsQK4DYiZYDPIaDi5HFKnfxXx6ASSVmERfsynYBiX2X6SJRnZU84/9DZdnFvvxmAjBOt6QpBlc4J/0DxvkTCqpclvziL6BCCPnjdlIB3Pu3BxsPmygUY7Ii2zbdCdliiow="},{"rawBytes":"MIIB9zCCAXygAwIBAgIUALZNAPFdxHPwjeDloDwyYChAO/4wCgYIKoZIzj0EAwMwKjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MREwDwYDVQQDEwhzaWdzdG9yZTAeFw0yMTEwMDcxMzU2NTlaFw0zMTEwMDUxMzU2NThaMCoxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjERMA8GA1UEAxMIc2lnc3RvcmUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAT7XeFT4rb3PQGwS4IajtLk3/OlnpgangaBclYpsYBr5i+4ynB07ceb3LP0OIOZdxexX69c5iVuyJRQ+Hz05yi+UF3uBWAlHpiS5sh0+H2GHE7SXrk1EC5m1Tr19L9gg92jYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRYwB5fkUWlZql6zJChkyLQKsXF+jAfBgNVHSMEGDAWgBRYwB5fkUWlZql6zJChkyLQKsXF+jAKBggqhkjOPQQDAwNpADBmAjEAj1nHeXZp+13NWBNa+EDsDP8G1WWg1tCMWP/WHPqpaVo0jhsweNFZgSs0eE7wYI4qAjEA2WB9ot98sIkoF3vZYdd3/VtWB5b9TNMea7Ix/stJ5TfcLLeABLE4BNJOsQ4vnBHJ"}]},"tlogEntries":[{"logIndex":"12421178","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"intoto","version":"0.0.2"},"integratedTime":"1675272243","inclusionPromise":{"signedEntryTimestamp":"MEYCIQDT+q8dOyCKLEtHNgV6v5K0GCDII6HyxVRamI0tPYW7YgIhAOU7R/yeW1R3GrpLOstH/D4WqF8TRRvWTLHrKtTJrvVw"},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjIiLCJraW5kIjoiaW50b3RvIiwic3BlYyI6eyJjb250ZW50Ijp7ImVudmVsb3BlIjp7InBheWxvYWRUeXBlIjoiYXBwbGljYXRpb24vdm5kLmluLXRvdG8ranNvbiIsInNpZ25hdHVyZXMiOlt7InB1YmxpY0tleSI6IkxTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVVE1UkVORFFUTnhaMEYzU1VKQlowbFZaVEpSV2xJNFYxTXhTblJOZHpselEySndSVWQzSzFkamRWZzRkME5uV1VsTGIxcEplbW93UlVGM1RYY0tUbnBGVmsxQ1RVZEJNVlZGUTJoTlRXTXliRzVqTTFKMlkyMVZkVnBIVmpKTlVqUjNTRUZaUkZaUlVVUkZlRlo2WVZka2VtUkhPWGxhVXpGd1ltNVNiQXBqYlRGc1drZHNhR1JIVlhkSWFHTk9UV3BOZDAxcVFYaE5WR041VGtSQmVsZG9ZMDVOYWsxM1RXcEJlRTFVWTNwT1JFRjZWMnBCUVUxR2EzZEZkMWxJQ2t0dldrbDZhakJEUVZGWlNVdHZXa2w2YWpCRVFWRmpSRkZuUVVWYU1uRlpkWFJ6WmxsblkxWTNRVk52Um1relNVVnlRell3WjJaM01sTkxWbEZCZFdvS1NXWnNabVZJWlV0Q1JGbHVNMnhWY0VaeFJrTnNjWGh6TlhCUVVXeGhSekpEVnpsc1lrTlBTVlZPUTIwelUxZ3pOWEZQUTBGd2EzZG5aMHRXVFVFMFJ3cEJNVlZrUkhkRlFpOTNVVVZCZDBsSVowUkJWRUpuVGxaSVUxVkZSRVJCUzBKblozSkNaMFZHUWxGalJFRjZRV1JDWjA1V1NGRTBSVVpuVVZWNFExcERDbGR2WkRaelIxVmxaMGc0Y0hGVlRYUnhWR1pSU1VOamQwaDNXVVJXVWpCcVFrSm5kMFp2UVZVek9WQndlakZaYTBWYVlqVnhUbXB3UzBaWGFYaHBORmtLV2tRNGQyZFpXVWRCTVZWa1JWRkZRaTkzVWpoTlNIRkhaVWRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVlbUpJVG1oTVYxcDVXVmN4YkFwa01qbDVZWGs1ZW1KSVRtaE1WMlJ3WkVkb01WbHBNVzVhVnpWc1kyMUdNR0l6U1haTWJXUndaRWRvTVZscE9UTmlNMHB5V20xNGRtUXpUWFpaYmxad0NtSkhVbXhqYkRscllqSk9jbHBZU1hSWmJVWjZXbGRTWm1NeWVIcFpWRTExWlZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTlVKbmIzSUtRbWRGUlVGWlR5OU5RVVZDUWtOMGIyUklVbmRqZW05MlRETlNkbUV5Vm5WTWJVWnFaRWRzZG1KdVRYVmFNbXd3WVVoV2FXUllUbXhqYlU1MlltNVNiQXBpYmxGMVdUSTVkRTFDT0VkRGFYTkhRVkZSUW1jM09IZEJVVWxGUlZoa2RtTnRkRzFpUnpreldESlNjR016UW1oa1IwNXZUVVJaUjBOcGMwZEJVVkZDQ21jM09IZEJVVTFGUzBSVmVVMVVZekJOTWsxNVdUSlpNMXBVVG1sT01rbDVXVEpOTlZwdFVtcFpla3BvVFZSWmQwNXRVVFJhVkZGNFRXcEZlRnBVUVhjS1RWRlpTMHQzV1VKQ1FVZEVkbnBCUWtKQlVXcGpTRXBzVEZoT01WbHRNWEJrUTBKc1RXMVZaMXBIT1dwaE1sWjVURmRLYUdNeVZtdEpSMUpzV20xR01RcGlTRkYzVFdkWlMwdDNXVUpDUVVkRWRucEJRa0pSVVd0ak1uaDZXVk14YldOdFJuUmFXR1IyWTIxemRtTXllSHBaVXpGdVlWaFNiMlJYU1hSYU1sWjFDbHBZU21oa1J6bDVUVUl3UjBOcGMwZEJVVkZDWnpjNGQwRlJXVVZFTTBwc1dtNU5kbUZIVm1oYVNFMTJZbGRHY0dKcVEwSnBaMWxMUzNkWlFrSkJTRmNLWlZGSlJVRm5VamhDU0c5QlpVRkNNa0ZPTURsTlIzSkhlSGhGZVZsNGEyVklTbXh1VG5kTGFWTnNOalF6YW5sMEx6UmxTMk52UVhaTFpUWlBRVUZCUWdwb1p6UkNlVVpuUVVGQlVVUkJSV04zVWxGSlowSXlkVnA1TmtSblFtcEpiVVEyVkVRMU1tOVlSVzFRVUdscFRFaFRka3BGYVVkaWVqUjBkRUoyUVRSRENrbFJRMnBwTlZJME1GbGhhRkZMVkU5d05qTkRlR3RPVDBaMWR6VkJObmxvVmxWblVrSm9TbGwxWkVKblExUkJTMEpuWjNGb2EycFBVRkZSUkVGM1RtOEtRVVJDYkVGcVFreFBSelEyZFVsVWNFMUJVVVJtY2l0RVlXcHhUa1J2UjFwMmNDc3JTMFkwY0VOWFYyRjRhbXBaYlRkT2RHOHdUVVY2ZGxaVlEwVlllZ3BGUjB3MFVDOXZRMDFSUTFReGVEVklZblF3VUdFME1VaFBTbGt6VWtad1Z6aHJaWGt4YWl0c1FXcE9MMjl4UTB0bVNraG9XSGxDYUhORWEzVjVaRFpLQ2t4RlRWQm9WRTB6TVRsM1BRb3RMUzB0TFVWT1JDQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENnPT0iLCJzaWciOiJUVVZaUTBsUlJEZEdhSGxXU3pjd1ZtczBha0pwVVV4UWFUVlRZWGw1TW00clEybGxZblZZYjA5b1JVWmFZVzlTTlhkSmFFRkxSMlpHZG1kcFNHWkJZek5TT0VkMWFUSjRaMUI2TlZSVFRHVnBLMjkwUnpReWNITm1kR3d5TTJGbyJ9XX0sImhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiIwMDg1NzY1ZTFjYzg3MmVmNWI2MDVhNzcyMDRkZWU2YTFmNTA4OWQ5NTYzNmRmZjdlNjA2ZDBkNTBmZmI0MDAwIn0sInBheWxvYWRIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiZTU3MjRhNWQwYWM2NzcxZDA0MzljNjJmOWI0NzkzZjM0N2VkMTFhZjk2ZGYzNjkyZDY0YjUyMWQ1MzEyMjJjOSJ9fX19"}]},"dsseEnvelope":{"payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInN1YmplY3QiOlt7Im5hbWUiOiJjb25maWcudG9tbCIsImRpZ2VzdCI6eyJzaGEyNTYiOiI5NzVhMDU4MmI4Yzk2MDdmM2YyMGE2YjhjZmVmMDFiMjU4MjNlNjhjNWMzNjU4ZTZlMWNjYWFjZWQyYTMyNTVkIn19XSwicHJlZGljYXRlVHlwZSI6IiIsInByZWRpY2F0ZSI6eyJidWlsZFR5cGUiOiJodHRwczovL3Nsc2EuZGV2L2NvbnRhaW5lci1iYXNlZC1idWlsZC92MC4xP2RyYWZ0IiwiZXh0ZXJuYWxQYXJhbWV0ZXJzIjp7ImFydGlmYWN0cyI6eyJidWlsZGVySW1hZ2UiOnsidXJpIjoiYmFzaEBzaGEyNTY6OWUyYmE1MjQ4N2Q5NDU1MDRkMjUwZGUxODZjYjRmZTJlM2JhMDIzZWQyOTIxZGQ2YWM4Yjk3ZWQ0M2U3NmFmOSIsImRpZ2VzdCI6eyJzaGEyNTYiOiI5ZTJiYTUyNDg3ZDk0NTUwNGQyNTBkZTE4NmNiNGZlMmUzYmEwMjNlZDI5MjFkZDZhYzhiOTdlZDQzZTc2YWY5In19LCJzb3VyY2UiOnsidXJpIjoiZ2l0K2h0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3IiLCJkaWdlc3QiOnsic2hhMSI6IjUyMTc0M2MyY2Y3ZTNiN2IyY2M5ZmRjYzJhMTYwNmQ4ZTQxMjExZTAifX19LCJ2YWx1ZXMiOnsiYXJ0aWZhY3RQYXRoIjoiY29uZmlnLnRvbWwiLCJjb21tYW5kIjoiW1wiY3BcIixcImludGVybmFsL2J1aWxkZXJzL2RvY2tlci90ZXN0ZGF0YS9jb25maWcudG9tbFwiLFwiY29uZmlnLnRvbWxcIl0iLCJjb25maWdGaWxlIjoiaW50ZXJuYWwvYnVpbGRlcnMvZG9ja2VyL3Rlc3RkYXRhL2NvbmZpZy50b21sIn19LCJzeXN0ZW1QYXJhbWV0ZXJzIjp7fX19","payloadType":"application/vnd.in-toto+json","signatures":[{"sig":"MEYCIQD7FhyVK70Vk4jBiQLPi5Sayy2n+CiebuXoOhEFZaoR5wIhAKGfFvgiHfAc3R8Gui2xgPz5TSLei+otG42psftl23ah","keyid":""}]}} \ No newline at end of file diff --git a/verifiers/internal/gha/trusted_root.go b/verifiers/internal/gha/trusted_root.go new file mode 100644 index 0000000..0ebf5b4 --- /dev/null +++ b/verifiers/internal/gha/trusted_root.go @@ -0,0 +1,58 @@ +package gha + +import ( + "context" + "crypto/x509" + "fmt" + + "github.com/sigstore/cosign/v2/cmd/cosign/cli/fulcio" + "github.com/sigstore/cosign/v2/pkg/cosign" + serrors "github.com/slsa-framework/slsa-verifier/v2/errors" +) + +// TrustedRoot struct that holds the verification material necessary +// to validate items. MUST be populated out of band. +type TrustedRoot struct { + // RekorPubKeys is a map from log ID to public keys containing metadata. + RekorPubKeys *cosign.TrustedTransparencyLogPubKeys + + // SctPubKeys is a map from log ID to public keys for the SCT. + CTPubKeys *cosign.TrustedTransparencyLogPubKeys + + // Certificate pool for Fulcio roots. + FulcioRoot *x509.CertPool + + // Certificate pool for Fulcio intermediates + FulcioIntermediates *x509.CertPool +} + +func GetTrustedRoot(ctx context.Context) (*TrustedRoot, error) { + rekorPubKeys, err := cosign.GetRekorPubs(ctx) + if err != nil { + return nil, fmt.Errorf("%w: %s", serrors.ErrorRekorPubKey, err) + } + + ctPubKeys, err := cosign.GetCTLogPubs(ctx) + if err != nil { + // this is unexpected, hold on to this error. + return nil, fmt.Errorf("%w: %s", serrors.ErrorInternal, err) + } + + roots, err := fulcio.GetRoots() + if err != nil { + // this is unexpected, hold on to this error. + return nil, fmt.Errorf("%w: %s", serrors.ErrorInternal, err) + } + intermediates, err := fulcio.GetIntermediates() + if err != nil { + // this is unexpected, hold on to this error. + return nil, fmt.Errorf("%w: %s", serrors.ErrorInternal, err) + } + + return &TrustedRoot{ + FulcioRoot: roots, + FulcioIntermediates: intermediates, + RekorPubKeys: rekorPubKeys, + CTPubKeys: ctPubKeys, + }, nil +} diff --git a/verifiers/internal/gha/verifier.go b/verifiers/internal/gha/verifier.go index 0a7bcd3..4c05d73 100644 --- a/verifiers/internal/gha/verifier.go +++ b/verifiers/internal/gha/verifier.go @@ -91,10 +91,16 @@ func (v *GHAVerifier) VerifyArtifact(ctx context.Context, return nil, nil, err } + trustedRoot, err := GetTrustedRoot(ctx) + if err != nil { + return nil, nil, err + } + /* Verify signature on the intoto attestation. */ // TODO(https://github.com/slsa-framework/slsa-github-generator/issues/716): // We will also need to support bundles when those are complete. - signedAtt, err := VerifyProvenanceSignature(ctx, rClient, provenance, artifactHash) + signedAtt, err := VerifyProvenanceSignature(ctx, trustedRoot, rClient, + provenance, artifactHash) if err != nil { return nil, nil, err }