Skip to main content

Provider

Trait Provider 

Source
pub trait Provider<'path, 'document> {
    type Evidence;
    type Error;

    // Required method
    fn authenticate(
        &self,
        context: Context<'_, '_, 'document>,
    ) -> Result<Authentication<'path, 'document, Self::Evidence>, Self::Error>;
}
Expand description

Actual credential-format authentication, without a parallel crypto engine.

EN319122-1 §5.2.6.1 leaves non-X.509 certificate/assertion formats to their own specifications. Authenticate THIS original value and its binding to the actual signer, returning the concrete format evidence and every actual authority path/direct anchor or explicit certificate-free mechanism used. Admit parsing, arithmetic, copies, output and retained evidence through the current execution before work; preserve original resource/processing causes. No network/file acquisition or asserted-role authorization occurs here. https://www.etsi.org/deliver/etsi_en/319100_319199/31912201/01.03.01_60/en_31912201v010301p.pdf

Required Associated Types§

Source

type Evidence

Actual retained format evidence, without Clone/Send/Sync bounds.

Source

type Error

Original provider/source/resource refusal, distinct from rejection.

Required Methods§

Source

fn authenticate( &self, context: Context<'_, '_, 'document>, ) -> Result<Authentication<'path, 'document, Self::Evidence>, Self::Error>

Authenticate one original independently signed credential exactly once.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§