* Make TL logging/verification optional * Return errors from go-lang fns * Update pkg/policy/rego.go Co-authored-by: Jonny Stoten <jonny@jonnystoten.com> * Update pkg/attestation/sign.go Co-authored-by: Joel Kamp <joel.kamp@docker.com> * Move public key marshelling until later * Simplify logSignature and pass down opts --------- Co-authored-by: Jonny Stoten <jonny@jonnystoten.com> Co-authored-by: Joel Kamp <joel.kamp@docker.com>
31 lines
637 B
Rego
31 lines
637 B
Rego
package attest
|
|
|
|
import rego.v1
|
|
|
|
keys := [{
|
|
"id": "a0c296026645799b2a297913878e81b0aefff2a0c301e97232f717e14402f3e4",
|
|
"key": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHyZpSgzvqFqNv7f3x7865OS38rAb\nQMcff55zM2UH/KR3Pr84a8QsGDNgaNGzJQJWjtMSgfV8WnNoffNK+svFNg==\n-----END PUBLIC KEY-----",
|
|
"from": "2023-12-15T14:00:00Z",
|
|
"to": null,
|
|
}]
|
|
|
|
default success := false
|
|
|
|
provs(pred) := p if {
|
|
res := attest.fetch(pred)
|
|
not res.error
|
|
p := res.value
|
|
}
|
|
|
|
atts := union({provs("foo")})
|
|
|
|
opts := {"keys": keys}
|
|
|
|
success if {
|
|
some env in atts
|
|
res := attest.verify(env, opts)
|
|
not res.error
|
|
}
|
|
|
|
result := {"success": success}
|