Skip to content

Commit 4994324

Browse files
committed
fix: fix registry test
1 parent 856ecbf commit 4994324

1 file changed

Lines changed: 42 additions & 0 deletions

File tree

docs/design/transparency-log-port.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,48 @@ The adapter submits:
162162

163163
**Fallback:** If testing reveals that Rekor rejects pure Ed25519 hashedrekord entries on the production instance or they cannot be verified by standard tooling, switch to `dsse`. The adapter boundary isolates this decision — no core code changes needed.
164164

165+
### Sigstore Compatibility Validation
166+
167+
The Rekor adapter wraps raw public keys in SPKI DER before submission (see `wrap_pubkey_in_spki_der` in `auths-infra-rekor/src/client.rs`). This makes entries verifiable by standard Sigstore tooling. No Fulcio or OIDC is needed — auths bootstraps its own identity model onto Sigstore's public log.
168+
169+
**Manual validation steps (run once before launch):**
170+
171+
```bash
172+
# 1. Install Sigstore CLI tools
173+
go install github.com/sigstore/rekor/cmd/rekor-cli@latest
174+
go install github.com/sigstore/cosign/cmd/cosign@latest
175+
176+
# 2. Create a P-256 identity and sign an artifact
177+
cargo install --path crates/auths-cli
178+
auths init
179+
echo "test artifact" > /tmp/test-artifact.txt
180+
auths artifact sign --log /tmp/test-artifact.txt
181+
182+
# 3. Note the log index from the output (e.g. "Logged at index 12345678")
183+
184+
# 4. Verify the entry exists in Rekor
185+
rekor-cli get --log-index <INDEX> --rekor_server https://rekor.sigstore.dev
186+
187+
# 5. Verify the entry is well-formed (public key parses, signature structure valid)
188+
rekor-cli get --log-index <INDEX> --rekor_server https://rekor.sigstore.dev --format json | jq .
189+
190+
# 6. Search by public key (confirms key format is recognized)
191+
# Export the device public key in PEM:
192+
# openssl ec -pubin -in <(auths key export --format pem) -outform DER | base64
193+
# Then:
194+
rekor-cli search --public-key <base64-der-key> --rekor_server https://rekor.sigstore.dev
195+
```
196+
197+
**What "success" looks like:**
198+
- Step 4 returns the entry without errors
199+
- Step 5 shows `hashedrekord` with `spec.signature.publicKey.content` that decodes to valid SPKI DER
200+
- Step 6 returns the entry's UUID (proves Rekor indexed the key correctly)
201+
202+
**What "failure" looks like and what to do:**
203+
- Step 4 returns 404 → submission didn't land; check `auths artifact sign --log` output for errors
204+
- Step 5 shows the entry but key is raw bytes (not DER) → `wrap_pubkey_in_spki_der` isn't being called; check the adapter code path
205+
- Step 6 returns empty → Rekor couldn't index the key format; switch to `dsse` entry type per the fallback plan above
206+
165207
## 6. Rekor API Version Commitment
166208

167209
**Decision: Target Rekor v1 API for entry submission.**

0 commit comments

Comments
 (0)