use ssi_claims::VerificationParameters;
use ssi_dids::{DIDResolver, StaticDIDResolver, VerificationMethodDIDResolver};
use ssi_verification_methods::AnyMethod;
use std::fs;
#[async_std::main]
async fn main() {
let credential_content = fs::read_to_string("examples/files/vc.jsonld").unwrap();
let vc = ssi::claims::vc::v1::data_integrity::any_credential_from_json_str(&credential_content)
.unwrap();
let verifier = create_verifier();
assert!(vc.verify(&verifier).await.unwrap().is_ok());
println!("Success!")
}
fn create_verifier(
) -> VerificationParameters<VerificationMethodDIDResolver<StaticDIDResolver, AnyMethod>> {
let mut did_resolver = ssi::dids::StaticDIDResolver::new();
did_resolver.insert(
"did:example:foo".parse().unwrap(),
ssi::dids::resolution::Output::from_content(
include_bytes!("../crates/dids/core/tests/vectors/did-example-foo.json").to_vec(),
Some("application/did+json".to_owned()),
),
);
let resolver = did_resolver.into_vm_resolver();
VerificationParameters::from_resolver(resolver)
}