@sphereon/ssi-sdk-ext.key-utils 0.14.1-next.3 → 0.14.1-unstable.7

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.
Files changed (42) hide show
  1. package/package.json +2 -2
  2. package/src/functions.ts +11 -5
  3. package/dist/digest-methods.d.ts +0 -7
  4. package/dist/digest-methods.d.ts.map +0 -1
  5. package/dist/digest-methods.js +0 -95
  6. package/dist/digest-methods.js.map +0 -1
  7. package/dist/functions.d.ts +0 -44
  8. package/dist/functions.d.ts.map +0 -1
  9. package/dist/functions.js +0 -232
  10. package/dist/functions.js.map +0 -1
  11. package/dist/index.d.ts +0 -13
  12. package/dist/index.d.ts.map +0 -1
  13. package/dist/index.js +0 -29
  14. package/dist/index.js.map +0 -1
  15. package/dist/jwk-jcs.d.ts +0 -22
  16. package/dist/jwk-jcs.d.ts.map +0 -1
  17. package/dist/jwk-jcs.js +0 -178
  18. package/dist/jwk-jcs.js.map +0 -1
  19. package/dist/types/index.d.ts +0 -2
  20. package/dist/types/index.d.ts.map +0 -1
  21. package/dist/types/index.js +0 -18
  22. package/dist/types/index.js.map +0 -1
  23. package/dist/types/key-util-types.d.ts +0 -49
  24. package/dist/types/key-util-types.d.ts.map +0 -1
  25. package/dist/types/key-util-types.js +0 -37
  26. package/dist/types/key-util-types.js.map +0 -1
  27. package/dist/x509/index.d.ts +0 -4
  28. package/dist/x509/index.d.ts.map +0 -1
  29. package/dist/x509/index.js +0 -20
  30. package/dist/x509/index.js.map +0 -1
  31. package/dist/x509/rsa-key.d.ts +0 -11
  32. package/dist/x509/rsa-key.d.ts.map +0 -1
  33. package/dist/x509/rsa-key.js +0 -83
  34. package/dist/x509/rsa-key.js.map +0 -1
  35. package/dist/x509/rsa-signer.d.ts +0 -25
  36. package/dist/x509/rsa-signer.d.ts.map +0 -1
  37. package/dist/x509/rsa-signer.js +0 -101
  38. package/dist/x509/rsa-signer.js.map +0 -1
  39. package/dist/x509/x509-utils.d.ts +0 -24
  40. package/dist/x509/x509-utils.d.ts.map +0 -1
  41. package/dist/x509/x509-utils.js +0 -175
  42. package/dist/x509/x509-utils.js.map +0 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk-ext.key-utils",
3
3
  "description": "Sphereon SSI-SDK plugin for key creation.",
4
- "version": "0.14.1-next.3+4789c5b",
4
+ "version": "0.14.1-unstable.7+f1c2c5c",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -47,5 +47,5 @@
47
47
  "DID",
48
48
  "Veramo"
49
49
  ],
50
- "gitHead": "4789c5b7a518e67b22478e7769aa383002e2a2c7"
50
+ "gitHead": "f1c2c5c0078fd3d41b8ee1a6fa00a49fb3804ad9"
51
51
  }
package/src/functions.ts CHANGED
@@ -154,7 +154,7 @@ export const jwkDetermineUse = (type: TKeyType, suppliedUse?: JwkKeyUse): JwkKey
154
154
  */
155
155
  const assertProperKeyLength = (keyHex: string, expectedKeyLength: number | number[]) => {
156
156
  if (Array.isArray(expectedKeyLength)) {
157
- if (expectedKeyLength.includes(keyHex.length)) {
157
+ if (!expectedKeyLength.includes(keyHex.length)) {
158
158
  throw Error(
159
159
  `Invalid key length. Needs to be a hex string with length from ${JSON.stringify(expectedKeyLength)} instead of ${
160
160
  keyHex.length
@@ -173,15 +173,21 @@ const assertProperKeyLength = (keyHex: string, expectedKeyLength: number | numbe
173
173
  * @return The JWK
174
174
  */
175
175
  const toSecp256k1Jwk = (publicKeyHex: string, opts?: { use?: JwkKeyUse }): JsonWebKey => {
176
- assertProperKeyLength(publicKeyHex, 130)
177
176
  const { use } = opts ?? {}
177
+ const publicKey = publicKeyHex
178
+ assertProperKeyLength(publicKeyHex, [64, 66, 130])
179
+
180
+ const secp256r1 = new elliptic.ec('secp256k1')
181
+ const key = secp256r1.keyFromPublic(publicKey, 'hex')
182
+ const pubPoint = key.getPublic()
183
+
178
184
  return {
179
185
  alg: 'ES256K',
180
186
  ...(use !== undefined && { use }),
181
187
  kty: KeyType.EC,
182
188
  crv: KeyCurve.Secp256k1,
183
- x: hex2base64url(publicKeyHex.substr(2, 64)),
184
- y: hex2base64url(publicKeyHex.substr(66, 64)),
189
+ x: hex2base64url(pubPoint.getX().toString('hex')),
190
+ y: hex2base64url(pubPoint.getY().toString('hex')),
185
191
  }
186
192
  }
187
193
 
@@ -194,7 +200,7 @@ const toSecp256k1Jwk = (publicKeyHex: string, opts?: { use?: JwkKeyUse }): JsonW
194
200
  const toSecp256r1Jwk = (publicKeyHex: string, opts?: { use?: JwkKeyUse }): JsonWebKey => {
195
201
  const { use } = opts ?? {}
196
202
  const publicKey = publicKeyHex
197
- assertProperKeyLength(publicKey, 66)
203
+ assertProperKeyLength(publicKey, [64, 66, 130])
198
204
 
199
205
  const secp256r1 = new elliptic.ec('p256')
200
206
  const key = secp256r1.keyFromPublic(publicKey, 'hex')
@@ -1,7 +0,0 @@
1
- export type HashAlgorithm = 'SHA-256' | 'SHA-512';
2
- export type TDigestMethod = (input: string) => string;
3
- export declare const digestMethodParams: (hashAlgorithm: HashAlgorithm) => {
4
- hashAlgorithm: HashAlgorithm;
5
- digestMethod: TDigestMethod;
6
- };
7
- //# sourceMappingURL=digest-methods.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"digest-methods.d.ts","sourceRoot":"","sources":["../src/digest-methods.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,CAAA;AACjD,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;AAErD,eAAO,MAAM,kBAAkB,kBAAmB,aAAa;mBAAoB,aAAa;kBAAgB,aAAa;CAM5H,CAAA"}
@@ -1,95 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.digestMethodParams = void 0;
27
- const sha256_1 = require("@stablelib/sha256");
28
- const sha512_1 = require("@stablelib/sha512");
29
- const u8a = __importStar(require("uint8arrays"));
30
- const digestMethodParams = (hashAlgorithm) => {
31
- if (hashAlgorithm === 'SHA-256') {
32
- return { hashAlgorithm: 'SHA-256', digestMethod: sha256DigestMethod };
33
- }
34
- else {
35
- return { hashAlgorithm: 'SHA-512', digestMethod: sha512DigestMethod };
36
- }
37
- };
38
- exports.digestMethodParams = digestMethodParams;
39
- const sha256DigestMethod = (input) => {
40
- return u8a.toString((0, sha256_1.hash)(u8a.fromString(input, 'utf-8')), 'base16');
41
- };
42
- const sha512DigestMethod = (input) => {
43
- return u8a.toString((0, sha512_1.hash)(u8a.fromString(input, 'utf-8')), 'base16');
44
- };
45
- /*
46
- // PKCS#1 (PSS) mask generation function
47
- function pss_mgf1_str(seed, len, hash) {
48
- var mask = '', i = 0;
49
-
50
- while (mask.length < len) {
51
- mask += hextorstr(hash(rstrtohex(seed + String.fromCharCode.apply(String, [
52
- (i & 0xff000000) >> 24,
53
- (i & 0x00ff0000) >> 16,
54
- (i & 0x0000ff00) >> 8,
55
- i & 0x000000ff]))));
56
- i += 1;
57
- }
58
-
59
- return mask;
60
- }
61
-
62
- */
63
- /*
64
-
65
- /!**
66
- * Generate mask of specified length.
67
- *
68
- * @param {String} seed The seed for mask generation.
69
- * @param maskLen Number of bytes to generate.
70
- * @return {String} The generated mask.
71
- *!/
72
- export const mgf1 = (dm: TDigestMethod, seed: string, maskLen: number) => {
73
- /!* 2. Let T be the empty octet string. *!/
74
- var t = new forge.util.ByteBuffer();
75
-
76
- /!* 3. For counter from 0 to ceil(maskLen / hLen), do the following: *!/
77
- var len = Math.ceil(maskLen / md.digestLength);
78
- for(var i = 0; i < len; i++) {
79
- /!* a. Convert counter to an octet string C of length 4 octets *!/
80
- var c = new forge.util.ByteBuffer();
81
- c.putInt32(i);
82
-
83
- /!* b. Concatenate the hash of the seed mgfSeed and C to the octet
84
- * string T: *!/
85
- md.start();
86
- md.update(seed + c.getBytes());
87
- t.putBuffer(md.digest());
88
- }
89
-
90
- /!* Output the leading maskLen octets of T as the octet string mask. *!/
91
- t.truncate(t.length() - maskLen);
92
- return t.getBytes();
93
- }
94
- */
95
- //# sourceMappingURL=digest-methods.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"digest-methods.js","sourceRoot":"","sources":["../src/digest-methods.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAkD;AAClD,8CAAkD;AAClD,iDAAkC;AAK3B,MAAM,kBAAkB,GAAG,CAAC,aAA4B,EAAiE,EAAE;IAChI,IAAI,aAAa,KAAK,SAAS,EAAE;QAC/B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAA;KACtE;SAAM;QACL,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAA;KACtE;AACH,CAAC,CAAA;AANY,QAAA,kBAAkB,sBAM9B;AAED,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAU,EAAE;IACnD,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAA,aAAM,EAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;AACvE,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAU,EAAE;IACnD,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAA,aAAM,EAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;AACvE,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BE"}
@@ -1,44 +0,0 @@
1
- import { IAgentContext, IKey, IKeyManager } from '@veramo/core';
2
- import { JsonWebKey } from 'did-resolver';
3
- import { IImportProvidedOrGeneratedKeyArgs, JwkKeyUse, TKeyType } from './types';
4
- /**
5
- * Generates a random Private Hex Key for the specified key type
6
- * @param type The key type
7
- * @return The private key in Hex form
8
- */
9
- export declare const generatePrivateKeyHex: (type: TKeyType) => Promise<string>;
10
- /**
11
- * We optionally generate and then import our own keys.
12
- *
13
- * @param args The key arguments
14
- * @param context The Veramo agent context
15
- * @private
16
- */
17
- export declare function importProvidedOrGeneratedKey(args: IImportProvidedOrGeneratedKeyArgs & {
18
- kms: string;
19
- }, context: IAgentContext<IKeyManager>): Promise<IKey>;
20
- /**
21
- * Converts hex value to base64url
22
- * @param value hex value
23
- * @return Base64Url encoded value
24
- */
25
- export declare const hex2base64url: (value: string) => string;
26
- /**
27
- * Converts a public key in hex format to a JWK
28
- * @param publicKeyHex public key in hex
29
- * @param type The type of the key (Ed25519, Secp256k1/r1)
30
- * @param opts. Options, like the optional use for the key (sig/enc)
31
- * @return The JWK
32
- */
33
- export declare const toJwk: (publicKeyHex: string, type: TKeyType, opts?: {
34
- use?: JwkKeyUse;
35
- key?: IKey;
36
- }) => JsonWebKey;
37
- /**
38
- * Determines the use param based upon the key/signature type or supplied use value.
39
- *
40
- * @param type The key type
41
- * @param suppliedUse A supplied use. Will be used in case it is present
42
- */
43
- export declare const jwkDetermineUse: (type: TKeyType, suppliedUse?: JwkKeyUse) => JwkKeyUse | undefined;
44
- //# sourceMappingURL=functions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,OAAO,EAAgB,iCAAiC,EAAE,SAAS,EAAmC,QAAQ,EAAE,MAAM,SAAS,CAAA;AAG/H;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,SAAgB,QAAQ,KAAG,QAAQ,MAAM,CAmB1E,CAAA;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,iCAAiC,GAAG;IACxC,GAAG,EAAE,MAAM,CAAA;CACZ,EACD,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC,CAuCf;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,UAAW,MAAM,WAO1C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,iBAAkB,MAAM,QAAQ,QAAQ,SAAS;IAAE,GAAG,CAAC,EAAE,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE,KAAG,UAoBpG,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,SAAU,QAAQ,gBAAgB,SAAS,KAAG,SAAS,GAAG,SAQrF,CAAA"}
package/dist/functions.js DELETED
@@ -1,232 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.jwkDetermineUse = exports.toJwk = exports.hex2base64url = exports.importProvidedOrGeneratedKey = exports.generatePrivateKeyHex = void 0;
39
- const random_1 = require("@ethersproject/random");
40
- const ed25519_1 = require("@stablelib/ed25519");
41
- const elliptic_1 = __importDefault(require("elliptic"));
42
- const u8a = __importStar(require("uint8arrays"));
43
- const types_1 = require("./types");
44
- const x509_1 = require("./x509");
45
- /**
46
- * Generates a random Private Hex Key for the specified key type
47
- * @param type The key type
48
- * @return The private key in Hex form
49
- */
50
- const generatePrivateKeyHex = (type) => __awaiter(void 0, void 0, void 0, function* () {
51
- switch (type) {
52
- case 'Ed25519': {
53
- const keyPairEd25519 = (0, ed25519_1.generateKeyPair)();
54
- return u8a.toString(keyPairEd25519.secretKey, 'base16');
55
- }
56
- // The Secp256 types use the same method to generate the key
57
- case 'Secp256r1':
58
- case 'Secp256k1': {
59
- const privateBytes = (0, random_1.randomBytes)(32);
60
- return u8a.toString(privateBytes, 'base16');
61
- }
62
- case 'RSA': {
63
- const pem = yield (0, x509_1.generateRSAKeyAsPEM)('RSA-PSS', 'SHA-256', 2048);
64
- return (0, x509_1.privateKeyHexFromPEM)(pem);
65
- }
66
- default:
67
- throw Error(`not_supported: Key type ${type} not yet supported for this did:jwk implementation`);
68
- }
69
- });
70
- exports.generatePrivateKeyHex = generatePrivateKeyHex;
71
- /**
72
- * We optionally generate and then import our own keys.
73
- *
74
- * @param args The key arguments
75
- * @param context The Veramo agent context
76
- * @private
77
- */
78
- function importProvidedOrGeneratedKey(args, context) {
79
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
80
- return __awaiter(this, void 0, void 0, function* () {
81
- // @ts-ignore
82
- const type = (_g = (_e = (_b = (_a = args.options) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : (_d = (_c = args.options) === null || _c === void 0 ? void 0 : _c.key) === null || _d === void 0 ? void 0 : _d.type) !== null && _e !== void 0 ? _e : (_f = args.options) === null || _f === void 0 ? void 0 : _f.keyType) !== null && _g !== void 0 ? _g : 'Secp256r1';
83
- const key = (_h = args === null || args === void 0 ? void 0 : args.options) === null || _h === void 0 ? void 0 : _h.key;
84
- // Make sure x509 options are also set on the metadata as that is what the kms will look for
85
- if (((_j = args.options) === null || _j === void 0 ? void 0 : _j.x509) && key) {
86
- key.meta = Object.assign(Object.assign({}, key.meta), { x509: Object.assign(Object.assign({}, args.options.x509), (_k = key.meta) === null || _k === void 0 ? void 0 : _k.x509) });
87
- }
88
- if (args.options && ((_l = args.options) === null || _l === void 0 ? void 0 : _l.use) === types_1.JwkKeyUse.Encryption && !types_1.ENC_KEY_ALGS.includes(type)) {
89
- throw new Error(`${type} keys are not valid for encryption`);
90
- }
91
- let privateKeyHex;
92
- if (key) {
93
- privateKeyHex = (_m = key.privateKeyHex) !== null && _m !== void 0 ? _m : (_p = (_o = key.meta) === null || _o === void 0 ? void 0 : _o.x509) === null || _p === void 0 ? void 0 : _p.privateKeyHex;
94
- if ((!privateKeyHex || privateKeyHex.trim() === '') && ((_r = (_q = key === null || key === void 0 ? void 0 : key.meta) === null || _q === void 0 ? void 0 : _q.x509) === null || _r === void 0 ? void 0 : _r.privateKeyPEM)) {
95
- // If we do not have a privateKeyHex but do have a PEM
96
- privateKeyHex = (0, x509_1.privateKeyHexFromPEM)(key.meta.x509.privateKeyPEM);
97
- }
98
- if (!privateKeyHex && !((_t = (_s = key.meta) === null || _s === void 0 ? void 0 : _s.x509) === null || _t === void 0 ? void 0 : _t.privateKeyPEM)) {
99
- throw new Error(`We need to have a private key in Hex or PEM when importing a key`);
100
- }
101
- }
102
- else {
103
- privateKeyHex = yield (0, exports.generatePrivateKeyHex)(type);
104
- }
105
- return context.agent.keyManagerImport(Object.assign(Object.assign({}, key), { kms: args.kms, type,
106
- privateKeyHex }));
107
- });
108
- }
109
- exports.importProvidedOrGeneratedKey = importProvidedOrGeneratedKey;
110
- /**
111
- * Converts hex value to base64url
112
- * @param value hex value
113
- * @return Base64Url encoded value
114
- */
115
- const hex2base64url = (value) => {
116
- //fixme: Buffer to u8a
117
- const buffer = Buffer.from(value, 'hex');
118
- const base64 = buffer.toString('base64');
119
- const base64url = base64.replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '');
120
- return base64url;
121
- };
122
- exports.hex2base64url = hex2base64url;
123
- /**
124
- * Converts a public key in hex format to a JWK
125
- * @param publicKeyHex public key in hex
126
- * @param type The type of the key (Ed25519, Secp256k1/r1)
127
- * @param opts. Options, like the optional use for the key (sig/enc)
128
- * @return The JWK
129
- */
130
- const toJwk = (publicKeyHex, type, opts) => {
131
- const { key } = opts !== null && opts !== void 0 ? opts : {};
132
- if (key && key.publicKeyHex !== publicKeyHex) {
133
- throw Error(`Provided key with id ${key.kid}, has a different public key hex than supplied public key ${publicKeyHex}`);
134
- }
135
- switch (type) {
136
- case 'Ed25519':
137
- return toEd25519OrX25519Jwk(publicKeyHex, Object.assign(Object.assign({}, opts), { crv: types_1.KeyCurve.Ed25519 }));
138
- case 'X25519':
139
- return toEd25519OrX25519Jwk(publicKeyHex, Object.assign(Object.assign({}, opts), { crv: types_1.KeyCurve.X25519 }));
140
- case 'Secp256k1':
141
- return toSecp256k1Jwk(publicKeyHex, opts);
142
- case 'Secp256r1':
143
- return toSecp256r1Jwk(publicKeyHex, opts);
144
- case 'RSA':
145
- return toRSAJwk(publicKeyHex, opts);
146
- default:
147
- throw new Error(`not_supported: Key type ${type} not yet supported for this did:jwk implementation`);
148
- }
149
- };
150
- exports.toJwk = toJwk;
151
- /**
152
- * Determines the use param based upon the key/signature type or supplied use value.
153
- *
154
- * @param type The key type
155
- * @param suppliedUse A supplied use. Will be used in case it is present
156
- */
157
- const jwkDetermineUse = (type, suppliedUse) => {
158
- return suppliedUse
159
- ? suppliedUse
160
- : types_1.SIG_KEY_ALGS.includes(type)
161
- ? types_1.JwkKeyUse.Signature
162
- : types_1.ENC_KEY_ALGS.includes(type)
163
- ? types_1.JwkKeyUse.Encryption
164
- : undefined;
165
- };
166
- exports.jwkDetermineUse = jwkDetermineUse;
167
- /**
168
- * Assert the key has a proper length
169
- *
170
- * @param keyHex Input key
171
- * @param expectedKeyLength Expected key length(s)
172
- */
173
- const assertProperKeyLength = (keyHex, expectedKeyLength) => {
174
- if (Array.isArray(expectedKeyLength)) {
175
- if (expectedKeyLength.includes(keyHex.length)) {
176
- throw Error(`Invalid key length. Needs to be a hex string with length from ${JSON.stringify(expectedKeyLength)} instead of ${keyHex.length}. Input: ${keyHex}`);
177
- }
178
- }
179
- else if (keyHex.length !== expectedKeyLength) {
180
- throw Error(`Invalid key length. Needs to be a hex string with length ${expectedKeyLength} instead of ${keyHex.length}. Input: ${keyHex}`);
181
- }
182
- };
183
- /**
184
- * Generates a JWK from a Secp256k1 public key
185
- * @param publicKeyHex Secp256k1 public key in hex
186
- * @param use The use for the key
187
- * @return The JWK
188
- */
189
- const toSecp256k1Jwk = (publicKeyHex, opts) => {
190
- assertProperKeyLength(publicKeyHex, 130);
191
- const { use } = opts !== null && opts !== void 0 ? opts : {};
192
- return Object.assign(Object.assign({ alg: 'ES256K' }, (use !== undefined && { use })), { kty: types_1.KeyType.EC, crv: types_1.KeyCurve.Secp256k1, x: (0, exports.hex2base64url)(publicKeyHex.substr(2, 64)), y: (0, exports.hex2base64url)(publicKeyHex.substr(66, 64)) });
193
- };
194
- /**
195
- * Generates a JWK from a Secp256r1 public key
196
- * @param publicKeyHex Secp256r1 public key in hex
197
- * @param use The use for the key
198
- * @return The JWK
199
- */
200
- const toSecp256r1Jwk = (publicKeyHex, opts) => {
201
- const { use } = opts !== null && opts !== void 0 ? opts : {};
202
- const publicKey = publicKeyHex;
203
- assertProperKeyLength(publicKey, 66);
204
- const secp256r1 = new elliptic_1.default.ec('p256');
205
- const key = secp256r1.keyFromPublic(publicKey, 'hex');
206
- const pubPoint = key.getPublic();
207
- return Object.assign(Object.assign({ alg: 'ES256' }, (use !== undefined && { use })), { kty: types_1.KeyType.EC, crv: types_1.KeyCurve.P_256, x: (0, exports.hex2base64url)(pubPoint.getX().toString('hex')), y: (0, exports.hex2base64url)(pubPoint.getY().toString('hex')) });
208
- };
209
- /**
210
- * Generates a JWK from an Ed25519/X25519 public key
211
- * @param publicKeyHex Ed25519/X25519 public key in hex
212
- * @param use The use for the key
213
- * @return The JWK
214
- */
215
- const toEd25519OrX25519Jwk = (publicKeyHex, opts) => {
216
- var _a;
217
- assertProperKeyLength(publicKeyHex, 64);
218
- const { use } = opts !== null && opts !== void 0 ? opts : {};
219
- return Object.assign(Object.assign({ alg: 'EdDSA' }, (use !== undefined && { use })), { kty: types_1.KeyType.OKP, crv: (_a = opts === null || opts === void 0 ? void 0 : opts.crv) !== null && _a !== void 0 ? _a : types_1.KeyCurve.Ed25519, x: (0, exports.hex2base64url)(publicKeyHex.substr(0, 64)) });
220
- };
221
- const toRSAJwk = (publicKeyHex, opts) => {
222
- var _a, _b, _c;
223
- const { key } = opts !== null && opts !== void 0 ? opts : {};
224
- // const publicKey = publicKeyHex
225
- // assertProperKeyLength(publicKey, [2048, 3072, 4096])
226
- if ((_a = key === null || key === void 0 ? void 0 : key.meta) === null || _a === void 0 ? void 0 : _a.publicKeyJwk) {
227
- return key.meta.publicKeyJwk;
228
- }
229
- const publicKeyPEM = (_c = (_b = key === null || key === void 0 ? void 0 : key.meta) === null || _b === void 0 ? void 0 : _b.publicKeyPEM) !== null && _c !== void 0 ? _c : (0, x509_1.hexToPEM)(publicKeyHex, 'public');
230
- return (0, x509_1.PEMToJwk)(publicKeyPEM, 'public');
231
- };
232
- //# sourceMappingURL=functions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts DELETED
@@ -1,13 +0,0 @@
1
- /**
2
- * Provides `did:jwk` {@link @veramo/did-provider-jwk#JwkDIDProvider | identifier provider }
3
- * for the {@link @veramo/did-manager#DIDManager}
4
- *
5
- * @packageDocumentation
6
- */
7
- export * from './x509';
8
- export * from './functions';
9
- export * from './jwk-jcs';
10
- export * from './types';
11
- export * from './x509/x509-utils';
12
- export * from './digest-methods';
13
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA"}
package/dist/index.js DELETED
@@ -1,29 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- /**
18
- * Provides `did:jwk` {@link @veramo/did-provider-jwk#JwkDIDProvider | identifier provider }
19
- * for the {@link @veramo/did-manager#DIDManager}
20
- *
21
- * @packageDocumentation
22
- */
23
- __exportStar(require("./x509"), exports);
24
- __exportStar(require("./functions"), exports);
25
- __exportStar(require("./jwk-jcs"), exports);
26
- __exportStar(require("./types"), exports);
27
- __exportStar(require("./x509/x509-utils"), exports);
28
- __exportStar(require("./digest-methods"), exports);
29
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,yCAAsB;AACtB,8CAA2B;AAC3B,4CAAyB;AACzB,0CAAuB;AACvB,oDAAiC;AACjC,mDAAgC"}
package/dist/jwk-jcs.d.ts DELETED
@@ -1,22 +0,0 @@
1
- import type { ByteView } from 'multiformats/codecs/interface';
2
- import type { JsonWebKey } from 'did-resolver';
3
- /**
4
- * Encodes a JWK into a Uint8Array. Only the required JWK members are encoded.
5
- *
6
- * @see https://www.rfc-editor.org/rfc/rfc7518#section-6
7
- * @see https://www.rfc-editor.org/rfc/rfc8037#section-2
8
- * @see https://github.com/panva/jose/blob/3b8aa47b92d07a711bf5c3125276cc9a011794a4/src/jwk/thumbprint.ts#L37
9
- *
10
- * @param jwk - JSON Web Key.
11
- * @returns Uint8Array-encoded JWK.
12
- */
13
- export declare function jwkJcsEncode(jwk: unknown): Uint8Array;
14
- /**
15
- * Decodes an array of bytes into a JWK. Throws an error if the JWK is not valid.
16
- *
17
- * @param bytes - The array of bytes to decode.
18
- * @returns The corresponding JSON Web Key.
19
- */
20
- export declare function jwkJcsDecode(bytes: ByteView<JsonWebKey>): JsonWebKey;
21
- export declare function jcsCanonicalize(object: any): string;
22
- //# sourceMappingURL=jwk-jcs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jwk-jcs.d.ts","sourceRoot":"","sources":["../src/jwk-jcs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAuF9C;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAIrD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,UAAU,CAOpE;AAGD,wBAAgB,eAAe,CAAC,MAAM,EAAE,GAAG,UAsD1C"}