transmute-industries / did-key.js

A DID Key Implementation in TypeScript
https://did.key.transmute.industries/
Apache License 2.0
54 stars 15 forks source link

Add ebsi jwk_jcs-pub codec implementation #309

Open patatoid opened 3 months ago

patatoid commented 3 months ago

Hi,

Running the ebsi compliance tests I needed to resolve ebsi crafted keys and made use of an universalresolver instance to do so. Here is the implementation that I used to pass the tests, with the need to propagate the changes to https://github.com/decentralized-identity/uni-resolver-driver-did-key.

As far as I could perform tests, this implementation works properly resolving the ebsi provided dids from the test suite.

For this implementation, I use the cef-ebsi package which bring issues with the cjs / esm builds, the second commit is an example of integration but I had to manually build the cjs module to push it to npm. There may be better ways to solve this, that said, it is the only one I could find.

Here is a working example (a deployment of https://github.com/malach-it/uni-resolver-driver-did-key):

https://universalresolver.boruta.patatoid.fr/1.0/identifiers/did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbowkrd8N32k1hMP7589MHcyNK7C5CYhRki8Qk28SFfQ3S4UECo7cet1N7AMxbyNRdv13955RPTWUk8EnJtBCpP1pDB9gvK1x6zBZArptWqYFC2t7kNA3KXVMH53d9W3QWep