Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds support for
did:web
in DIDKit's CLI and HTTP server, using spruceid/ssi#74.hyper-tls
uses native TLS, which uses the openssl crate on Linux. That may be able to cross-compile for Android (e.g. sfackler/rust-openssl#626), but I was not able to get that working, so I have disableddid:web
for the FFIs for now, only enabling it with a feature for the CLI and HTTP server. (A possible alternative may be change thedid:web
implementation to use hyper-rustls. rustls usesring
.)Using this resolver for verification without passing a
verificationMethod
option may result in making two HTTPS requests instead of one. This is because internally the DID document is resolved twice, once to dereference theverificationMethod
in the proof object, and once to resolve the DID document from theissuer
orholder
property - unless theverificationMethod
verify option is given which overrides that behavior. This inefficiency could be fixed by adding memoization/caching (possibly changing theDIDResolve
trait methods to use&mut self
instead of&self
).