pub struct Signer {
pub identity: String,
pub issuer: String,
pub predicate_type: String,
}Expand description
Who must have signed a release’s attestation, and what it must attest.
Fields§
§identity: StringThe certificate’s subject alternative name, matched exactly.
issuer: StringThe certificate’s OIDC issuer, matched exactly.
predicate_type: StringThe in-toto statement’s predicateType, matched exactly.
Implementations§
Source§impl Signer
impl Signer
Sourcepub fn release(tag: &str) -> Signer
pub fn release(tag: &str) -> Signer
This repository’s release workflow, run for exactly tag.
Stricter than gh attestation verify --repo, which accepts any workflow in the
repository at any ref. Pinning the tag ties the bytes to the version asked for, so an
older release’s genuine asset and bundle can’t answer a request for a newer one.
The owner is today’s name. Releases v0.5.0 and v0.6.0 were signed before the account
was renamed, under a name GitHub now reports as unregistered, so anyone could claim it
and sign as it. Those two tags are refused here, as gh attestation verify --repo
refuses them (measured 2026-09-26).
Trait Implementations§
impl Eq for Signer
impl StructuralPartialEq for Signer
Auto Trait Implementations§
impl Freeze for Signer
impl RefUnwindSafe for Signer
impl Send for Signer
impl Sync for Signer
impl Unpin for Signer
impl UnsafeUnpin for Signer
impl UnwindSafe for Signer
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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> ⓘ
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> ⓘ
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