pub struct ExecutorAttestation {
pub attestation_type: String,
pub credential: Vec<u8>,
pub pop: Option<Vec<u8>>,
}Expand description
Executor Attestation - a verifiable document attesting executor properties.
Replaces the old ProofOfIdentity with a more flexible structure that
supports multiple attestation types and per-attestation PoP.
The attestation_type is a string to allow extensibility. Common values include:
"spiffe_svid"- SPIFFE SVID (X.509), typically requires PoP"vp"- Verifiable Presentation, PoP implicit in VP signature"tee_quote"- TEE Quote (SGX, TDX, SEV), hardware-bound"jwt"- JWT token"x509"- Generic X.509 certificate
The PoP (when present) MUST sign hash(protected_header + payload) to bind
the attestation to this specific PoC context, preventing replay attacks.
Fields§
§attestation_type: StringAttestation type (extensible string, e.g., “spiffe_svid”, “vp”, “tee_quote”)
credential: Vec<u8>The credential bytes (X.509 cert, VP, TEE quote, JWT, etc.) Contains or references the public key for verification.
pop: Option<Vec<u8>>Proof of Possession - signature over hash(protected + payload). Present only if the attestation type requires it. The PoP binds this attestation to this specific PoC context.
Implementations§
Source§impl ExecutorAttestation
impl ExecutorAttestation
Sourcepub fn new(
attestation_type: impl Into<String>,
credential: Vec<u8>,
) -> ExecutorAttestation
pub fn new( attestation_type: impl Into<String>, credential: Vec<u8>, ) -> ExecutorAttestation
Creates a new attestation without PoP.
Use this for attestation types where PoP is implicit (e.g., VP) or not applicable (e.g., TEE quote).
Trait Implementations§
Source§impl Clone for ExecutorAttestation
impl Clone for ExecutorAttestation
Source§fn clone(&self) -> ExecutorAttestation
fn clone(&self) -> ExecutorAttestation
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more