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§
Sourcefn 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 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.
Sourcefn 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_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.
Sourcefn 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_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.
Sourcefn 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,
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.