pub struct CosignVerifier {
pub keyless: bool,
pub public_key: Option<Vec<u8>>,
}
Expand description
Cosign-compatible verifier for blob signatures and attestations
Fields§
§keyless: bool
Whether to use keyless verification (Fulcio) or key-based
public_key: Option<Vec<u8>>
Optional public key for key-based verification
Implementations§
Source§impl CosignVerifier
impl CosignVerifier
pub fn new_keyless() -> Self
pub fn new_with_key(public_key: Vec<u8>) -> Self
Sourcepub async fn new_with_key_file(key_path: &Path) -> Result<Self>
pub async fn new_with_key_file(key_path: &Path) -> Result<Self>
Load a public key from a file
Sourcepub fn new_with_key_string(key_str: &str) -> Self
pub fn new_with_key_string(key_str: &str) -> Self
Load a public key from a string (PEM or base64)
Trait Implementations§
Source§impl Verifier for CosignVerifier
impl Verifier for CosignVerifier
Source§fn verify<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
bundle: &'life1 ParsedBundle,
artifact_path: &'life2 Path,
policy: &'life3 Policy,
) -> Pin<Box<dyn Future<Output = Result<VerificationResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn verify<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
bundle: &'life1 ParsedBundle,
artifact_path: &'life2 Path,
policy: &'life3 Policy,
) -> Pin<Box<dyn Future<Output = Result<VerificationResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Verify an attestation bundle against an artifact
Source§fn verifier_type(&self) -> &'static str
fn verifier_type(&self) -> &'static str
Get the verifier type name for logging
Auto Trait Implementations§
impl Freeze for CosignVerifier
impl RefUnwindSafe for CosignVerifier
impl Send for CosignVerifier
impl Sync for CosignVerifier
impl Unpin for CosignVerifier
impl UnwindSafe for CosignVerifier
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> BorrowUnordered for T
impl<T> BorrowUnordered for T
fn as_unordered(&self) -> &Unordered<T>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more