Trait JwkDocumentExtHybrid

Source
pub trait JwkDocumentExtHybrid {
    // Required methods
    fn generate_method_hybrid<'life0, 'life1, 'life2, 'async_trait, K, I>(
        &'life0 mut self,
        storage: &'life1 Storage<K, I>,
        alg_id: CompositeAlgId,
        fragment: Option<&'life2 str>,
        scope: MethodScope,
    ) -> Pin<Box<dyn Future<Output = Result<String, JwkStorageDocumentError>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             K: JwkStorage + JwkStoragePQ + 'async_trait,
             I: KeyIdStorage + 'async_trait,
             Self: 'async_trait;
    fn create_jws<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait, K, I>(
        &'life0 self,
        storage: &'life1 Storage<K, I>,
        fragment: &'life2 str,
        payload: &'life3 [u8],
        options: &'life4 JwsSignatureOptions,
    ) -> Pin<Box<dyn Future<Output = Result<Jws, JwkStorageDocumentError>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait,
             'life4: 'async_trait,
             K: JwkStorage + JwkStoragePQ + 'async_trait,
             I: KeyIdStorage + 'async_trait,
             Self: 'async_trait;
    fn create_credential_jwt_hybrid<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait, K, I, T>(
        &'life0 self,
        credential: &'life1 Credential<T>,
        storage: &'life2 Storage<K, I>,
        fragment: &'life3 str,
        options: &'life4 JwsSignatureOptions,
        custom_claims: Option<BTreeMap<String, Value>>,
    ) -> Pin<Box<dyn Future<Output = Result<Jwt, JwkStorageDocumentError>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait,
             'life4: 'async_trait,
             K: JwkStorage + JwkStoragePQ + 'async_trait,
             I: KeyIdStorage + 'async_trait,
             T: Clone + Serialize + DeserializeOwned + Sync + 'async_trait,
             Self: 'async_trait;
    fn create_presentation_jwt_hybrid<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'async_trait, K, I, CRED, T>(
        &'life0 self,
        presentation: &'life1 Presentation<CRED, T>,
        storage: &'life2 Storage<K, I>,
        fragment: &'life3 str,
        signature_options: &'life4 JwsSignatureOptions,
        presentation_options: &'life5 JwtPresentationOptions,
    ) -> Pin<Box<dyn Future<Output = Result<Jwt, JwkStorageDocumentError>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait,
             'life4: 'async_trait,
             'life5: 'async_trait,
             K: JwkStorage + JwkStoragePQ + 'async_trait,
             I: KeyIdStorage + 'async_trait,
             T: Clone + Serialize + DeserializeOwned + Sync + 'async_trait,
             CRED: Serialize + DeserializeOwned + Clone + Sync + 'async_trait,
             Self: 'async_trait;
}
Expand description

Extension trait to handle PQ/T hybrid operations.

Required Methods§

Source

fn generate_method_hybrid<'life0, 'life1, 'life2, 'async_trait, K, I>( &'life0 mut self, storage: &'life1 Storage<K, I>, alg_id: CompositeAlgId, fragment: Option<&'life2 str>, scope: MethodScope, ) -> Pin<Box<dyn Future<Output = Result<String, JwkStorageDocumentError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, K: JwkStorage + JwkStoragePQ + 'async_trait, I: KeyIdStorage + 'async_trait, Self: 'async_trait,

Generate an Verification Method containing a PQ/T hybrid key.

Source

fn create_jws<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait, K, I>( &'life0 self, storage: &'life1 Storage<K, I>, fragment: &'life2 str, payload: &'life3 [u8], options: &'life4 JwsSignatureOptions, ) -> Pin<Box<dyn Future<Output = Result<Jws, JwkStorageDocumentError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, 'life4: 'async_trait, K: JwkStorage + JwkStoragePQ + 'async_trait, I: KeyIdStorage + 'async_trait, Self: 'async_trait,

Create a PQ/T hybrid JWS.

Source

fn create_credential_jwt_hybrid<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait, K, I, T>( &'life0 self, credential: &'life1 Credential<T>, storage: &'life2 Storage<K, I>, fragment: &'life3 str, options: &'life4 JwsSignatureOptions, custom_claims: Option<BTreeMap<String, Value>>, ) -> Pin<Box<dyn Future<Output = Result<Jwt, JwkStorageDocumentError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, 'life4: 'async_trait, K: JwkStorage + JwkStoragePQ + 'async_trait, I: KeyIdStorage + 'async_trait, T: Clone + Serialize + DeserializeOwned + Sync + 'async_trait, Self: 'async_trait,

Create a PQ/T hybrid Verifiable Credential.

Source

fn create_presentation_jwt_hybrid<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'async_trait, K, I, CRED, T>( &'life0 self, presentation: &'life1 Presentation<CRED, T>, storage: &'life2 Storage<K, I>, fragment: &'life3 str, signature_options: &'life4 JwsSignatureOptions, presentation_options: &'life5 JwtPresentationOptions, ) -> Pin<Box<dyn Future<Output = Result<Jwt, JwkStorageDocumentError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, 'life4: 'async_trait, 'life5: 'async_trait, K: JwkStorage + JwkStoragePQ + 'async_trait, I: KeyIdStorage + 'async_trait, T: Clone + Serialize + DeserializeOwned + Sync + 'async_trait, CRED: Serialize + DeserializeOwned + Clone + Sync + 'async_trait, Self: 'async_trait,

Create a PQ/T hybrid Verifiable Presentation.

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§