Skip to main content

ElectronicSignatureProvider

Trait ElectronicSignatureProvider 

Source
pub trait ElectronicSignatureProvider: Send + Sync {
    // Required methods
    fn kind(&self) -> SignatureProviderKind;
    fn request_signature<'life0, 'async_trait>(
        &'life0 self,
        request: SignatureRequest,
    ) -> Pin<Box<dyn Future<Output = Result<SignatureRequestAck, SignatureProviderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn fetch_signature<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        provider_reference: &'life1 str,
        expected_document_hash: &'life2 str,
    ) -> Pin<Box<dyn Future<Output = Result<QualifiedSignature, SignatureProviderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
}
Expand description

Port hexagonal vers un prestataire de signature électronique qualifiée.

Required Methods§

Source

fn kind(&self) -> SignatureProviderKind

Source

fn request_signature<'life0, 'async_trait>( &'life0 self, request: SignatureRequest, ) -> Pin<Box<dyn Future<Output = Result<SignatureRequestAck, SignatureProviderError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Envoie le document au prestataire. Le condensat est calculé et renvoyé AVANT l’appel réseau (AC @security).

Source

fn fetch_signature<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, provider_reference: &'life1 str, expected_document_hash: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<QualifiedSignature, SignatureProviderError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Interroge le prestataire pour une référence donnée. expected_document_hash est celui rendu par request_signature : le résultat est rejeté (HashMismatch) si le prestataire ne confirme pas le même condensat.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§