Struct tugger_code_signing::Signer[][src]

pub struct Signer { /* fields omitted */ }

An entity for performing code signing.

This contains the SigningCertificate as well as other global signing settings.

Implementations

impl Signer[src]

pub fn new(signing_certificate: SigningCertificate) -> Self[src]

Construct a new instance given a SigningCertificate.

pub fn chain_certificate(&mut self, certificate: CapturedX509Certificate)[src]

Add an X.509 certificate to the certificate chain.

When signing, it is common to include the chain of certificates that signed the signing certificate in the signature. This can facilitate with validation of the signature.

This function can be called to register addition certificates into the signing chain.

pub fn chain_certificates_pem(
    &mut self,
    data: impl AsRef<[u8]>
) -> Result<(), SigningError>
[src]

Add PEM encoded X.509 certificates to the certificate chain.

This is like Self::chain_certificate except the certificate is specified as PEM encoded data. This is a human readable string like -----BEGIN CERTIFICATE----- and is a common method for encoding certificate data. The specified data can contain multiple certificates.

pub fn chain_certificates(
    &mut self,
    certificates: impl Iterator<Item = CapturedX509Certificate>
)
[src]

Add multiple X.509 certificates to the certificate chain.

See Self::chain_certificate for details.

pub fn chain_certificates_macos_keychain(&mut self) -> Result<(), SigningError>[src]

Chain X.509 certificates by searching for them in the macOS keychain.

This function will access the macOS keychain and attempt to locate the certificates composing the signing chain of the currently configured signing certificate.

This function only works when run on macOS.

This function will error if the signing certificate wasn’t self-signed and its issuer chain could not be resolved.

pub fn time_stamp_url(&mut self, url: impl IntoUrl) -> Result<(), SigningError>[src]

Set the URL of a Time-Stamp Protocol server to use.

If specified, the server will always be used. In some cases, a Time-Stamp Protocol server will be used automatically if one is not specified.

pub fn apple_settings_callback(&mut self, cb: AppleSigningSettingsFn)[src]

Set a callback function to be called to influence settings for signing individual Apple signables.

pub fn windows_settings_callback(&mut self, cb: WindowsSignerFn)[src]

Set a callback function to be called to influence settings for signing individual Windows signables.

pub fn resolve_signability(
    &self,
    candidate: &SignableCandidate<'_>
) -> Result<Signability, SigningError>
[src]

Determine the signability of a potentially signable entity.

pub fn resolve_signer(
    &self,
    candidate: &SignableCandidate<'_>
) -> Result<Option<SignableSigner<'_>>, SigningError>
[src]

Attempt to resolve a SignableSigner for the SignableCandidate.

This will determine if a given entity can be signed by us. If so, we will return a Some(T) that can be used to sign it. If the entity is not signable, returns a None.

If an error occurs computing signability, Err occurs.

Trait Implementations

impl From<SigningCertificate> for Signer[src]

fn from(cert: SigningCertificate) -> Self[src]

Performs the conversion.

Auto Trait Implementations

impl RefUnwindSafe for Signer

impl Send for Signer

impl Sync for Signer

impl Unpin for Signer

impl UnwindSafe for Signer

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T> Instrument for T[src]

fn instrument(self, span: Span) -> Instrumented<Self>[src]

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

fn in_current_span(self) -> Instrumented<Self>[src]

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V

impl<T> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?Sized
[src]