pub struct IdentityBundle {
pub identity_did: IdentityDID,
pub public_key_hex: PublicKeyHex,
pub curve: CurveType,
pub attestation_chain: Vec<Attestation>,
pub kel: Vec<Value>,
pub bundle_timestamp: DateTime<Utc>,
pub max_valid_for_secs: u64,
}Expand description
An identity bundle for stateless verification in CI/CD environments.
Contains all the information needed to verify commit signatures without requiring access to the identity repository or daemon.
Fields§
§identity_did: IdentityDIDThe DID of the identity (e.g., "did:keri:...")
public_key_hex: PublicKeyHexThe public key in hex format for signature verification.
curve: CurveTypeCurve of public_key_hex. Carried in-band so verifiers never infer
curve from byte length. Defaults to P-256 when absent (older bundles
shipped before this field existed).
attestation_chain: Vec<Attestation>Chain of attestations linking the signing key to the identity
kel: Vec<Value>The identity’s raw KEL events (JSON, oldest first). Carried so KEL-native commit verification stays stateless on CI runners with no identity store. Empty in bundles exported before this field existed.
bundle_timestamp: DateTime<Utc>UTC timestamp when this bundle was created
max_valid_for_secs: u64Maximum age in seconds before this bundle is considered stale
Implementations§
Source§impl IdentityBundle
impl IdentityBundle
Sourcepub fn check_freshness(
&self,
now: DateTime<Utc>,
) -> Result<(), AttestationError>
pub fn check_freshness( &self, now: DateTime<Utc>, ) -> Result<(), AttestationError>
Check that this bundle is still within its TTL.
Args:
now: The current time, injected for deterministic verification.
Usage:
bundle.check_freshness(Utc::now())?;Trait Implementations§
Source§impl Clone for IdentityBundle
impl Clone for IdentityBundle
Source§fn clone(&self) -> IdentityBundle
fn clone(&self) -> IdentityBundle
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for IdentityBundle
impl Debug for IdentityBundle
Source§impl<'de> Deserialize<'de> for IdentityBundle
impl<'de> Deserialize<'de> for IdentityBundle
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for IdentityBundle
impl PartialEq for IdentityBundle
Source§fn eq(&self, other: &IdentityBundle) -> bool
fn eq(&self, other: &IdentityBundle) -> bool
self and other values to be equal, and is used by ==.