ssi_data_integrity_core/suite/standard/
signature.rs1use ssi_claims_core::SignatureError;
2
3use crate::{CryptographicSuite, ProofConfigurationRef};
4
5pub trait SignatureAndVerificationAlgorithm {
6 type Signature: AsRef<str>;
7}
8
9pub trait SignatureAlgorithm<S: CryptographicSuite, T>: SignatureAndVerificationAlgorithm {
10 #[allow(async_fn_in_trait)]
11 async fn sign(
12 verification_method: &S::VerificationMethod,
13 signer: T,
14 prepared_claims: S::PreparedClaims,
15 proof_configuration: ProofConfigurationRef<'_, S>,
16 ) -> Result<Self::Signature, SignatureError>;
17}