piprate / json-gold

A JSON-LD processor for Go
Apache License 2.0
259 stars 30 forks source link

Features Roadmap #3

Open NeoCN opened 6 years ago

NeoCN commented 6 years ago

Is there any feature roadmap? e.g. Linked Data Signatures support

BigBlueHat commented 6 years ago

Probably best to build Linked Data Signatures support as a separate library that uses this one. The two are connected, but LDS is far more constraining (by design) than JSON-LD is as a syntax (or even API).

It would be good to see a LDS for Go library, though!

kazarena commented 6 years ago

@BigBlueHat we have support for LDS (2015 flavour) internally, but haven't exposed it in a public library. For 2 reasons:

1) we were waiting for the new standard to do it and also add support for the LDS test suite 2) we use a content-addressable signature scheme (entity id is derived from the normalised form of a signed document, with caveats. This requires a bit of untangling before adding to the library :-)

Anyway, it's a good suggestion. LDS is great.

johnptoohey commented 5 years ago

Thanks for this great lib for JSON-LD. I too am waiting for signature support and was wondering if you have any updates?

kazarena commented 5 years ago

@johnptoohey as there is a clear demand for it, I'll try to find time over next few weeks and raise a PR.

johnptoohey commented 5 years ago

@kazarena That would be great. Will that support LD Proofs or the original LD Signatures? Thanks again.

kazarena commented 5 years ago

@johnptoohey we will be supporting (roughly) the same functionality as https://github.com/digitalbazaar/jsonld-signatures. I believe it supports both the original style of signatures and LD proofs.

I have the general framework and Ed25519 support implemented. It took a lot longer because we realised LD signatures require JSON-LD 1.1, which we didn't support. Will put up a PR sometime next week.

kazarena commented 5 years ago

@johnptoohey a quick update: JSON-LD Signatures development was put on hold because it depends on JSON-LD 1.1 spec, but the Java implementation of JSON-LD doesn't support it. As a result, we can't use it, and it dropped down the priority list (we use Go, Java and JS in our platform and we need an ability to sign and validate signatures on all three architectures). I'll try to release limited support for the JSON-LD Sig spec sometime this spring. Apologies for the unplanned delays.

troyronda commented 4 years ago

FYI JSON-LD Signatures in Go (makes use of json-gold): https://github.com/hyperledger/aries-framework-go/tree/master/pkg/doc/signature

kazarena commented 4 years ago

@troyronda thank you for the link. It will help us to either rely on the Aries implementation of JSON-LD signatures or build our own.