pub trait Builder: Sized {
type Signer;
type Output: Sized;
// Required methods
fn signer(&self) -> &Self::Signer;
fn assemble(self, signature: BitString) -> Result<Self::Output, Error>;
fn finalize(&mut self) -> Result<Vec<u8>>;
// Provided methods
fn build<Signature>(self) -> Result<Self::Output, Error>
where Self::Signer: Signer<Signature>,
Signature: SignatureBitStringEncoding { ... }
fn build_with_rng<Signature>(
self,
rng: &mut impl CryptoRngCore
) -> Result<Self::Output, Error>
where Self::Signer: RandomizedSigner<Signature>,
Signature: SignatureBitStringEncoding { ... }
}
Available on crate feature
builder
only.Expand description
Trait for X509 builders
This trait defines the interface between builder and the signers.
Required Associated Types§
Required Methods§
Provided Methods§
sourcefn build<Signature>(self) -> Result<Self::Output, Error>
fn build<Signature>(self) -> Result<Self::Output, Error>
Run the object through the signer and build it.
sourcefn build_with_rng<Signature>(
self,
rng: &mut impl CryptoRngCore
) -> Result<Self::Output, Error>
fn build_with_rng<Signature>( self, rng: &mut impl CryptoRngCore ) -> Result<Self::Output, Error>
Run the object through the signer and build it.
Object Safety§
This trait is not object safe.