Trait DynamicCertIssuer

pub trait DynamicCertIssuer:
    Send
    + Sync
    + 'static {
    // Required method
    fn issue_cert(
        &self,
        client_hello: ClientHello,
        server_name: Option<Domain>,
    ) -> impl Future<Output = Result<ServerAuthData, OpaqueError>> + Send + Sync;

    // Provided method
    fn norm_cn(&self, _domain: &Domain) -> Option<&Domain> { ... }
}
Expand description

Trait that needs to be implemented by cert issuers to support dynamically issueing (external) certs based on client_hello input.

Required Methods§

fn issue_cert( &self, client_hello: ClientHello, server_name: Option<Domain>, ) -> impl Future<Output = Result<ServerAuthData, OpaqueError>> + Send + Sync

Provided Methods§

fn norm_cn(&self, _domain: &Domain) -> Option<&Domain>

Can be used to return a normalized domain for purposes such as caching.

This is only useful for issuers where the actual used domain might be modified such that mutliple different input domains result in the same output domain. E.g. because of wildcard domains.

Mostly useful for optimizations in caching of certs, but not critical to have, just nice.

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.

Implementors§