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.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.