pub enum TrustedRootKeyError {
NoEcdsaP256Tlog,
TlogLogIdNoMatch {
invariant: &'static str,
receipt_log_id: String,
tlog_log_ids: Vec<String>,
},
MissingRawBytes,
Base64 {
reason: String,
},
DecodeKey {
reason: String,
},
}Expand description
Errors when extracting a typed Rekor verifying key from the active trusted root.
Variants§
NoEcdsaP256Tlog
No transparency-log instance in the trusted root declared an ECDSA P-256 key. Cortex does not (yet) accept Ed25519 Rekor signatures.
TlogLogIdNoMatch
No transparency-log instance declared a logId.keyId that
matches the Rekor receipt’s body.logID. Closes BH-3
(docs/reviews/BUG_HUNT_2026-05-12_post_8f43450.md Finding 3,
Cosign GHSA-whqx-f9j3-ch6m class). Refusal is structural — there
is no silent fall-back to the latest-activated tlog.
Fields
invariant: &'static strStable invariant token, equal to
REKOR_TRUSTED_ROOT_TLOG_LOGID_NO_MATCH_INVARIANT.
MissingRawBytes
The selected tlog declared no rawBytes field for its
publicKey. The verifier refuses to fall back to inferring keys
from other channels.
Base64
rawBytes was present but did not decode as base64.
DecodeKey
The decoded DER bytes did not parse as a P-256 SubjectPublicKeyInfo.
Trait Implementations§
Source§impl Debug for TrustedRootKeyError
impl Debug for TrustedRootKeyError
Source§impl Display for TrustedRootKeyError
impl Display for TrustedRootKeyError
Source§impl Error for TrustedRootKeyError
impl Error for TrustedRootKeyError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()