@atproto/crypto 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @atproto/crypto
2
2
 
3
+ ## 0.4.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2743](https://github.com/bluesky-social/atproto/pull/2743) [`ebb318325`](https://github.com/bluesky-social/atproto/commit/ebb318325b6e80c4ea1a93a617569da2698afe31) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Add "`jwtAlg`" option to `verifySignature()` function
8
+
3
9
  ## 0.4.0
4
10
 
5
11
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"keypair.d.ts","sourceRoot":"","sources":["../../src/p256/keypair.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAQ1D,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAElC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,qBAAa,WAAY,YAAW,OAAO;IAI7B,OAAO,CAAC,UAAU;IAAc,OAAO,CAAC,UAAU;IAH9D,MAAM,SAAe;IACrB,OAAO,CAAC,SAAS,CAAY;gBAET,UAAU,EAAE,UAAU,EAAU,UAAU,EAAE,OAAO;WAI1D,MAAM,CACjB,IAAI,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACjC,OAAO,CAAC,WAAW,CAAC;WAMV,MAAM,CACjB,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,IAAI,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACjC,OAAO,CAAC,WAAW,CAAC;IAOvB,cAAc,IAAI,UAAU;IAI5B,YAAY,CAAC,QAAQ,GAAE,kBAAgC,GAAG,MAAM;IAIhE,GAAG,IAAI,MAAM;IAIP,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAO1C,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;CAMpC;AAED,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"keypair.d.ts","sourceRoot":"","sources":["../../src/p256/keypair.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAQ1D,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAElC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,qBAAa,WAAY,YAAW,OAAO;IAKvC,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IALpB,MAAM,SAAe;IACrB,OAAO,CAAC,SAAS,CAAY;gBAGnB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,OAAO;WAKhB,MAAM,CACjB,IAAI,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACjC,OAAO,CAAC,WAAW,CAAC;WAMV,MAAM,CACjB,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,IAAI,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACjC,OAAO,CAAC,WAAW,CAAC;IAOvB,cAAc,IAAI,UAAU;IAI5B,YAAY,CAAC,QAAQ,GAAE,kBAAgC,GAAG,MAAM;IAIhE,GAAG,IAAI,MAAM;IAIP,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAO1C,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;CAMpC;AAED,eAAe,WAAW,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../src/p256/keypair.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAyC;AACzC,iDAA6C;AAE7C,6CAGoB;AAEpB,4CAA6B;AAC7B,oCAAuC;AAOvC,MAAa,WAAW;IAItB,YAAoB,UAAsB,EAAU,UAAmB;QAA3D;;;;mBAAQ,UAAU;WAAY;QAAE;;;;mBAAQ,UAAU;WAAS;QAHvE;;;;mBAAS,oBAAY;WAAA;QACb;;;;;WAAqB;QAG3B,IAAI,CAAC,SAAS,GAAG,WAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,IAAkC;QAElC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;QACzC,MAAM,OAAO,GAAG,WAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAA;QAC7C,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAC7C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,OAA4B,EAC5B,IAAkC;QAElC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;QACzC,MAAM,YAAY,GAChB,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,wBAAa,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QACvE,OAAO,IAAI,WAAW,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IAClD,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,YAAY,CAAC,WAA+B,WAAW;QACrD,OAAO,IAAA,sBAAW,EAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAED,GAAG;QACD,OAAO,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAe;QACxB,MAAM,OAAO,GAAG,MAAM,IAAA,eAAM,EAAC,GAAG,CAAC,CAAA;QACjC,yCAAyC;QACzC,MAAM,GAAG,GAAG,MAAM,WAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACrE,OAAO,GAAG,CAAC,iBAAiB,EAAE,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;CACF;AAnDD,kCAmDC;AAED,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../src/p256/keypair.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAyC;AACzC,iDAA6C;AAE7C,6CAGoB;AAEpB,4CAA6B;AAC7B,oCAAuC;AAOvC,MAAa,WAAW;IAItB,YACU,UAAsB,EACtB,UAAmB;QAD3B;;;;mBAAQ,UAAU;WAAY;QAC9B;;;;mBAAQ,UAAU;WAAS;QAL7B;;;;mBAAS,oBAAY;WAAA;QACb;;;;;WAAqB;QAM3B,IAAI,CAAC,SAAS,GAAG,WAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,IAAkC;QAElC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;QACzC,MAAM,OAAO,GAAG,WAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAA;QAC7C,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAC7C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,OAA4B,EAC5B,IAAkC;QAElC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;QACzC,MAAM,YAAY,GAChB,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,wBAAa,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QACvE,OAAO,IAAI,WAAW,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IAClD,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,YAAY,CAAC,WAA+B,WAAW;QACrD,OAAO,IAAA,sBAAW,EAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAED,GAAG;QACD,OAAO,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAe;QACxB,MAAM,OAAO,GAAG,MAAM,IAAA,eAAM,EAAC,GAAG,CAAC,CAAA;QACjC,yCAAyC;QACzC,MAAM,GAAG,GAAG,MAAM,WAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACrE,OAAO,GAAG,CAAC,iBAAiB,EAAE,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;CACF;AAtDD,kCAsDC;AAED,kBAAe,WAAW,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"keypair.d.ts","sourceRoot":"","sources":["../../src/secp256k1/keypair.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAI1D,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAElC,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,qBAAa,gBAAiB,YAAW,OAAO;IAIlC,OAAO,CAAC,UAAU;IAAc,OAAO,CAAC,UAAU;IAH9D,MAAM,SAAoB;IAC1B,OAAO,CAAC,SAAS,CAAY;gBAET,UAAU,EAAE,UAAU,EAAU,UAAU,EAAE,OAAO;WAI1D,MAAM,CACjB,IAAI,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACtC,OAAO,CAAC,gBAAgB,CAAC;WAMf,MAAM,CACjB,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,IAAI,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACtC,OAAO,CAAC,gBAAgB,CAAC;IAO5B,cAAc,IAAI,UAAU;IAI5B,YAAY,CAAC,QAAQ,GAAE,kBAAgC,GAAG,MAAM;IAIhE,GAAG,IAAI,MAAM;IAIP,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAO1C,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;CAMpC;AAED,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"keypair.d.ts","sourceRoot":"","sources":["../../src/secp256k1/keypair.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAI1D,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAElC,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,qBAAa,gBAAiB,YAAW,OAAO;IAK5C,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IALpB,MAAM,SAAoB;IAC1B,OAAO,CAAC,SAAS,CAAY;gBAGnB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,OAAO;WAKhB,MAAM,CACjB,IAAI,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACtC,OAAO,CAAC,gBAAgB,CAAC;WAMf,MAAM,CACjB,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,IAAI,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACtC,OAAO,CAAC,gBAAgB,CAAC;IAO5B,cAAc,IAAI,UAAU;IAI5B,YAAY,CAAC,QAAQ,GAAE,kBAAgC,GAAG,MAAM;IAIhE,GAAG,IAAI,MAAM;IAIP,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAO1C,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;CAMpC;AAED,eAAe,gBAAgB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../src/secp256k1/keypair.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA2D;AAC3D,iDAA6C;AAC7C,6CAGoB;AAGpB,oCAA4C;AAC5C,4CAA6B;AAO7B,MAAa,gBAAgB;IAI3B,YAAoB,UAAsB,EAAU,UAAmB;QAA3D;;;;mBAAQ,UAAU;WAAY;QAAE;;;;mBAAQ,UAAU;WAAS;QAHvE;;;;mBAAS,yBAAiB;WAAA;QAClB;;;;;WAAqB;QAG3B,IAAI,CAAC,SAAS,GAAG,qBAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,IAAuC;QAEvC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;QACzC,MAAM,OAAO,GAAG,qBAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAA;QAC7C,OAAO,IAAI,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,OAA4B,EAC5B,IAAuC;QAEvC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;QACzC,MAAM,YAAY,GAChB,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,wBAAa,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QACvE,OAAO,IAAI,gBAAgB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IACvD,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,YAAY,CAAC,WAA+B,WAAW;QACrD,OAAO,IAAA,sBAAW,EAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAED,GAAG;QACD,OAAO,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAe;QACxB,MAAM,OAAO,GAAG,MAAM,IAAA,eAAM,EAAC,GAAG,CAAC,CAAA;QACjC,yCAAyC;QACzC,MAAM,GAAG,GAAG,MAAM,qBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACrE,OAAO,GAAG,CAAC,iBAAiB,EAAE,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;CACF;AAnDD,4CAmDC;AAED,kBAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../src/secp256k1/keypair.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA2D;AAC3D,iDAA6C;AAC7C,6CAGoB;AAGpB,oCAA4C;AAC5C,4CAA6B;AAO7B,MAAa,gBAAgB;IAI3B,YACU,UAAsB,EACtB,UAAmB;QAD3B;;;;mBAAQ,UAAU;WAAY;QAC9B;;;;mBAAQ,UAAU;WAAS;QAL7B;;;;mBAAS,yBAAiB;WAAA;QAClB;;;;;WAAqB;QAM3B,IAAI,CAAC,SAAS,GAAG,qBAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,IAAuC;QAEvC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;QACzC,MAAM,OAAO,GAAG,qBAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAA;QAC7C,OAAO,IAAI,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,OAA4B,EAC5B,IAAuC;QAEvC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;QACzC,MAAM,YAAY,GAChB,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,wBAAa,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QACvE,OAAO,IAAI,gBAAgB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IACvD,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,YAAY,CAAC,WAA+B,WAAW;QACrD,OAAO,IAAA,sBAAW,EAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAED,GAAG;QACD,OAAO,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAe;QACxB,MAAM,OAAO,GAAG,MAAM,IAAA,eAAM,EAAC,GAAG,CAAC,CAAA;QACjC,yCAAyC;QACzC,MAAM,GAAG,GAAG,MAAM,qBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACrE,OAAO,GAAG,CAAC,iBAAiB,EAAE,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;CACF;AAtDD,4CAsDC;AAED,kBAAe,gBAAgB,CAAA"}
package/dist/sha.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sha.d.ts","sourceRoot":"","sources":["../src/sha.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM,UACV,UAAU,GAAG,MAAM,KACzB,QAAQ,UAAU,CAIpB,CAAA;AAED,eAAO,MAAM,SAAS,UACb,UAAU,GAAG,MAAM,KACzB,QAAQ,MAAM,CAGhB,CAAA"}
1
+ {"version":3,"file":"sha.d.ts","sourceRoot":"","sources":["../src/sha.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,MAAM,UACV,UAAU,GAAG,MAAM,KACzB,QAAQ,UAAU,CAIpB,CAAA;AAGD,eAAO,MAAM,SAAS,UACb,UAAU,GAAG,MAAM,KACzB,QAAQ,MAAM,CAGhB,CAAA"}
package/dist/sha.js CHANGED
@@ -27,11 +27,13 @@ exports.sha256Hex = exports.sha256 = void 0;
27
27
  const noble = __importStar(require("@noble/hashes/sha256"));
28
28
  const uint8arrays = __importStar(require("uint8arrays"));
29
29
  // takes either bytes of utf8 input
30
+ // @TODO this can be sync
30
31
  const sha256 = async (input) => {
31
32
  const bytes = typeof input === 'string' ? uint8arrays.fromString(input, 'utf8') : input;
32
33
  return noble.sha256(bytes);
33
34
  };
34
35
  exports.sha256 = sha256;
36
+ // @TODO this can be sync
35
37
  const sha256Hex = async (input) => {
36
38
  const hash = await (0, exports.sha256)(input);
37
39
  return uint8arrays.toString(hash, 'hex');
package/dist/sha.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sha.js","sourceRoot":"","sources":["../src/sha.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA6C;AAC7C,yDAA0C;AAE1C,mCAAmC;AAC5B,MAAM,MAAM,GAAG,KAAK,EACzB,KAA0B,EACL,EAAE;IACvB,MAAM,KAAK,GACT,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC3E,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC,CAAA;AANY,QAAA,MAAM,UAMlB;AAEM,MAAM,SAAS,GAAG,KAAK,EAC5B,KAA0B,EACT,EAAE;IACnB,MAAM,IAAI,GAAG,MAAM,IAAA,cAAM,EAAC,KAAK,CAAC,CAAA;IAChC,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAC1C,CAAC,CAAA;AALY,QAAA,SAAS,aAKrB"}
1
+ {"version":3,"file":"sha.js","sourceRoot":"","sources":["../src/sha.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA6C;AAC7C,yDAA0C;AAE1C,mCAAmC;AACnC,yBAAyB;AAClB,MAAM,MAAM,GAAG,KAAK,EACzB,KAA0B,EACL,EAAE;IACvB,MAAM,KAAK,GACT,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC3E,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC,CAAA;AANY,QAAA,MAAM,UAMlB;AAED,yBAAyB;AAClB,MAAM,SAAS,GAAG,KAAK,EAC5B,KAA0B,EACT,EAAE;IACnB,MAAM,IAAI,GAAG,MAAM,IAAA,cAAM,EAAC,KAAK,CAAC,CAAA;IAChC,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAC1C,CAAC,CAAA;AALY,QAAA,SAAS,aAKrB"}
package/dist/verify.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  import { VerifyOptions } from './types';
2
- export declare const verifySignature: (didKey: string, data: Uint8Array, sig: Uint8Array, opts?: VerifyOptions) => Promise<boolean>;
2
+ export declare const verifySignature: (didKey: string, data: Uint8Array, sig: Uint8Array, opts?: VerifyOptions & {
3
+ jwtAlg?: string;
4
+ }) => Promise<boolean>;
3
5
  export declare const verifySignatureUtf8: (didKey: string, data: string, sig: string, opts?: VerifyOptions) => Promise<boolean>;
4
6
  //# sourceMappingURL=verify.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEvC,eAAO,MAAM,eAAe,WAClB,MAAM,QACR,UAAU,OACX,UAAU,SACR,aAAa,KACnB,QAAQ,OAAO,CAOjB,CAAA;AAED,eAAO,MAAM,mBAAmB,WACtB,MAAM,QACR,MAAM,OACP,MAAM,SACJ,aAAa,KACnB,QAAQ,OAAO,CAIjB,CAAA"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEvC,eAAO,MAAM,eAAe,WAClB,MAAM,QACR,UAAU,OACX,UAAU,SACR,aAAa,GAAG;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,KACA,QAAQ,OAAO,CAUjB,CAAA;AAED,eAAO,MAAM,mBAAmB,WACtB,MAAM,QACR,MAAM,OACP,MAAM,SACJ,aAAa,KACnB,QAAQ,OAAO,CAIjB,CAAA"}
package/dist/verify.js CHANGED
@@ -32,6 +32,9 @@ const did_1 = require("./did");
32
32
  const plugins_1 = __importDefault(require("./plugins"));
33
33
  const verifySignature = (didKey, data, sig, opts) => {
34
34
  const parsed = (0, did_1.parseDidKey)(didKey);
35
+ if (opts?.jwtAlg && opts.jwtAlg !== parsed.jwtAlg) {
36
+ throw new Error(`Expected key alg ${opts.jwtAlg}, got ${parsed.jwtAlg}`);
37
+ }
35
38
  const plugin = plugins_1.default.find((p) => p.jwtAlg === parsed.jwtAlg);
36
39
  if (!plugin) {
37
40
  throw new Error(`Unsupported signature alg: ${parsed.jwtAlg}`);
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA0C;AAC1C,+BAAmC;AACnC,wDAA+B;AAGxB,MAAM,eAAe,GAAG,CAC7B,MAAc,EACd,IAAgB,EAChB,GAAe,EACf,IAAoB,EACF,EAAE;IACpB,MAAM,MAAM,GAAG,IAAA,iBAAW,EAAC,MAAM,CAAC,CAAA;IAClC,MAAM,MAAM,GAAG,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IAChE,CAAC;IACD,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;AACxD,CAAC,CAAA;AAZY,QAAA,eAAe,mBAY3B;AAEM,MAAM,mBAAmB,GAAG,KAAK,EACtC,MAAc,EACd,IAAY,EACZ,GAAW,EACX,IAAoB,EACF,EAAE;IACpB,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACtD,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;IACzD,OAAO,IAAA,uBAAe,EAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;AAC3D,CAAC,CAAA;AATY,QAAA,mBAAmB,uBAS/B"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA0C;AAC1C,+BAAmC;AACnC,wDAA+B;AAGxB,MAAM,eAAe,GAAG,CAC7B,MAAc,EACd,IAAgB,EAChB,GAAe,EACf,IAEC,EACiB,EAAE;IACpB,MAAM,MAAM,GAAG,IAAA,iBAAW,EAAC,MAAM,CAAC,CAAA;IAClC,IAAI,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IAC1E,CAAC;IACD,MAAM,MAAM,GAAG,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IAChE,CAAC;IACD,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;AACxD,CAAC,CAAA;AAjBY,QAAA,eAAe,mBAiB3B;AAEM,MAAM,mBAAmB,GAAG,KAAK,EACtC,MAAc,EACd,IAAY,EACZ,GAAW,EACX,IAAoB,EACF,EAAE;IACpB,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACtD,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;IACzD,OAAO,IAAA,uBAAe,EAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;AAC3D,CAAC,CAAA;AATY,QAAA,mBAAmB,uBAS/B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto/crypto",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "license": "MIT",
5
5
  "description": "Library for cryptographic keys and signing in atproto",
6
6
  "keywords": [
@@ -22,7 +22,7 @@
22
22
  },
23
23
  "devDependencies": {
24
24
  "jest": "^28.1.2",
25
- "@atproto/common": "^0.4.0"
25
+ "@atproto/common": "^0.4.1"
26
26
  },
27
27
  "scripts": {
28
28
  "test": "jest ",
@@ -18,7 +18,10 @@ export class P256Keypair implements Keypair {
18
18
  jwtAlg = P256_JWT_ALG
19
19
  private publicKey: Uint8Array
20
20
 
21
- constructor(private privateKey: Uint8Array, private exportable: boolean) {
21
+ constructor(
22
+ private privateKey: Uint8Array,
23
+ private exportable: boolean,
24
+ ) {
22
25
  this.publicKey = p256.getPublicKey(privateKey)
23
26
  }
24
27
 
@@ -18,7 +18,10 @@ export class Secp256k1Keypair implements Keypair {
18
18
  jwtAlg = SECP256K1_JWT_ALG
19
19
  private publicKey: Uint8Array
20
20
 
21
- constructor(private privateKey: Uint8Array, private exportable: boolean) {
21
+ constructor(
22
+ private privateKey: Uint8Array,
23
+ private exportable: boolean,
24
+ ) {
22
25
  this.publicKey = k256.getPublicKey(privateKey)
23
26
  }
24
27
 
package/src/sha.ts CHANGED
@@ -2,6 +2,7 @@ import * as noble from '@noble/hashes/sha256'
2
2
  import * as uint8arrays from 'uint8arrays'
3
3
 
4
4
  // takes either bytes of utf8 input
5
+ // @TODO this can be sync
5
6
  export const sha256 = async (
6
7
  input: Uint8Array | string,
7
8
  ): Promise<Uint8Array> => {
@@ -10,6 +11,7 @@ export const sha256 = async (
10
11
  return noble.sha256(bytes)
11
12
  }
12
13
 
14
+ // @TODO this can be sync
13
15
  export const sha256Hex = async (
14
16
  input: Uint8Array | string,
15
17
  ): Promise<string> => {
package/src/verify.ts CHANGED
@@ -7,9 +7,14 @@ export const verifySignature = (
7
7
  didKey: string,
8
8
  data: Uint8Array,
9
9
  sig: Uint8Array,
10
- opts?: VerifyOptions,
10
+ opts?: VerifyOptions & {
11
+ jwtAlg?: string
12
+ },
11
13
  ): Promise<boolean> => {
12
14
  const parsed = parseDidKey(didKey)
15
+ if (opts?.jwtAlg && opts.jwtAlg !== parsed.jwtAlg) {
16
+ throw new Error(`Expected key alg ${opts.jwtAlg}, got ${parsed.jwtAlg}`)
17
+ }
13
18
  const plugin = plugins.find((p) => p.jwtAlg === parsed.jwtAlg)
14
19
  if (!plugin) {
15
20
  throw new Error(`Unsupported signature alg: ${parsed.jwtAlg}`)