ssi
ssi copied to clipboard
Add CacaoZcapProof2022
Importing code and test vectors from https://github.com/spruceid/cacao-zcap-rs.
To have ssi depend on the cacao-zcap crate as it is now would create a circular dependency, since cacao-zcap already depends on ssi. This PR therefore adds the cacao-zcap implementation into the ssi crate directly.
To reduce the coupling so that cacao-zcap (and other proof suites) could be separate from the ssi crate, would require some refactoring. e.g. a "core" part of ssi could be removed into a new crate that the proof suites could depend on, so that ssi could depend on the proof suites as separate crates.
The context file has already been added (#434) - Although it is not needed for just a CacaoZcapProof2022 delegation which does not itself involve JSON-LD processing, it is needed to invoke the delegation with a different (JSON-LD) proof type.
Note: embedding a CacaoProof2022/CacaoZcapProof2022 delegation in an invocation or subdelegation doesn't yet work, because of #437.