From 137283e90d31f379b71e145313129e3842f04e6f Mon Sep 17 00:00:00 2001 From: Rod Vagg Date: Mon, 6 Sep 2021 12:44:23 +1000 Subject: [PATCH] feat: add basic dag-jose jws and jwe fixtures --- _fixtures_src/jwe-asymmetric.dag-jose | Bin 0 -> 411 bytes _fixtures_src/jwe-symmetric.dag-jose | 1 + _fixtures_src/jws.dag-jose | 2 ++ ...xwet7w7zm5qrjpop655yhnb5dnzqw26lm.dag-cbor | 1 + ...au32ttrutxnco7xeoik6mlejismmvw5zq.dag-jose | Bin 0 -> 411 bytes ...gl7rhyta2p7lwaocyxx4vpvdligb7mt2q.dag-json | 1 + ...fwksbal3ygtswxuri25crxdxms55m5fki.dag-cbor | 1 + ...nfschs25epy5sbtqtjre2qw3d62kzplva.dag-jose | 1 + ...p5wycbfih35xih2uznminpnds5esm4jlq.dag-json | 1 + ...q46dt6h7u6byejmlnifz34z7ocoq7ugk4.dag-cbor | Bin 0 -> 247 bytes ...xrutp6ijywgsacllkznzekmfojypkvfea.dag-jose | 2 ++ ...gknnkncztgmvhjhxm6ih352qskolt2gxa.dag-json | 1 + go/fixtures.go | 8 ++++++++ go/go.mod | 2 +- go/go.sum | 18 ++++++++++++++++++ js/codecs.js | 4 +++- js/package.json | 1 + 17 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 _fixtures_src/jwe-asymmetric.dag-jose create mode 100644 _fixtures_src/jwe-symmetric.dag-jose create mode 100644 _fixtures_src/jws.dag-jose create mode 100644 fixtures/jwe-asymmetric/bafyreihkt4u6euddfhofkutfzxwet7w7zm5qrjpop655yhnb5dnzqw26lm.dag-cbor create mode 100644 fixtures/jwe-asymmetric/bagcqceraqfknq7xaemcihmq2albau32ttrutxnco7xeoik6mlejismmvw5zq.dag-jose create mode 100644 fixtures/jwe-asymmetric/baguqeeraloya3qpa25kl5l4y3bzgl7rhyta2p7lwaocyxx4vpvdligb7mt2q.dag-json create mode 100644 fixtures/jwe-symmetric/bafyreicxyzuqbx5yb7ytkgkuofwksbal3ygtswxuri25crxdxms55m5fki.dag-cbor create mode 100644 fixtures/jwe-symmetric/bagcqceraxazmu67crshzqdeg3kwnfschs25epy5sbtqtjre2qw3d62kzplva.dag-jose create mode 100644 fixtures/jwe-symmetric/baguqeeraovfm3rr3pvmxm27zgvxp5wycbfih35xih2uznminpnds5esm4jlq.dag-json create mode 100644 fixtures/jws/bafyreihdfxoshbhowufyvjk7kq46dt6h7u6byejmlnifz34z7ocoq7ugk4.dag-cbor create mode 100644 fixtures/jws/bagcqceraxvt5izt4sz7kjfrm42dxrutp6ijywgsacllkznzekmfojypkvfea.dag-jose create mode 100644 fixtures/jws/baguqeeravexfd6qijjtnzxfqq6kgknnkncztgmvhjhxm6ih352qskolt2gxa.dag-json diff --git a/_fixtures_src/jwe-asymmetric.dag-jose b/_fixtures_src/jwe-asymmetric.dag-jose new file mode 100644 index 0000000000000000000000000000000000000000..d2d93cf556a18f4ef0f85bdf09502de81cdacf81 GIT binary patch literal 411 zcmV;M0c8HAVrh0vL(FMD-}7d-?;ZqxV{~C>P>&Jgaa*jrOshB?@c2x5%xQ3PZ**m2 zbY)~%CVL`bY-b`mB2rU9El)v3P%SbwHXO(K12V`*?`WpZ?7 zcyw48SvIigXR3v!Lk<_6%w{LD+_*@@en&H~YI0>`X>e&}Zgg{jp>1VuV{&U4sD=bSkwZ;-8?67Y9YN;^|uqI8ts|v()j<^ro zjaw0!X=qT)3noh2LleNUS1_RXz+hdPfe!=YKn4|2Ga6`646;5tmB{!9*hP?gmS8Ef&;g$Y3fd}BP>&Jgaa*jrOshB?@c2x5%xQ3PZ**m2 zbY)~%CVL`bY-b`mB2rU9El)v3P%SbwHXO(K12V`*?`WpZ?7 zcyw48SvIigXR3v!Lk<_6%w{LD+_*@@en&H~YI0>`X>e&}Zgg{jp>1VuV{&U4sD=bSkwZ;-8?67Y9YN;^|uqI8ts|v()j<^ro zjaw0!X=qT)3noh2LleNUS1_RXz+hdPfe!=YKn4|2Ga6`646;5tmB{!9*hP?gmS8Ef&;g$Y3fd}B(^b literal 0 HcmV?d00001 diff --git a/fixtures/jws/bagcqceraxvt5izt4sz7kjfrm42dxrutp6ijywgsacllkznzekmfojypkvfea.dag-jose b/fixtures/jws/bagcqceraxvt5izt4sz7kjfrm42dxrutp6ijywgsacllkznzekmfojypkvfea.dag-jose new file mode 100644 index 0000000..fb69d54 --- /dev/null +++ b/fixtures/jws/bagcqceraxvt5izt4sz7kjfrm42dxrutp6ijywgsacllkznzekmfojypkvfea.dag-jose @@ -0,0 +1,2 @@ +gpayloadX$q UeQÒfyR.*VjG'@:&Z'jsignaturesiprotectedO{"alg":"EdDSA"}isignatureX@I\U`#SI74ViݹP⇾7 +^{9HfԽ[醔疍U \ No newline at end of file diff --git a/fixtures/jws/baguqeeravexfd6qijjtnzxfqq6kgknnkncztgmvhjhxm6ih352qskolt2gxa.dag-json b/fixtures/jws/baguqeeravexfd6qijjtnzxfqq6kgknnkncztgmvhjhxm6ih352qskolt2gxa.dag-json new file mode 100644 index 0000000..ae4764b --- /dev/null +++ b/fixtures/jws/baguqeeravexfd6qijjtnzxfqq6kgknnkncztgmvhjhxm6ih352qskolt2gxa.dag-json @@ -0,0 +1 @@ +{"link":{"/":"bafyreiejkvsvdq4smz44yuwhfymcuvqzavveoj2at3utujwqlllspsqr6q"},"payload":"AXESIIlVZVHDkmZ5zFLHLhgqVhkFakcnQJ7pOibQWtcnyhH0","signatures":[{"protected":"eyJhbGciOiJFZERTQSJ9","signature":"-_9J5OZcl5lVuRlgI1NJEzc0FqEb6_2yVskUaQPducRQ4oe-N5ynCl57wDm4SPtm1L1bltrphpQeBOeWjVW1BQ"}]} \ No newline at end of file diff --git a/go/fixtures.go b/go/fixtures.go index bce5208..ae9f1a0 100644 --- a/go/fixtures.go +++ b/go/fixtures.go @@ -7,6 +7,7 @@ import ( "path/filepath" "strings" + _ "github.com/alexjg/go-dag-jose/dagjose" "github.com/ipfs/go-cid" _ "github.com/ipld/go-codec-dagpb" "github.com/ipld/go-ipld-prime" @@ -44,10 +45,17 @@ var dagJsonLp = cidlink.LinkPrototype{Prefix: cid.Prefix{ MhType: 0x12, // "sha2-256" MhLength: 32, }} +var dagJoseLp = cidlink.LinkPrototype{Prefix: cid.Prefix{ + Version: 1, + Codec: 0x85, // "dag-jose" + MhType: 0x12, // "sha2-256" + MhLength: 32, +}} var codecs = map[codecName]ipld.LinkPrototype{ "dag-pb": dagPbLp, "dag-cbor": dagCborLp, "dag-json": dagJsonLp, + "dag-jose": dagJoseLp, } var linkSystem = cidlink.DefaultLinkSystem() diff --git a/go/go.mod b/go/go.mod index 5cb2ef8..e0d2d59 100644 --- a/go/go.mod +++ b/go/go.mod @@ -3,6 +3,7 @@ module github.com/ipld/codec-fixtures/go go 1.16 require ( + github.com/alexjg/go-dag-jose v0.0.5 github.com/ipfs/go-cid v0.1.0 github.com/ipld/go-codec-dagpb v1.3.0 github.com/ipld/go-ipld-prime v0.12.1-0.20210819225834-a47ecf924a39 @@ -10,5 +11,4 @@ require ( github.com/multiformats/go-multihash v0.0.16 // indirect golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 // indirect golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf // indirect - golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect ) diff --git a/go/go.sum b/go/go.sum index a06c8b9..8694f78 100644 --- a/go/go.sum +++ b/go/go.sum @@ -1,3 +1,7 @@ +github.com/alexjg/go-dag-jose v0.0.5 h1:DnzvL6uP7c7SpLZQ2xhiqpp4Kw5EnDw3ahGagDo/aDQ= +github.com/alexjg/go-dag-jose v0.0.5/go.mod h1:81dvcPwHgzIeYWjbafSI6dyBIs0/KaqjyCO8X0nZjlI= +github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/frankban/quicktest v1.11.3 h1:8sXhOn0uLys67V8EsXLc6eszDs8VXWxL3iRvebPhedY= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= @@ -12,6 +16,7 @@ github.com/ipfs/go-cid v0.1.0 h1:YN33LQulcRHjfom/i25yoOZR4Telp1Hr/2RU3d0PnC0= github.com/ipfs/go-cid v0.1.0/go.mod h1:rH5/Xv83Rfy8Rw6xG+id3DYAMUVmem1MowoKwdXmN2o= github.com/ipld/go-codec-dagpb v1.3.0 h1:czTcaoAuNNyIYWs6Qe01DJ+sEX7B+1Z0LcXjSatMGe8= github.com/ipld/go-codec-dagpb v1.3.0/go.mod h1:ga4JTU3abYApDC3pZ00BC2RSvC3qfBb9MSJkMLSwnhA= +github.com/ipld/go-ipld-prime v0.9.0/go.mod h1:KvBLMr4PX1gWptgkzRjVZCrLmSGcZCb/jioOQwCqZN8= github.com/ipld/go-ipld-prime v0.11.0/go.mod h1:+WIAkokurHmZ/KwzDOMUuoeJgaRQktHtEaLglS3ZeV8= github.com/ipld/go-ipld-prime v0.12.1-0.20210819225834-a47ecf924a39 h1:FkCJIpc2lkUOHUNi8mF2x1JoM5KpS2U1p46niDdEtys= github.com/ipld/go-ipld-prime v0.12.1-0.20210819225834-a47ecf924a39/go.mod h1:hy8b93WleDMRKumOJnTIrr0MbbFbx9GD6Kzxa53Xppc= @@ -50,6 +55,9 @@ github.com/multiformats/go-multihash v0.0.16/go.mod h1:zhfEIgVnB/rPMfxgFw15ZmGoN github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= github.com/multiformats/go-varint v0.0.6 h1:gk85QWKxh3TazbLxED/NlDVv8+q+ReFJk7Y2W/KhfNY= github.com/multiformats/go-varint v0.0.6/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/polydawn/refmt v0.0.0-20190807091052-3d65705ee9f1/go.mod h1:uIp+gprXxxrWSjjklXD+mN4wed/tMfjMMmN/9+JsA9o= github.com/polydawn/refmt v0.0.0-20201211092308-30ac6d18308e h1:ZOcivgkkFRnjfoTcGsDq3UQYiBmekwLA+qg0OjyB/ls= github.com/polydawn/refmt v0.0.0-20201211092308-30ac6d18308e/go.mod h1:uIp+gprXxxrWSjjklXD+mN4wed/tMfjMMmN/9+JsA9o= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= @@ -57,6 +65,9 @@ github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1 github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/warpfork/go-testmark v0.3.0 h1:Q81c4u7hT+BR5kNfNQhEF0VT2pmL7+Kk0wD+ORYl7iA= github.com/warpfork/go-testmark v0.3.0/go.mod h1:jhEf8FVxd+F17juRubpmut64NEG6I2rgkUhlcqqXwE0= github.com/warpfork/go-wish v0.0.0-20200122115046-b9ea61034e4a h1:G++j5e0OC488te356JvdhaM8YS6nMsjLAYF7JxCv07w= @@ -90,3 +101,10 @@ golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8T google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/square/go-jose.v2 v2.5.1 h1:7odma5RETjNHWJnR32wx8t+Io4djHE1PqxCFx3iiZ2w= +gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +pgregory.net/rapid v0.4.1 h1:oC9zGwnIaJvtkyj7yAFD1SX+BkQx0ghSmn85zzK/1sQ= +pgregory.net/rapid v0.4.1/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU= diff --git a/js/codecs.js b/js/codecs.js index 6983252..a7ff1c3 100644 --- a/js/codecs.js +++ b/js/codecs.js @@ -1,9 +1,11 @@ import * as dagCBOR from '@ipld/dag-cbor' import * as dagJSON from '@ipld/dag-json' import * as dagPB from '@ipld/dag-pb' +import * as dagJOSE from 'dag-jose' export const codecs = { [dagCBOR.name]: { codec: dagCBOR, complete: true }, [dagJSON.name]: { codec: dagJSON, complete: true }, - [dagPB.name]: { codec: dagPB, complete: false } + [dagPB.name]: { codec: dagPB, complete: false }, + [dagJOSE.name]: { codec: dagJOSE, complete: false } } diff --git a/js/package.json b/js/package.json index c7d0834..56bf2da 100644 --- a/js/package.json +++ b/js/package.json @@ -24,6 +24,7 @@ "@ipld/dag-json": "^8.0.0", "@ipld/dag-pb": "^2.1.5", "chai": "^4.3.4", + "dag-jose": "^1.0.0", "ipld-garbage": "^4.0.3", "mocha": "^9.0.3", "multiformats": "^9.4.3"