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 { ... }
}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".