pub trait JwkStorageBbsPlusExt: JwkStorage {
// Required methods
fn generate_bbs<'life0, 'async_trait>(
&'life0 self,
key_type: KeyType,
alg: ProofAlgorithm,
) -> Pin<Box<dyn Future<Output = Result<JwkGenOutput, SingleStructError<KeyStorageErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
fn sign_bbs<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
key_id: &'life1 KeyId,
data: &'life2 [Vec<u8>],
header: &'life3 [u8],
public_key: &'life4 Jwk,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, SingleStructError<KeyStorageErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Self: 'async_trait;
fn update_signature<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
key_id: &'life1 KeyId,
public_key: &'life2 Jwk,
signature: &'life3 [u8],
ctx: ProofUpdateCtx,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, SingleStructError<KeyStorageErrorKind>>> + Send + 'async_trait>>
where 'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait;
}
Expand description
Extension to the JwkStorage to handle BBS+ keys
Required Methods§
Sourcefn generate_bbs<'life0, 'async_trait>(
&'life0 self,
key_type: KeyType,
alg: ProofAlgorithm,
) -> Pin<Box<dyn Future<Output = Result<JwkGenOutput, SingleStructError<KeyStorageErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn generate_bbs<'life0, 'async_trait>(
&'life0 self,
key_type: KeyType,
alg: ProofAlgorithm,
) -> Pin<Box<dyn Future<Output = Result<JwkGenOutput, SingleStructError<KeyStorageErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Generates a JWK representing a BBS+ signature
Sourcefn sign_bbs<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
key_id: &'life1 KeyId,
data: &'life2 [Vec<u8>],
header: &'life3 [u8],
public_key: &'life4 Jwk,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, SingleStructError<KeyStorageErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Self: 'async_trait,
fn sign_bbs<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
key_id: &'life1 KeyId,
data: &'life2 [Vec<u8>],
header: &'life3 [u8],
public_key: &'life4 Jwk,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, SingleStructError<KeyStorageErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Self: 'async_trait,
Sign the provided data
and header
using the private key identified by key_id
according to the requirements
of the corresponding public_key
(see Jwk::alg
etc.).
Sourcefn update_signature<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
key_id: &'life1 KeyId,
public_key: &'life2 Jwk,
signature: &'life3 [u8],
ctx: ProofUpdateCtx,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, SingleStructError<KeyStorageErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
fn update_signature<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
key_id: &'life1 KeyId,
public_key: &'life2 Jwk,
signature: &'life3 [u8],
ctx: ProofUpdateCtx,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, SingleStructError<KeyStorageErrorKind>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
Update proof functionality for timeframe revocation mechanism
Implementors§
impl JwkStorageBbsPlusExt for JwkMemStore
JwkStorageBbsPlusExt implementation for JwkMemStore