@atproto/crypto 0.4.3 → 0.4.4
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 +8 -0
- package/dist/did.d.ts.map +1 -1
- package/dist/did.js +3 -6
- package/dist/did.js.map +1 -1
- package/dist/p256/keypair.d.ts +0 -1
- package/dist/p256/keypair.d.ts.map +1 -1
- package/dist/p256/keypair.js +1 -2
- package/dist/p256/keypair.js.map +1 -1
- package/dist/p256/operations.d.ts.map +1 -1
- package/dist/p256/operations.js.map +1 -1
- package/dist/p256/plugin.d.ts +0 -1
- package/dist/p256/plugin.d.ts.map +1 -1
- package/dist/p256/plugin.js +2 -3
- package/dist/p256/plugin.js.map +1 -1
- package/dist/plugins.d.ts +0 -1
- package/dist/plugins.d.ts.map +1 -1
- package/dist/plugins.js +3 -7
- package/dist/plugins.js.map +1 -1
- package/dist/secp256k1/keypair.d.ts +0 -1
- package/dist/secp256k1/keypair.d.ts.map +1 -1
- package/dist/secp256k1/keypair.js +0 -1
- package/dist/secp256k1/keypair.js.map +1 -1
- package/dist/secp256k1/operations.d.ts.map +1 -1
- package/dist/secp256k1/operations.js.map +1 -1
- package/dist/secp256k1/plugin.d.ts +0 -1
- package/dist/secp256k1/plugin.d.ts.map +1 -1
- package/dist/secp256k1/plugin.js +2 -3
- package/dist/secp256k1/plugin.js.map +1 -1
- package/dist/verify.js +2 -5
- package/dist/verify.js.map +1 -1
- package/package.json +5 -2
- package/src/did.ts +1 -2
- package/src/p256/keypair.ts +2 -5
- package/src/p256/operations.ts +0 -1
- package/src/p256/plugin.ts +3 -6
- package/src/plugins.ts +2 -4
- package/src/secp256k1/keypair.ts +0 -3
- package/src/secp256k1/operations.ts +0 -1
- package/src/secp256k1/plugin.ts +3 -6
- package/src/verify.ts +1 -1
- package/tests/did.test.ts +1 -1
- package/tests/key-compression.test.ts +4 -4
- package/tests/keypairs.test.ts +3 -3
- package/tests/signatures.test.ts +9 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @atproto/crypto
|
|
2
2
|
|
|
3
|
+
## 0.4.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#3220](https://github.com/bluesky-social/atproto/pull/3220) [`61dc0d60e`](https://github.com/bluesky-social/atproto/commit/61dc0d60e19b88c6427a54c6d95a391b5f4da7bd) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Apply new linting rules regarding import order
|
|
8
|
+
|
|
9
|
+
- [#3220](https://github.com/bluesky-social/atproto/pull/3220) [`61dc0d60e`](https://github.com/bluesky-social/atproto/commit/61dc0d60e19b88c6427a54c6d95a391b5f4da7bd) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Update NodeJS engine requirement to >=18.7.0
|
|
10
|
+
|
|
3
11
|
## 0.4.3
|
|
4
12
|
|
|
5
13
|
### Patch Changes
|
package/dist/did.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"did.d.ts","sourceRoot":"","sources":["../src/did.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"did.d.ts","sourceRoot":"","sources":["../src/did.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,UAAU,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,aAAa,aAAc,MAAM,KAAG,cAahD,CAAA;AAED,eAAO,MAAM,cAAc,WACjB,MAAM,YACJ,UAAU,KACnB,MAYF,CAAA;AAED,eAAO,MAAM,WAAW,QAAS,MAAM,KAAG,cAGzC,CAAA;AAED,eAAO,MAAM,YAAY,WAAY,MAAM,YAAY,UAAU,KAAG,MAEnE,CAAA"}
|
package/dist/did.js
CHANGED
|
@@ -22,18 +22,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
26
|
exports.formatDidKey = exports.parseDidKey = exports.formatMultikey = exports.parseMultikey = void 0;
|
|
30
27
|
const uint8arrays = __importStar(require("uint8arrays"));
|
|
31
28
|
const const_1 = require("./const");
|
|
32
|
-
const plugins_1 =
|
|
29
|
+
const plugins_1 = require("./plugins");
|
|
33
30
|
const utils_1 = require("./utils");
|
|
34
31
|
const parseMultikey = (multikey) => {
|
|
35
32
|
const prefixedBytes = (0, utils_1.extractPrefixedBytes)(multikey);
|
|
36
|
-
const plugin = plugins_1.
|
|
33
|
+
const plugin = plugins_1.plugins.find((p) => (0, utils_1.hasPrefix)(prefixedBytes, p.prefix));
|
|
37
34
|
if (!plugin) {
|
|
38
35
|
throw new Error('Unsupported key type');
|
|
39
36
|
}
|
|
@@ -45,7 +42,7 @@ const parseMultikey = (multikey) => {
|
|
|
45
42
|
};
|
|
46
43
|
exports.parseMultikey = parseMultikey;
|
|
47
44
|
const formatMultikey = (jwtAlg, keyBytes) => {
|
|
48
|
-
const plugin = plugins_1.
|
|
45
|
+
const plugin = plugins_1.plugins.find((p) => p.jwtAlg === jwtAlg);
|
|
49
46
|
if (!plugin) {
|
|
50
47
|
throw new Error('Unsupported key type');
|
|
51
48
|
}
|
package/dist/did.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"did.js","sourceRoot":"","sources":["../src/did.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"did.js","sourceRoot":"","sources":["../src/did.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA0C;AAC1C,mCAAiE;AACjE,uCAAmC;AACnC,mCAA0E;AAOnE,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAkB,EAAE;IAChE,MAAM,aAAa,GAAG,IAAA,4BAAoB,EAAC,QAAQ,CAAC,CAAA;IACpD,MAAM,MAAM,GAAG,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,iBAAS,EAAC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IACtE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACzC,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CACtC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAC1C,CAAA;IACD,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ;KACT,CAAA;AACH,CAAC,CAAA;AAbY,QAAA,aAAa,iBAazB;AAEM,MAAM,cAAc,GAAG,CAC5B,MAAc,EACd,QAAoB,EACZ,EAAE;IACV,MAAM,MAAM,GAAG,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;IACvD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACzC,CAAC;IACD,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC;QACvC,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC;KAChC,CAAC,CAAA;IACF,OAAO,CACL,+BAAuB,GAAG,WAAW,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,CAC3E,CAAA;AACH,CAAC,CAAA;AAfY,QAAA,cAAc,kBAe1B;AAEM,MAAM,WAAW,GAAG,CAAC,GAAW,EAAkB,EAAE;IACzD,MAAM,QAAQ,GAAG,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAA;IACrC,OAAO,IAAA,qBAAa,EAAC,QAAQ,CAAC,CAAA;AAChC,CAAC,CAAA;AAHY,QAAA,WAAW,eAGvB;AAEM,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,QAAoB,EAAU,EAAE;IAC3E,OAAO,sBAAc,GAAG,IAAA,sBAAc,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AAC1D,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB"}
|
package/dist/p256/keypair.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keypair.d.ts","sourceRoot":"","sources":["../../src/p256/keypair.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"keypair.d.ts","sourceRoot":"","sources":["../../src/p256/keypair.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAG1D,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"}
|
package/dist/p256/keypair.js
CHANGED
|
@@ -27,8 +27,8 @@ exports.P256Keypair = void 0;
|
|
|
27
27
|
const p256_1 = require("@noble/curves/p256");
|
|
28
28
|
const sha256_1 = require("@noble/hashes/sha256");
|
|
29
29
|
const uint8arrays_1 = require("uint8arrays");
|
|
30
|
-
const did = __importStar(require("../did"));
|
|
31
30
|
const const_1 = require("../const");
|
|
31
|
+
const did = __importStar(require("../did"));
|
|
32
32
|
class P256Keypair {
|
|
33
33
|
constructor(privateKey, exportable) {
|
|
34
34
|
Object.defineProperty(this, "privateKey", {
|
|
@@ -90,5 +90,4 @@ class P256Keypair {
|
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
exports.P256Keypair = P256Keypair;
|
|
93
|
-
exports.default = P256Keypair;
|
|
94
93
|
//# sourceMappingURL=keypair.js.map
|
package/dist/p256/keypair.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../src/p256/keypair.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAyC;AACzC,iDAA6C;
|
|
1
|
+
{"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../src/p256/keypair.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAyC;AACzC,iDAA6C;AAC7C,6CAGoB;AAEpB,oCAAuC;AACvC,4CAA6B;AAO7B,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/p256/operations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/p256/operations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,eAAO,MAAM,YAAY,QAClB,MAAM,QACL,UAAU,OACX,UAAU,SACR,aAAa,KACnB,OAAO,CAAC,OAAO,CAOjB,CAAA;AAED,eAAO,MAAM,SAAS,cACT,UAAU,QACf,UAAU,OACX,UAAU,SACR,aAAa,KACnB,OAAO,CAAC,OAAO,CAOjB,CAAA;AAED,eAAO,MAAM,eAAe,QAAS,UAAU,YAO9C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/p256/operations.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,iDAA6C;AAC7C,6CAAiD;
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/p256/operations.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,iDAA6C;AAC7C,6CAAiD;AACjD,oCAA0C;AAE1C,oCAA2E;AAEpE,MAAM,YAAY,GAAG,KAAK,EAC/B,GAAW,EACX,IAAgB,EAChB,GAAe,EACf,IAAoB,EACF,EAAE;IACpB,MAAM,aAAa,GAAG,IAAA,4BAAoB,EAAC,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAC,CAAA;IAChE,IAAI,CAAC,IAAA,iBAAS,EAAC,aAAa,EAAE,uBAAe,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAA;IAChD,CAAC;IACD,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,uBAAe,CAAC,MAAM,CAAC,CAAA;IAC5D,OAAO,IAAA,iBAAS,EAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;AAC7C,CAAC,CAAA;AAZY,QAAA,YAAY,gBAYxB;AAEM,MAAM,SAAS,GAAG,KAAK,EAC5B,SAAqB,EACrB,IAAgB,EAChB,GAAe,EACf,IAAoB,EACF,EAAE;IACpB,MAAM,cAAc,GAAG,IAAI,EAAE,iBAAiB,IAAI,KAAK,CAAA;IACvD,MAAM,OAAO,GAAG,MAAM,IAAA,eAAM,EAAC,IAAI,CAAC,CAAA;IAClC,OAAO,WAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE;QAC1C,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,iCAAiC;QACjF,IAAI,EAAE,CAAC,cAAc;KACtB,CAAC,CAAA;AACJ,CAAC,CAAA;AAZY,QAAA,SAAS,aAYrB;AAEM,MAAM,eAAe,GAAG,CAAC,GAAe,EAAE,EAAE;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,WAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAC9C,OAAO,IAAA,oBAAS,EAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,GAAG,CAAC,CAAA;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAPY,QAAA,eAAe,mBAO3B"}
|
package/dist/p256/plugin.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/p256/plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/p256/plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAIvC,eAAO,MAAM,UAAU,EAAE,YAOxB,CAAA"}
|
package/dist/p256/plugin.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.p256Plugin = void 0;
|
|
4
|
-
const operations_1 = require("./operations");
|
|
5
|
-
const encoding_1 = require("./encoding");
|
|
6
4
|
const const_1 = require("../const");
|
|
5
|
+
const encoding_1 = require("./encoding");
|
|
6
|
+
const operations_1 = require("./operations");
|
|
7
7
|
exports.p256Plugin = {
|
|
8
8
|
prefix: const_1.P256_DID_PREFIX,
|
|
9
9
|
jwtAlg: const_1.P256_JWT_ALG,
|
|
@@ -11,5 +11,4 @@ exports.p256Plugin = {
|
|
|
11
11
|
compressPubkey: encoding_1.compressPubkey,
|
|
12
12
|
decompressPubkey: encoding_1.decompressPubkey,
|
|
13
13
|
};
|
|
14
|
-
exports.default = exports.p256Plugin;
|
|
15
14
|
//# sourceMappingURL=plugin.js.map
|
package/dist/p256/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/p256/plugin.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/p256/plugin.ts"],"names":[],"mappings":";;;AAAA,oCAAwD;AAExD,yCAA6D;AAC7D,6CAA2C;AAE9B,QAAA,UAAU,GAAiB;IACtC,MAAM,EAAE,uBAAe;IACvB,MAAM,EAAE,oBAAY;IACpB,eAAe,EAAE,yBAAY;IAE7B,cAAc,EAAd,yBAAc;IACd,gBAAgB,EAAhB,2BAAgB;CACjB,CAAA"}
|
package/dist/plugins.d.ts
CHANGED
package/dist/plugins.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../src/plugins.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,kCAAgC,CAAA
|
|
1
|
+
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../src/plugins.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,kCAAgC,CAAA"}
|
package/dist/plugins.js
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.plugins = void 0;
|
|
7
|
-
const plugin_1 =
|
|
8
|
-
const plugin_2 =
|
|
9
|
-
exports.plugins = [plugin_1.
|
|
10
|
-
exports.default = exports.plugins;
|
|
4
|
+
const plugin_1 = require("./p256/plugin");
|
|
5
|
+
const plugin_2 = require("./secp256k1/plugin");
|
|
6
|
+
exports.plugins = [plugin_1.p256Plugin, plugin_2.secp256k1Plugin];
|
|
11
7
|
//# sourceMappingURL=plugins.js.map
|
package/dist/plugins.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../src/plugins.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../src/plugins.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC1C,+CAAoD;AAEvC,QAAA,OAAO,GAAG,CAAC,mBAAU,EAAE,wBAAe,CAAC,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;
|
|
1
|
+
{"version":3,"file":"keypair.d.ts","sourceRoot":"","sources":["../../src/secp256k1/keypair.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAG1D,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../src/secp256k1/keypair.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA2D;AAC3D,iDAA6C;AAC7C,6CAGoB;
|
|
1
|
+
{"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../src/secp256k1/keypair.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA2D;AAC3D,iDAA6C;AAC7C,6CAGoB;AAEpB,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/secp256k1/operations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/secp256k1/operations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,eAAO,MAAM,YAAY,QAClB,MAAM,QACL,UAAU,OACX,UAAU,SACR,aAAa,KACnB,OAAO,CAAC,OAAO,CAOjB,CAAA;AAED,eAAO,MAAM,SAAS,cACT,UAAU,QACf,UAAU,OACX,UAAU,SACR,aAAa,KACnB,OAAO,CAAC,OAAO,CAOjB,CAAA;AAED,eAAO,MAAM,eAAe,QAAS,UAAU,YAO9C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/secp256k1/operations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA2D;AAC3D,iDAA6C;AAC7C,iDAAkC;
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/secp256k1/operations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA2D;AAC3D,iDAA6C;AAC7C,iDAAkC;AAClC,oCAA+C;AAE/C,oCAA2E;AAEpE,MAAM,YAAY,GAAG,KAAK,EAC/B,GAAW,EACX,IAAgB,EAChB,GAAe,EACf,IAAoB,EACF,EAAE;IACpB,MAAM,aAAa,GAAG,IAAA,4BAAoB,EAAC,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAC,CAAA;IAChE,IAAI,CAAC,IAAA,iBAAS,EAAC,aAAa,EAAE,4BAAoB,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAA;IACpD,CAAC;IACD,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,4BAAoB,CAAC,MAAM,CAAC,CAAA;IACjE,OAAO,IAAA,iBAAS,EAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;AAC7C,CAAC,CAAA;AAZY,QAAA,YAAY,gBAYxB;AAEM,MAAM,SAAS,GAAG,KAAK,EAC5B,SAAqB,EACrB,IAAgB,EAChB,GAAe,EACf,IAAoB,EACF,EAAE;IACpB,MAAM,cAAc,GAAG,IAAI,EAAE,iBAAiB,IAAI,KAAK,CAAA;IACvD,MAAM,OAAO,GAAG,MAAM,IAAA,eAAM,EAAC,IAAI,CAAC,CAAA;IAClC,OAAO,qBAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE;QAC1C,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,iCAAiC;QACjF,IAAI,EAAE,CAAC,cAAc;KACtB,CAAC,CAAA;AACJ,CAAC,CAAA;AAZY,QAAA,SAAS,aAYrB;AAEM,MAAM,eAAe,GAAG,CAAC,GAAe,EAAE,EAAE;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,qBAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAC9C,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,GAAG,CAAC,CAAA;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAPY,QAAA,eAAe,mBAO3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/secp256k1/plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/secp256k1/plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAIvC,eAAO,MAAM,eAAe,EAAE,YAO7B,CAAA"}
|
package/dist/secp256k1/plugin.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.secp256k1Plugin = void 0;
|
|
4
|
-
const operations_1 = require("./operations");
|
|
5
|
-
const encoding_1 = require("./encoding");
|
|
6
4
|
const const_1 = require("../const");
|
|
5
|
+
const encoding_1 = require("./encoding");
|
|
6
|
+
const operations_1 = require("./operations");
|
|
7
7
|
exports.secp256k1Plugin = {
|
|
8
8
|
prefix: const_1.SECP256K1_DID_PREFIX,
|
|
9
9
|
jwtAlg: const_1.SECP256K1_JWT_ALG,
|
|
@@ -11,5 +11,4 @@ exports.secp256k1Plugin = {
|
|
|
11
11
|
compressPubkey: encoding_1.compressPubkey,
|
|
12
12
|
decompressPubkey: encoding_1.decompressPubkey,
|
|
13
13
|
};
|
|
14
|
-
exports.default = exports.secp256k1Plugin;
|
|
15
14
|
//# sourceMappingURL=plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/secp256k1/plugin.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/secp256k1/plugin.ts"],"names":[],"mappings":";;;AAAA,oCAAkE;AAElE,yCAA6D;AAC7D,6CAA2C;AAE9B,QAAA,eAAe,GAAiB;IAC3C,MAAM,EAAE,4BAAoB;IAC5B,MAAM,EAAE,yBAAiB;IACzB,eAAe,EAAE,yBAAY;IAE7B,cAAc,EAAd,yBAAc;IACd,gBAAgB,EAAhB,2BAAgB;CACjB,CAAA"}
|
package/dist/verify.js
CHANGED
|
@@ -22,20 +22,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
26
|
exports.verifySignatureUtf8 = exports.verifySignature = void 0;
|
|
30
27
|
const uint8arrays = __importStar(require("uint8arrays"));
|
|
31
28
|
const did_1 = require("./did");
|
|
32
|
-
const plugins_1 =
|
|
29
|
+
const plugins_1 = require("./plugins");
|
|
33
30
|
const verifySignature = (didKey, data, sig, opts) => {
|
|
34
31
|
const parsed = (0, did_1.parseDidKey)(didKey);
|
|
35
32
|
if (opts?.jwtAlg && opts.jwtAlg !== parsed.jwtAlg) {
|
|
36
33
|
throw new Error(`Expected key alg ${opts.jwtAlg}, got ${parsed.jwtAlg}`);
|
|
37
34
|
}
|
|
38
|
-
const plugin = plugins_1.
|
|
35
|
+
const plugin = plugins_1.plugins.find((p) => p.jwtAlg === parsed.jwtAlg);
|
|
39
36
|
if (!plugin) {
|
|
40
37
|
throw new Error(`Unsupported signature alg: ${parsed.jwtAlg}`);
|
|
41
38
|
}
|
package/dist/verify.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA0C;AAC1C,+BAAmC;AACnC,uCAAmC;AAG5B,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.
|
|
3
|
+
"version": "0.4.4",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Library for cryptographic keys and signing in atproto",
|
|
6
6
|
"keywords": [
|
|
@@ -15,6 +15,9 @@
|
|
|
15
15
|
},
|
|
16
16
|
"main": "dist/index.js",
|
|
17
17
|
"types": "dist/index.d.ts",
|
|
18
|
+
"engines": {
|
|
19
|
+
"node": ">=18.7.0"
|
|
20
|
+
},
|
|
18
21
|
"dependencies": {
|
|
19
22
|
"@noble/curves": "^1.7.0",
|
|
20
23
|
"@noble/hashes": "^1.6.1",
|
|
@@ -23,7 +26,7 @@
|
|
|
23
26
|
"devDependencies": {
|
|
24
27
|
"jest": "^28.1.2",
|
|
25
28
|
"typescript": "^5.6.3",
|
|
26
|
-
"@atproto/common": "^0.4.
|
|
29
|
+
"@atproto/common": "^0.4.8"
|
|
27
30
|
},
|
|
28
31
|
"scripts": {
|
|
29
32
|
"test": "jest ",
|
package/src/did.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as uint8arrays from 'uint8arrays'
|
|
2
|
-
|
|
3
2
|
import { BASE58_MULTIBASE_PREFIX, DID_KEY_PREFIX } from './const'
|
|
4
|
-
import plugins from './plugins'
|
|
3
|
+
import { plugins } from './plugins'
|
|
5
4
|
import { extractMultikey, extractPrefixedBytes, hasPrefix } from './utils'
|
|
6
5
|
|
|
7
6
|
export type ParsedMultikey = {
|
package/src/p256/keypair.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { p256 } from '@noble/curves/p256'
|
|
2
2
|
import { sha256 } from '@noble/hashes/sha256'
|
|
3
|
-
import { SupportedEncodings } from 'uint8arrays/to-string'
|
|
4
3
|
import {
|
|
5
4
|
fromString as ui8FromString,
|
|
6
5
|
toString as ui8ToString,
|
|
7
6
|
} from 'uint8arrays'
|
|
8
|
-
|
|
9
|
-
import * as did from '../did'
|
|
7
|
+
import { SupportedEncodings } from 'uint8arrays/to-string'
|
|
10
8
|
import { P256_JWT_ALG } from '../const'
|
|
9
|
+
import * as did from '../did'
|
|
11
10
|
import { Keypair } from '../types'
|
|
12
11
|
|
|
13
12
|
export type P256KeypairOptions = {
|
|
@@ -69,5 +68,3 @@ export class P256Keypair implements Keypair {
|
|
|
69
68
|
return this.privateKey
|
|
70
69
|
}
|
|
71
70
|
}
|
|
72
|
-
|
|
73
|
-
export default P256Keypair
|
package/src/p256/operations.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { p256 } from '@noble/curves/p256'
|
|
2
2
|
import { sha256 } from '@noble/hashes/sha256'
|
|
3
3
|
import { equals as ui8equals } from 'uint8arrays'
|
|
4
|
-
|
|
5
4
|
import { P256_DID_PREFIX } from '../const'
|
|
6
5
|
import { VerifyOptions } from '../types'
|
|
7
6
|
import { extractMultikey, extractPrefixedBytes, hasPrefix } from '../utils'
|
package/src/p256/plugin.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { verifyDidSig } from './operations'
|
|
2
|
-
import { compressPubkey, decompressPubkey } from './encoding'
|
|
3
|
-
|
|
4
|
-
import { DidKeyPlugin } from '../types'
|
|
5
1
|
import { P256_DID_PREFIX, P256_JWT_ALG } from '../const'
|
|
2
|
+
import { DidKeyPlugin } from '../types'
|
|
3
|
+
import { compressPubkey, decompressPubkey } from './encoding'
|
|
4
|
+
import { verifyDidSig } from './operations'
|
|
6
5
|
|
|
7
6
|
export const p256Plugin: DidKeyPlugin = {
|
|
8
7
|
prefix: P256_DID_PREFIX,
|
|
@@ -12,5 +11,3 @@ export const p256Plugin: DidKeyPlugin = {
|
|
|
12
11
|
compressPubkey,
|
|
13
12
|
decompressPubkey,
|
|
14
13
|
}
|
|
15
|
-
|
|
16
|
-
export default p256Plugin
|
package/src/plugins.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import p256Plugin from './p256/plugin'
|
|
2
|
-
import secp256k1Plugin from './secp256k1/plugin'
|
|
1
|
+
import { p256Plugin } from './p256/plugin'
|
|
2
|
+
import { secp256k1Plugin } from './secp256k1/plugin'
|
|
3
3
|
|
|
4
4
|
export const plugins = [p256Plugin, secp256k1Plugin]
|
|
5
|
-
|
|
6
|
-
export default plugins
|
package/src/secp256k1/keypair.ts
CHANGED
|
@@ -5,7 +5,6 @@ import {
|
|
|
5
5
|
toString as ui8ToString,
|
|
6
6
|
} from 'uint8arrays'
|
|
7
7
|
import { SupportedEncodings } from 'uint8arrays/to-string'
|
|
8
|
-
|
|
9
8
|
import { SECP256K1_JWT_ALG } from '../const'
|
|
10
9
|
import * as did from '../did'
|
|
11
10
|
import { Keypair } from '../types'
|
|
@@ -69,5 +68,3 @@ export class Secp256k1Keypair implements Keypair {
|
|
|
69
68
|
return this.privateKey
|
|
70
69
|
}
|
|
71
70
|
}
|
|
72
|
-
|
|
73
|
-
export default Secp256k1Keypair
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { secp256k1 as k256 } from '@noble/curves/secp256k1'
|
|
2
2
|
import { sha256 } from '@noble/hashes/sha256'
|
|
3
3
|
import * as ui8 from 'uint8arrays'
|
|
4
|
-
|
|
5
4
|
import { SECP256K1_DID_PREFIX } from '../const'
|
|
6
5
|
import { VerifyOptions } from '../types'
|
|
7
6
|
import { extractMultikey, extractPrefixedBytes, hasPrefix } from '../utils'
|
package/src/secp256k1/plugin.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { verifyDidSig } from './operations'
|
|
2
|
-
import { compressPubkey, decompressPubkey } from './encoding'
|
|
3
|
-
|
|
4
|
-
import { DidKeyPlugin } from '../types'
|
|
5
1
|
import { SECP256K1_DID_PREFIX, SECP256K1_JWT_ALG } from '../const'
|
|
2
|
+
import { DidKeyPlugin } from '../types'
|
|
3
|
+
import { compressPubkey, decompressPubkey } from './encoding'
|
|
4
|
+
import { verifyDidSig } from './operations'
|
|
6
5
|
|
|
7
6
|
export const secp256k1Plugin: DidKeyPlugin = {
|
|
8
7
|
prefix: SECP256K1_DID_PREFIX,
|
|
@@ -12,5 +11,3 @@ export const secp256k1Plugin: DidKeyPlugin = {
|
|
|
12
11
|
compressPubkey,
|
|
13
12
|
decompressPubkey,
|
|
14
13
|
}
|
|
15
|
-
|
|
16
|
-
export default secp256k1Plugin
|
package/src/verify.ts
CHANGED
package/tests/did.test.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import * as uint8arrays from 'uint8arrays'
|
|
1
2
|
import { P256Keypair, Secp256k1Keypair } from '../src'
|
|
2
3
|
import * as did from '../src/did'
|
|
3
|
-
import * as uint8arrays from 'uint8arrays'
|
|
4
4
|
|
|
5
5
|
describe('secp256k1 did:key', () => {
|
|
6
6
|
it('derives the correct DID from the privatekey', async () => {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import P256Keypair from '../src/p256/keypair'
|
|
2
|
-
import Secp256k1Keypair from '../src/secp256k1/keypair'
|
|
3
|
-
import * as secpEncoding from '../src/secp256k1/encoding'
|
|
4
|
-
import * as p256Encoding from '../src/p256/encoding'
|
|
5
1
|
import * as did from '../src/did'
|
|
2
|
+
import * as p256Encoding from '../src/p256/encoding'
|
|
3
|
+
import { P256Keypair } from '../src/p256/keypair'
|
|
4
|
+
import * as secpEncoding from '../src/secp256k1/encoding'
|
|
5
|
+
import { Secp256k1Keypair } from '../src/secp256k1/keypair'
|
|
6
6
|
|
|
7
7
|
describe('public key compression', () => {
|
|
8
8
|
describe('secp256k1', () => {
|
package/tests/keypairs.test.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { randomBytes } from '../src'
|
|
2
|
+
import { P256Keypair } from '../src/p256/keypair'
|
|
3
3
|
import * as p256 from '../src/p256/operations'
|
|
4
|
+
import { Secp256k1Keypair } from '../src/secp256k1/keypair'
|
|
4
5
|
import * as secp from '../src/secp256k1/operations'
|
|
5
|
-
import { randomBytes } from '../src'
|
|
6
6
|
|
|
7
7
|
describe('keypairs', () => {
|
|
8
8
|
describe('secp256k1', () => {
|
package/tests/signatures.test.ts
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import fs from 'node:fs'
|
|
2
|
-
import * as uint8arrays from 'uint8arrays'
|
|
3
|
-
import { secp256k1 as nobleK256 } from '@noble/curves/secp256k1'
|
|
4
2
|
import { p256 as nobleP256 } from '@noble/curves/p256'
|
|
3
|
+
import { secp256k1 as nobleK256 } from '@noble/curves/secp256k1'
|
|
4
|
+
import * as uint8arrays from 'uint8arrays'
|
|
5
5
|
import { cborEncode } from '@atproto/common'
|
|
6
|
-
import EcdsaKeypair from '../src/p256/keypair'
|
|
7
|
-
import Secp256k1Keypair from '../src/secp256k1/keypair'
|
|
8
|
-
import * as p256 from '../src/p256/operations'
|
|
9
|
-
import * as secp from '../src/secp256k1/operations'
|
|
10
6
|
import {
|
|
7
|
+
P256_JWT_ALG,
|
|
8
|
+
SECP256K1_JWT_ALG,
|
|
11
9
|
bytesToMultibase,
|
|
12
10
|
multibaseToBytes,
|
|
13
11
|
parseDidKey,
|
|
14
|
-
P256_JWT_ALG,
|
|
15
|
-
SECP256K1_JWT_ALG,
|
|
16
12
|
sha256,
|
|
17
13
|
} from '../src'
|
|
14
|
+
import { P256Keypair } from '../src/p256/keypair'
|
|
15
|
+
import * as p256 from '../src/p256/operations'
|
|
16
|
+
import { Secp256k1Keypair } from '../src/secp256k1/keypair'
|
|
17
|
+
import * as secp from '../src/secp256k1/operations'
|
|
18
18
|
|
|
19
19
|
describe('signatures', () => {
|
|
20
20
|
let vectors: TestVector[]
|
|
@@ -140,7 +140,7 @@ describe('signatures', () => {
|
|
|
140
140
|
// @ts-expect-error
|
|
141
141
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
142
142
|
async function generateTestVectors(): Promise<TestVector[]> {
|
|
143
|
-
const p256Key = await
|
|
143
|
+
const p256Key = await P256Keypair.create({ exportable: true })
|
|
144
144
|
const secpKey = await Secp256k1Keypair.create({ exportable: true })
|
|
145
145
|
const messageBytes = cborEncode({ hello: 'world' })
|
|
146
146
|
const messageBase64 = uint8arrays.toString(messageBytes, 'base64')
|