solid-ui 2.4.27-9f7a01da → 2.4.27-a1b9ed49

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/dist/solid-ui.js CHANGED
@@ -2655,7 +2655,7 @@ var ChatChannel = /*#__PURE__*/function () {
2655
2655
  var oldMsg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
2656
2656
  var deleteIt = arguments.length > 2 ? arguments[2] : undefined;
2657
2657
  return /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
2658
- var sts, now, timestamp, dateStamp, chatDocument, message, me, msg, oldMsgMaker, errMsg, privateKey, pubKey, sig, _errMsg;
2658
+ var sts, now, timestamp, dateStamp, chatDocument, message, me, msg, oldMsgMaker, errMsg, privateKey, sig, _errMsg;
2659
2659
  return _regenerator["default"].wrap(function _callee2$(_context2) {
2660
2660
  while (1) switch (_context2.prev = _context2.next) {
2661
2661
  case 0:
@@ -2703,46 +2703,46 @@ var ChatChannel = /*#__PURE__*/function () {
2703
2703
  sts.push($rdf.st(message, ns.dct('created'), dateStamp, chatDocument));
2704
2704
  msg.created = dateStamp.value;
2705
2705
  if (!me) {
2706
- _context2.next = 36;
2706
+ _context2.next = 35;
2707
2707
  break;
2708
2708
  }
2709
2709
  sts.push($rdf.st(message, ns.foaf('maker'), me, chatDocument));
2710
2710
  msg.maker = me.uri;
2711
2711
  // privateKey the cached private key of me, cached in store
2712
2712
  _context2.next = 32;
2713
- return (0, _keys.getPrivateKey)(me.uri);
2713
+ return (0, _keys.getPrivateKey)(me);
2714
2714
  case 32:
2715
2715
  privateKey = _context2.sent;
2716
+ // me.uri)
2716
2717
  // const privateKey0 = 'a11bc5d2eee6cdb3b37f5473a712cad905ccfb13fb2ccdbf1be0a1ac4fdc7d2a'
2717
- // const pubKey0 = '023a9da707bee1302f66083c9d95673ff969b41607a66f52686fa774d64ceb87'
2718
- pubKey = (0, _keys.getPublicKey)(me.uri);
2719
- sig = (0, _signature.signMsg)(msg, privateKey);
2720
- /* const verify = verifySignature(sig, msg, pubKey) // alain to remove
2718
+ sig = (0, _signature.signMsg)(msg, privateKey); // const pubKey0 = '023a9da707bee1302f66083c9d95673ff969b41607a66f52686fa774d64ceb87'
2719
+ /* const pubKey = await getPublicKey(me)
2720
+ const verify = verifySignature(sig, msg, pubKey) // alain to remove
2721
2721
  debug.warn('sig ' + sig)
2722
2722
  debug.warn('verifySign ' + verify)
2723
2723
  debug.warn(msg) */
2724
2724
  sts.push($rdf.st(message, $rdf.sym("".concat(_signature.SEC, "Proof")), $rdf.lit(sig), chatDocument));
2725
- case 36:
2726
- _context2.prev = 36;
2727
- _context2.next = 39;
2725
+ case 35:
2726
+ _context2.prev = 35;
2727
+ _context2.next = 38;
2728
2728
  return _solidLogic.store.updater.update([], sts);
2729
- case 39:
2730
- _context2.next = 47;
2729
+ case 38:
2730
+ _context2.next = 46;
2731
2731
  break;
2732
- case 41:
2733
- _context2.prev = 41;
2734
- _context2.t0 = _context2["catch"](36);
2732
+ case 40:
2733
+ _context2.prev = 40;
2734
+ _context2.t0 = _context2["catch"](35);
2735
2735
  _errMsg = 'Error saving chat message: ' + _context2.t0;
2736
2736
  debug.warn(_errMsg);
2737
2737
  alert(_errMsg);
2738
2738
  throw new Error(_errMsg);
2739
- case 47:
2739
+ case 46:
2740
2740
  return _context2.abrupt("return", message);
2741
- case 48:
2741
+ case 47:
2742
2742
  case "end":
2743
2743
  return _context2.stop();
2744
2744
  }
2745
- }, _callee2, null, [[36, 41]]);
2745
+ }, _callee2, null, [[35, 40]]);
2746
2746
  })();
2747
2747
  });
2748
2748
  function updateMessage(_x2) {
@@ -4043,6 +4043,8 @@ var _utils = __webpack_require__(/*! @noble/hashes/utils */ "./node_modules/@nob
4043
4043
  var _signature = __webpack_require__(/*! ./signature */ "./lib/chat/signature.js");
4044
4044
  var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
4045
4045
  var $rdf = _interopRequireWildcard(__webpack_require__(/*! rdflib */ "./node_modules/rdflib/esm/index.js"));
4046
+ var _accessData = __webpack_require__(/*! ../utils/keyHelpers/accessData */ "./lib/utils/keyHelpers/accessData.js");
4047
+ var _acl = __webpack_require__(/*! ../utils/keyHelpers/acl */ "./lib/utils/keyHelpers/acl.js");
4046
4048
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
4047
4049
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
4048
4050
  function generatePrivateKey() {
@@ -4051,161 +4053,199 @@ function generatePrivateKey() {
4051
4053
  function generatePublicKey(privateKey) {
4052
4054
  return (0, _utils.bytesToHex)(_secp256k.schnorr.getPublicKey(privateKey));
4053
4055
  }
4054
- function getPublicKey(webId) {
4055
- var publicKey = publicKeyExists(webId);
4056
- return publicKey;
4057
- }
4058
- var pubKeyUrl = function pubKeyUrl(webId) {
4059
- var url = new URL(webId);
4060
- var publicKeyUrl = url.origin + '/profile/keys/publicKey.ttl';
4061
- return publicKeyUrl;
4062
- };
4063
- function publicKeyExists(_x) {
4064
- return _publicKeyExists.apply(this, arguments);
4056
+
4057
+ /**
4058
+ * getPublicKey
4059
+ * used for displaying messages in chat, therefore does not
4060
+ * create a new key if not found
4061
+ * @param webId
4062
+ * @returns string | undefined
4063
+ */
4064
+ function getPublicKey(_x) {
4065
+ return _getPublicKey.apply(this, arguments);
4065
4066
  }
4066
- function _publicKeyExists() {
4067
- _publicKeyExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(webId) {
4068
- var publicKey;
4067
+ function _getPublicKey() {
4068
+ _getPublicKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(webId) {
4069
+ var publicKeyDoc, key;
4069
4070
  return _regenerator["default"].wrap(function _callee$(_context) {
4070
4071
  while (1) switch (_context.prev = _context.next) {
4071
4072
  case 0:
4072
4073
  _context.next = 2;
4073
- return _solidLogic.store.fetcher.load(pubKeyUrl(webId));
4074
+ return _solidLogic.store.fetcher.load(webId);
4074
4075
  case 2:
4075
- // url.href)
4076
- publicKey = _solidLogic.store.any(_solidLogic.store.sym(webId), _solidLogic.store.sym(_signature.CERT + 'PublicKey'));
4077
- return _context.abrupt("return", publicKey === null || publicKey === void 0 ? void 0 : publicKey.value);
4076
+ _context.next = 4;
4077
+ return (0, _accessData.pubKeyUrl)(webId);
4078
4078
  case 4:
4079
+ publicKeyDoc = _context.sent;
4080
+ _context.prev = 5;
4081
+ _context.next = 8;
4082
+ return _solidLogic.store.fetcher.load(publicKeyDoc);
4083
+ case 8:
4084
+ // url.href)
4085
+ key = _solidLogic.store.any(webId, _solidLogic.store.sym(_signature.CERT + 'PublicKey'));
4086
+ return _context.abrupt("return", key === null || key === void 0 ? void 0 : key.value);
4087
+ case 12:
4088
+ _context.prev = 12;
4089
+ _context.t0 = _context["catch"](5);
4090
+ return _context.abrupt("return", undefined);
4091
+ case 15:
4079
4092
  case "end":
4080
4093
  return _context.stop();
4081
4094
  }
4082
- }, _callee);
4095
+ }, _callee, null, [[5, 12]]);
4083
4096
  }));
4084
- return _publicKeyExists.apply(this, arguments);
4097
+ return _getPublicKey.apply(this, arguments);
4085
4098
  }
4086
- var privKeyUrl = function privKeyUrl(webId) {
4087
- var url = new URL(webId);
4088
- var privateKeyUrl = url.origin + '/profile/keys/privateKey.ttl';
4089
- return privateKeyUrl;
4090
- };
4091
- function privateKeyExists(_x2) {
4092
- return _privateKeyExists.apply(this, arguments);
4099
+ function getPrivateKey(_x2) {
4100
+ return _getPrivateKey.apply(this, arguments);
4093
4101
  }
4094
- function _privateKeyExists() {
4095
- _privateKeyExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
4096
- var privateKeyUrl, privateKey, _err$response, data, contentType, response;
4102
+ /**
4103
+ * delete acl if keydoc exists
4104
+ * create/edit keyDoc
4105
+ * set keyDoc acl
4106
+ */
4107
+ function _getPrivateKey() {
4108
+ _getPrivateKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
4109
+ var publicKeyDoc, privateKeyDoc, publicKey, privateKey, validPublicKey, del, add, newPublicKey, keyContainer;
4097
4110
  return _regenerator["default"].wrap(function _callee2$(_context2) {
4098
4111
  while (1) switch (_context2.prev = _context2.next) {
4099
4112
  case 0:
4100
- /* const url = new URL(webId)
4101
- const privateKeyUrl = url.protocol + '//' + url.host + '/profile/privateKey.ttl' */
4102
- privateKeyUrl = privKeyUrl(webId);
4103
- /* debug.warn('Alain privateKeyExists')
4104
- debug.warn(webId)
4105
- debug.warn(privateKeyUrl) */
4106
- _context2.prev = 1;
4113
+ _context2.next = 2;
4114
+ return _solidLogic.store.fetcher.load(webId);
4115
+ case 2:
4107
4116
  _context2.next = 4;
4108
- return _solidLogic.store.fetcher.load(privateKeyUrl);
4117
+ return (0, _accessData.pubKeyUrl)(webId);
4109
4118
  case 4:
4110
- privateKey = _solidLogic.store.any(_solidLogic.store.sym(webId), _solidLogic.store.sym(_signature.CERT + 'PrivateKey'));
4111
- return _context2.abrupt("return", privateKey === null || privateKey === void 0 ? void 0 : privateKey.value);
4112
- case 8:
4113
- _context2.prev = 8;
4114
- _context2.t0 = _context2["catch"](1);
4115
- if (!((_context2.t0 === null || _context2.t0 === void 0 ? void 0 : (_err$response = _context2.t0.response) === null || _err$response === void 0 ? void 0 : _err$response.status) === 404)) {
4116
- _context2.next = 25;
4117
- break;
4118
- }
4119
- _context2.prev = 11;
4120
- // create privateKey resource
4121
- data = '';
4122
- contentType = 'text/ttl';
4123
- _context2.next = 16;
4124
- return _solidLogic.store.fetcher.webOperation('PUT', privateKeyUrl, {
4125
- data: data,
4126
- contentType: contentType
4127
- });
4128
- case 16:
4129
- response = _context2.sent;
4130
- _context2.next = 23;
4131
- break;
4132
- case 19:
4133
- _context2.prev = 19;
4134
- _context2.t1 = _context2["catch"](11);
4135
- debug.log('createIfNotExists doc FAILED: ' + privateKeyUrl + ': ' + _context2.t1);
4136
- throw _context2.t1;
4137
- case 23:
4138
- delete _solidLogic.store.fetcher.requested[privateKeyUrl]; // delete cached 404 error
4139
- return _context2.abrupt("return", undefined);
4140
- case 25:
4141
- debug.log('createIfNotExists doc FAILED: ' + privateKeyUrl + ': ' + _context2.t0);
4142
- throw _context2.t0;
4143
- case 27:
4144
- case "end":
4145
- return _context2.stop();
4146
- }
4147
- }, _callee2, null, [[1, 8], [11, 19]]);
4148
- }));
4149
- return _privateKeyExists.apply(this, arguments);
4150
- }
4151
- function getPrivateKey(_x3) {
4152
- return _getPrivateKey.apply(this, arguments);
4153
- }
4154
- function _getPrivateKey() {
4155
- _getPrivateKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(webId) {
4156
- var publicKeyUrl, privateKeyUrl, publicKey, privateKey, del, add;
4157
- return _regenerator["default"].wrap(function _callee3$(_context3) {
4158
- while (1) switch (_context3.prev = _context3.next) {
4159
- case 0:
4160
- /* const url = new URL(webId)
4161
- url.hash = '' */
4162
- /* const privateKeyUrl = url.protocol + '//' + url.host + '/profile/privateKey.ttl' */
4163
- publicKeyUrl = pubKeyUrl(webId);
4164
- privateKeyUrl = privKeyUrl(webId); // find publickey
4165
- _context3.next = 4;
4166
- return publicKeyExists(webId);
4167
- case 4:
4168
- publicKey = _context3.sent;
4169
- _context3.next = 7;
4170
- return privateKeyExists(webId);
4119
+ publicKeyDoc = _context2.sent;
4120
+ _context2.next = 7;
4121
+ return (0, _accessData.privKeyUrl)(webId);
4171
4122
  case 7:
4172
- privateKey = _context3.sent;
4173
- // debug.warn('privateKey ' + privateKey)
4174
- if (privateKey && publicKey !== generatePublicKey(privateKey)) debug.warn('publicKey is not valid');
4175
-
4176
- // simulate new key pair
4177
- /* const newPrivateKey = generatePrivateKey()
4178
- const newPublicKey = generatePublicKey(newPrivateKey)
4179
- debug.log('newPrivateKey ' + newPrivateKey)
4180
- debug.log('newPublicKey ' + newPublicKey) */
4181
-
4182
- // create key pair
4183
- if (!(!privateKey || !publicKey)) {
4184
- _context3.next = 20;
4123
+ privateKeyDoc = _context2.sent;
4124
+ _context2.next = 10;
4125
+ return (0, _accessData.getExistingPublicKey)(webId, publicKeyDoc);
4126
+ case 10:
4127
+ publicKey = _context2.sent;
4128
+ _context2.next = 13;
4129
+ return (0, _accessData.getExistingPrivateKey)(webId, privateKeyDoc);
4130
+ case 13:
4131
+ privateKey = _context2.sent;
4132
+ // is publicKey valid ?
4133
+ validPublicKey = true;
4134
+ if (privateKey && publicKey !== generatePublicKey(privateKey)) {
4135
+ if (confirm('This is strange the publicKey is not valid for\n' + (webId === null || webId === void 0 ? void 0 : webId.uri) + '\'shall we repair keeping the private key ?')) validPublicKey = false;
4136
+ }
4137
+
4138
+ // create key pair or repair publicKey
4139
+ if (!(!privateKey || !publicKey || !validPublicKey)) {
4140
+ _context2.next = 34;
4185
4141
  break;
4186
4142
  }
4187
4143
  del = [];
4188
- add = [];
4189
- if (privateKey) del.push($rdf.st($rdf.sym(webId), $rdf.sym(_signature.CERT + 'PrivateKey'), $rdf.lit(privateKey), $rdf.sym(privateKeyUrl)));
4190
- if (publicKey) del.push($rdf.st($rdf.sym(webId), $rdf.sym(_signature.CERT + 'PublicKey'), $rdf.lit(publicKey), $rdf.sym(publicKeyUrl)));
4144
+ add = []; // if (privateKey) del.push($rdf.st(webId, store.sym(CERT + 'PrivateKey'), $rdf.lit(privateKey), store.sym(privateKeyDoc)))
4145
+ if (privateKey) {
4146
+ _context2.next = 24;
4147
+ break;
4148
+ }
4149
+ // add = []
4191
4150
  privateKey = generatePrivateKey();
4192
- publicKey = generatePublicKey(privateKey);
4193
- /* debug.log('newPrivateKey-1 ' + privateKey)
4194
- debug.log('newPublicKey-1 ' + publicKey) */
4195
- add.push($rdf.st($rdf.sym(webId), $rdf.sym(_signature.CERT + 'PrivateKey'), $rdf.literal(privateKey), $rdf.sym(privateKeyUrl)));
4196
- add.push($rdf.st($rdf.sym(webId), $rdf.sym(_signature.CERT + 'PublicKey'), $rdf.literal(publicKey), $rdf.sym(publicKeyUrl)));
4197
- _context3.next = 20;
4198
- return _solidLogic.store.updater.updateMany(del, add);
4199
- case 20:
4200
- return _context3.abrupt("return", privateKey);
4201
- case 21:
4151
+ add = [$rdf.st(webId, _solidLogic.store.sym(_signature.CERT + 'PrivateKey'), $rdf.literal(privateKey), _solidLogic.store.sym(privateKeyDoc))];
4152
+ _context2.next = 24;
4153
+ return saveKey(privateKeyDoc, [], add, webId.uri);
4154
+ case 24:
4155
+ if (!(!publicKey || !validPublicKey)) {
4156
+ _context2.next = 31;
4157
+ break;
4158
+ }
4159
+ del = [];
4160
+ // delete invalid public key
4161
+ if (publicKey) {
4162
+ del = [$rdf.st(webId, _solidLogic.store.sym(_signature.CERT + 'PublicKey'), $rdf.lit(publicKey), _solidLogic.store.sym(publicKeyDoc))];
4163
+ debug.log(del);
4164
+ }
4165
+ // update new valid key
4166
+ newPublicKey = generatePublicKey(privateKey);
4167
+ add = [$rdf.st(webId, _solidLogic.store.sym(_signature.CERT + 'PublicKey'), $rdf.literal(newPublicKey), _solidLogic.store.sym(publicKeyDoc))];
4168
+ _context2.next = 31;
4169
+ return saveKey(publicKeyDoc, del, add);
4170
+ case 31:
4171
+ keyContainer = privateKeyDoc.substring(0, privateKeyDoc.lastIndexOf('/') + 1);
4172
+ _context2.next = 34;
4173
+ return (0, _acl.setAcl)(keyContainer, (0, _acl.keyContainerAclBody)(webId.uri));
4174
+ case 34:
4175
+ return _context2.abrupt("return", privateKey);
4176
+ case 35:
4202
4177
  case "end":
4203
- return _context3.stop();
4178
+ return _context2.stop();
4204
4179
  }
4205
- }, _callee3);
4180
+ }, _callee2);
4206
4181
  }));
4207
4182
  return _getPrivateKey.apply(this, arguments);
4208
4183
  }
4184
+ function saveKey(_x3, _x4, _x5) {
4185
+ return _saveKey.apply(this, arguments);
4186
+ }
4187
+ function _saveKey() {
4188
+ _saveKey = (0, _asyncToGenerator2["default"])(function (keyDoc, del, add) {
4189
+ var me = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
4190
+ return /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
4191
+ var keyAclDoc, response, aclBody;
4192
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
4193
+ while (1) switch (_context3.prev = _context3.next) {
4194
+ case 0:
4195
+ _context3.next = 2;
4196
+ return _solidLogic.store.fetcher.load(keyDoc);
4197
+ case 2:
4198
+ _context3.prev = 2;
4199
+ // get keyAcldoc
4200
+ keyAclDoc = _solidLogic.store.any(_solidLogic.store.sym(keyDoc), _solidLogic.store.sym('http://www.iana.org/assignments/link-relations/acl'));
4201
+ if (!keyAclDoc) {
4202
+ _context3.next = 17;
4203
+ break;
4204
+ }
4205
+ _context3.prev = 5;
4206
+ _context3.next = 8;
4207
+ return _solidLogic.store.fetcher.webOperation('DELETE', keyAclDoc.value);
4208
+ case 8:
4209
+ response = _context3.sent;
4210
+ // this may fail if webId is not an owner
4211
+ debug.log('delete ' + keyAclDoc.value + ' ' + response.status); // should test 404 and 2xx
4212
+ _context3.next = 17;
4213
+ break;
4214
+ case 12:
4215
+ _context3.prev = 12;
4216
+ _context3.t0 = _context3["catch"](5);
4217
+ if (!(_context3.t0.response.status !== 404)) {
4218
+ _context3.next = 16;
4219
+ break;
4220
+ }
4221
+ throw new Error(_context3.t0);
4222
+ case 16:
4223
+ debug.log('delete ' + keyAclDoc.value + ' ' + _context3.t0.response.status); // should test 404 and 2xx
4224
+ case 17:
4225
+ _context3.next = 19;
4226
+ return _solidLogic.store.updater.updateMany(del, add);
4227
+ case 19:
4228
+ // or a promise store.updater.update ?
4229
+ // create READ only ACL
4230
+ aclBody = (0, _acl.keyAclBody)(keyDoc, me);
4231
+ _context3.next = 22;
4232
+ return (0, _acl.setAcl)(keyDoc, aclBody);
4233
+ case 22:
4234
+ _context3.next = 27;
4235
+ break;
4236
+ case 24:
4237
+ _context3.prev = 24;
4238
+ _context3.t1 = _context3["catch"](2);
4239
+ throw new Error(_context3.t1);
4240
+ case 27:
4241
+ case "end":
4242
+ return _context3.stop();
4243
+ }
4244
+ }, _callee3, null, [[2, 24], [5, 12]]);
4245
+ })();
4246
+ });
4247
+ return _saveKey.apply(this, arguments);
4248
+ }
4209
4249
  //# sourceMappingURL=keys.js.map
4210
4250
 
4211
4251
  /***/ }),
@@ -4335,44 +4375,37 @@ function renderMessageRow(channelObject, message, fresh, options, userContext) {
4335
4375
  var date = _solidLogic.store.any(message, ns.dct('created'));
4336
4376
  var latestVersion = (0, _chatLogic.mostRecentVersion)(message);
4337
4377
  var latestVersionCreator = _solidLogic.store.any(latestVersion, ns.foaf('maker'));
4378
+
4338
4379
  // use latest content if same owner, else use original
4339
4380
  var msgId = creator.uri === latestVersionCreator.uri ? latestVersion : message;
4340
4381
  var content = _solidLogic.store.any(msgId, ns.sioc('content'));
4341
4382
  var signature = _solidLogic.store.any(msgId, $rdf.sym("".concat(_signature.SEC, "Proof")));
4342
- debug.log('alain ' + (signature === null || signature === void 0 ? void 0 : signature.value));
4343
4383
 
4344
- // verify signature
4384
+ // set message object
4345
4385
  var msg = (0, _signature.getBlankMsg)();
4346
4386
  msg.id = msgId.uri;
4347
4387
  msg.created = _solidLogic.store.any(msgId, ns.dct('created')).value;
4348
4388
  msg.content = content.value;
4349
4389
  msg.maker = creator.uri;
4350
- try {
4351
- var publicKey = function publicKey(webId) {
4352
- var pubKey;
4353
- (0, _keys.getPublicKey)(webId).then(function (publicKey) {
4354
- debug.log('alain publicKey ' + publicKey);
4355
- pubKey = publicKey;
4356
- });
4357
- return pubKey;
4358
- };
4359
- var pubKey = publicKey(creator.uri); // await getPublicKey(creator.uri)
4360
- debug.log('alain pubKey ' + pubKey);
4361
- debug.log(creator.uri);
4362
- } catch (err) {
4363
- debug.warn(err);
4364
- }
4365
- try {
4366
- // pubKey could be store in a cache for all makers
4367
- /* const pubKey0 = '023a9da707bee1302f66083c9d95673ff969b41607a66f52686fa774d64ceb87'
4368
- debug.warn('publicKeys\n' + pubKey0 + '\n' + pubKey)
4369
- const privKey0 = getPrivateKey(creator.uri) // alain to remove
4370
- // unsigned messages should be signaled as unsecured
4371
- debug.warn(msg)
4372
- debug.warn(signature?.value) */
4373
- if (signature !== null && signature !== void 0 && signature.value && !(0, _signature.verifySignature)(signature.value, msg, pubKey)) throw new Error('invalid signature');
4374
- } catch (err) {
4375
- debug.log(err);
4390
+
4391
+ // unsigned message
4392
+ if (!(signature !== null && signature !== void 0 && signature.value)) debug.warn(msgId.uri + ' is unsigned'); // TODO replace with UI (colored message ?)
4393
+
4394
+ // signed message, get public key and check signature
4395
+ else {
4396
+ (0, _keys.getPublicKey)(creator).then(function (publicKey) {
4397
+ debug.log(creator.uri + '\n' + msg.created + '\n' + msg.id + '\n' + publicKey);
4398
+ if (!publicKey) {
4399
+ // TODO try to recreate the publicKey
4400
+ // if(me.uri === creator.uri) await getPrivateKey(creator)
4401
+ debug.warn('message is signed but ' + creator.uri + ' is missing publicKey');
4402
+ }
4403
+ // check that publicKey is a valid hex string
4404
+ var regex = /[0-9A-Fa-f]{6}/g;
4405
+ if (!(publicKey !== null && publicKey !== void 0 && publicKey.match(regex))) debug.warn('invalid publicKey hex string\n' + creator.uri + '\n' + publicKey);
4406
+ // verify signature
4407
+ else if (signature !== null && signature !== void 0 && signature.value && !(0, _signature.verifySignature)(signature === null || signature === void 0 ? void 0 : signature.value, msg, publicKey)) debug.warn('invalid signature\n' + msg.id);
4408
+ });
4376
4409
  }
4377
4410
  var originalMessage = (0, _chatLogic.originalVersion)(message);
4378
4411
  var edited = !message.sameTerm(originalMessage);
@@ -5167,13 +5200,11 @@ Object.defineProperty(exports, "__esModule", ({
5167
5200
  value: true
5168
5201
  }));
5169
5202
  exports.SEC = exports.CERT = void 0;
5170
- exports.finishMsg = finishMsg;
5171
5203
  exports.getBlankMsg = getBlankMsg;
5172
5204
  exports.getMsgHash = getMsgHash;
5173
5205
  exports.serializeMsg = serializeMsg;
5174
5206
  exports.signMsg = signMsg;
5175
5207
  exports.utf8Encoder = exports.utf8Decoder = void 0;
5176
- exports.validateMsg = validateMsg;
5177
5208
  exports.verifySignature = verifySignature;
5178
5209
  var _secp256k = __webpack_require__(/*! @noble/curves/secp256k1 */ "./node_modules/@noble/curves/secp256k1.js");
5179
5210
  var _utils = __webpack_require__(/*! @noble/hashes/utils */ "./node_modules/@noble/hashes/utils.js");
@@ -5219,19 +5250,22 @@ function getBlankMsg() {
5219
5250
  id: '',
5220
5251
  created: '',
5221
5252
  dateDeleted: '',
5253
+ // TODO to remove if not used
5222
5254
  content: '',
5223
5255
  maker: '',
5224
- sig: ''
5256
+ sig: '' // TODO to remove if not used
5225
5257
  };
5226
5258
  }
5227
- function finishMsg(t, privateKey) {
5228
- // to update to chat message triples
5229
- var message = t;
5230
- // message.pubkey = getPublicKey(privateKey)
5231
- message.id = getMsgHash(message);
5232
- message.sig = signMsg(message, privateKey);
5233
- return message;
5234
- }
5259
+
5260
+ /* export function finishMsg (t: MsgTemplate, privateKey: string): Message {
5261
+ // to update to chat message triples
5262
+ const message = t as Message
5263
+ // message.pubkey = getPublicKey(privateKey)
5264
+ message.id = getMsgHash(message)
5265
+ message.sig = signMsg(message, privateKey)
5266
+ return message
5267
+ } */
5268
+
5235
5269
  function serializeMsg(msg) {
5236
5270
  // to update to chat messages triples
5237
5271
  /* if (!validateMsg(msg))
@@ -5243,27 +5277,29 @@ function getMsgHash(message) {
5243
5277
  var msgHash = (0, _sha.sha256)(utf8Encoder.encode(serializeMsg(message)));
5244
5278
  return (0, _utils.bytesToHex)(msgHash);
5245
5279
  }
5246
- var isRecord = function isRecord(obj) {
5247
- return obj instanceof Object;
5248
- };
5249
- function validateMsg(message) {
5250
- /* if (!isRecord(message)) return false
5280
+
5281
+ // const isRecord = (obj: unknown): obj is Record<string, unknown> => obj instanceof Object
5282
+
5283
+ /* export function validateMsg<T> (message: T): message is T & UnsignedMsg {
5284
+ if (!isRecord(message)) return false
5251
5285
  if (typeof message.kind !== 'number') return false
5252
5286
  if (typeof message.content !== 'string') return false
5253
5287
  if (typeof message.created_at !== 'number') return false
5254
5288
  if (typeof message.pubkey !== 'string') return false
5255
5289
  if (!message.pubkey.match(/^[a-f0-9]{64}$/)) return false
5256
- if (!Array.isArray(message.tags)) return false
5290
+
5291
+ if (!Array.isArray(message.tags)) return false
5257
5292
  for (let i = 0; i < message.tags.length; i++) {
5258
5293
  let tag = message.tags[i]
5259
5294
  if (!Array.isArray(tag)) return false
5260
5295
  for (let j = 0; j < tag.length; j++) {
5261
5296
  if (typeof tag[j] === 'object') return false
5262
5297
  }
5263
- } */
5298
+ }
5299
+
5300
+ return true
5301
+ } */
5264
5302
 
5265
- return true;
5266
- }
5267
5303
  function verifySignature(sig, message, pubKey) {
5268
5304
  return _secp256k.schnorr.verify(sig, getMsgHash(message), pubKey);
5269
5305
  }
@@ -13192,6 +13228,353 @@ function predParentOf(node) {
13192
13228
 
13193
13229
  /***/ }),
13194
13230
 
13231
+ /***/ "./lib/utils/keyHelpers/accessData.js":
13232
+ /*!********************************************!*\
13233
+ !*** ./lib/utils/keyHelpers/accessData.js ***!
13234
+ \********************************************/
13235
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
13236
+
13237
+ "use strict";
13238
+
13239
+
13240
+ var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js");
13241
+ var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js");
13242
+ Object.defineProperty(exports, "__esModule", ({
13243
+ value: true
13244
+ }));
13245
+ exports.getExistingPrivateKey = getExistingPrivateKey;
13246
+ exports.getExistingPublicKey = getExistingPublicKey;
13247
+ exports.getKeyIfExists = getKeyIfExists;
13248
+ exports.pubKeyUrl = exports.privKeyUrl = exports.getPodRoot = void 0;
13249
+ var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"));
13250
+ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
13251
+ var debug = _interopRequireWildcard(__webpack_require__(/*! ../../debug */ "./lib/debug.js"));
13252
+ var _signature = __webpack_require__(/*! ../../chat/signature */ "./lib/chat/signature.js");
13253
+ var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
13254
+ var ns = _interopRequireWildcard(__webpack_require__(/*! ../../ns */ "./lib/ns.js"));
13255
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13256
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13257
+ var getPodRoot = /*#__PURE__*/function () {
13258
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(webId) {
13259
+ var _podRoot;
13260
+ var webIdURL, storages, podRoot, path, _res$headers$get, res;
13261
+ return _regenerator["default"].wrap(function _callee$(_context) {
13262
+ while (1) switch (_context.prev = _context.next) {
13263
+ case 0:
13264
+ webIdURL = new URL(webId.uri); // find storages in webId document
13265
+ _context.next = 3;
13266
+ return _solidLogic.store.fetcher.load(webId.uri);
13267
+ case 3:
13268
+ storages = _solidLogic.store.each(webId, ns.space('storage'), null, webId.doc());
13269
+ if (storages !== null && storages !== void 0 && storages.length) {
13270
+ _context.next = 19;
13271
+ break;
13272
+ }
13273
+ // find storage recursively in webId URL
13274
+ path = webIdURL.pathname;
13275
+ case 6:
13276
+ if (!path.length) {
13277
+ _context.next = 17;
13278
+ break;
13279
+ }
13280
+ path = path.substring(0, path.lastIndexOf('/'));
13281
+ podRoot = _solidLogic.store.sym(webIdURL.origin + path + '/');
13282
+ _context.next = 11;
13283
+ return _solidLogic.store.fetcher.webOperation('HEAD', podRoot.uri);
13284
+ case 11:
13285
+ res = _context.sent;
13286
+ if (!((_res$headers$get = res.headers.get('link')) !== null && _res$headers$get !== void 0 && _res$headers$get.includes(ns.space('Storage').value))) {
13287
+ _context.next = 14;
13288
+ break;
13289
+ }
13290
+ return _context.abrupt("break", 17);
13291
+ case 14:
13292
+ if (!path) debug.warn("Current user storage not found for\n".concat(webId));
13293
+ _context.next = 6;
13294
+ break;
13295
+ case 17:
13296
+ _context.next = 21;
13297
+ break;
13298
+ case 19:
13299
+ // give preference to storage in webId root
13300
+ podRoot = storages.find(function (storage) {
13301
+ return webIdURL.origin === new URL(storage.value).origin;
13302
+ });
13303
+ if (!podRoot) podRoot = storages[0];
13304
+ case 21:
13305
+ return _context.abrupt("return", (_podRoot = podRoot) === null || _podRoot === void 0 ? void 0 : _podRoot.value);
13306
+ case 22:
13307
+ case "end":
13308
+ return _context.stop();
13309
+ }
13310
+ }, _callee);
13311
+ }));
13312
+ return function getPodRoot(_x) {
13313
+ return _ref.apply(this, arguments);
13314
+ };
13315
+ }();
13316
+ exports.getPodRoot = getPodRoot;
13317
+ var pubKeyUrl = /*#__PURE__*/function () {
13318
+ var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
13319
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
13320
+ while (1) switch (_context2.prev = _context2.next) {
13321
+ case 0:
13322
+ _context2.prev = 0;
13323
+ _context2.next = 3;
13324
+ return getPodRoot(webId);
13325
+ case 3:
13326
+ _context2.t0 = _context2.sent;
13327
+ return _context2.abrupt("return", _context2.t0 + 'profile/keys/publicKey.ttl');
13328
+ case 7:
13329
+ _context2.prev = 7;
13330
+ _context2.t1 = _context2["catch"](0);
13331
+ throw new Error(_context2.t1);
13332
+ case 10:
13333
+ case "end":
13334
+ return _context2.stop();
13335
+ }
13336
+ }, _callee2, null, [[0, 7]]);
13337
+ }));
13338
+ return function pubKeyUrl(_x2) {
13339
+ return _ref2.apply(this, arguments);
13340
+ };
13341
+ }();
13342
+ exports.pubKeyUrl = pubKeyUrl;
13343
+ function getExistingPublicKey(_x3, _x4) {
13344
+ return _getExistingPublicKey.apply(this, arguments);
13345
+ }
13346
+ function _getExistingPublicKey() {
13347
+ _getExistingPublicKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(webId, publicKeyUrl) {
13348
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
13349
+ while (1) switch (_context4.prev = _context4.next) {
13350
+ case 0:
13351
+ _context4.next = 2;
13352
+ return getKeyIfExists(webId, publicKeyUrl, 'PublicKey');
13353
+ case 2:
13354
+ return _context4.abrupt("return", _context4.sent);
13355
+ case 3:
13356
+ case "end":
13357
+ return _context4.stop();
13358
+ }
13359
+ }, _callee4);
13360
+ }));
13361
+ return _getExistingPublicKey.apply(this, arguments);
13362
+ }
13363
+ var privKeyUrl = /*#__PURE__*/function () {
13364
+ var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(webId) {
13365
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
13366
+ while (1) switch (_context3.prev = _context3.next) {
13367
+ case 0:
13368
+ _context3.prev = 0;
13369
+ _context3.next = 3;
13370
+ return getPodRoot(webId);
13371
+ case 3:
13372
+ _context3.t0 = _context3.sent;
13373
+ return _context3.abrupt("return", _context3.t0 + 'profile/keys/privateKey.ttl');
13374
+ case 7:
13375
+ _context3.prev = 7;
13376
+ _context3.t1 = _context3["catch"](0);
13377
+ throw new Error(_context3.t1);
13378
+ case 10:
13379
+ case "end":
13380
+ return _context3.stop();
13381
+ }
13382
+ }, _callee3, null, [[0, 7]]);
13383
+ }));
13384
+ return function privKeyUrl(_x5) {
13385
+ return _ref3.apply(this, arguments);
13386
+ };
13387
+ }();
13388
+ exports.privKeyUrl = privKeyUrl;
13389
+ function getExistingPrivateKey(_x6, _x7) {
13390
+ return _getExistingPrivateKey.apply(this, arguments);
13391
+ }
13392
+ function _getExistingPrivateKey() {
13393
+ _getExistingPrivateKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(webId, privateKeyUrl) {
13394
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
13395
+ while (1) switch (_context5.prev = _context5.next) {
13396
+ case 0:
13397
+ _context5.next = 2;
13398
+ return getKeyIfExists(webId, privateKeyUrl, 'PrivateKey');
13399
+ case 2:
13400
+ return _context5.abrupt("return", _context5.sent);
13401
+ case 3:
13402
+ case "end":
13403
+ return _context5.stop();
13404
+ }
13405
+ }, _callee5);
13406
+ }));
13407
+ return _getExistingPrivateKey.apply(this, arguments);
13408
+ }
13409
+ function getKeyIfExists(_x8, _x9, _x10) {
13410
+ return _getKeyIfExists.apply(this, arguments);
13411
+ }
13412
+ function _getKeyIfExists() {
13413
+ _getKeyIfExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(webId, keyUrl, keyType) {
13414
+ var key, _err$response, data, contentType, response;
13415
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
13416
+ while (1) switch (_context6.prev = _context6.next) {
13417
+ case 0:
13418
+ _context6.prev = 0;
13419
+ _context6.next = 3;
13420
+ return _solidLogic.store.fetcher.load(keyUrl);
13421
+ case 3:
13422
+ key = _solidLogic.store.any(webId, _solidLogic.store.sym(_signature.CERT + keyType));
13423
+ return _context6.abrupt("return", key === null || key === void 0 ? void 0 : key.value);
13424
+ case 7:
13425
+ _context6.prev = 7;
13426
+ _context6.t0 = _context6["catch"](0);
13427
+ if (!((_context6.t0 === null || _context6.t0 === void 0 ? void 0 : (_err$response = _context6.t0.response) === null || _err$response === void 0 ? void 0 : _err$response.status) === 404)) {
13428
+ _context6.next = 24;
13429
+ break;
13430
+ }
13431
+ _context6.prev = 10;
13432
+ // create resource
13433
+ data = '';
13434
+ contentType = 'text/turtle';
13435
+ _context6.next = 15;
13436
+ return _solidLogic.store.fetcher.webOperation('PUT', keyUrl, {
13437
+ data: data,
13438
+ contentType: contentType
13439
+ });
13440
+ case 15:
13441
+ response = _context6.sent;
13442
+ _context6.next = 22;
13443
+ break;
13444
+ case 18:
13445
+ _context6.prev = 18;
13446
+ _context6.t1 = _context6["catch"](10);
13447
+ debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context6.t1);
13448
+ throw _context6.t1;
13449
+ case 22:
13450
+ delete _solidLogic.store.fetcher.requested[keyUrl]; // delete cached 404 error
13451
+ return _context6.abrupt("return", undefined);
13452
+ case 24:
13453
+ debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context6.t0);
13454
+ throw _context6.t0;
13455
+ case 26:
13456
+ case "end":
13457
+ return _context6.stop();
13458
+ }
13459
+ }, _callee6, null, [[0, 7], [10, 18]]);
13460
+ }));
13461
+ return _getKeyIfExists.apply(this, arguments);
13462
+ }
13463
+ //# sourceMappingURL=accessData.js.map
13464
+
13465
+ /***/ }),
13466
+
13467
+ /***/ "./lib/utils/keyHelpers/acl.js":
13468
+ /*!*************************************!*\
13469
+ !*** ./lib/utils/keyHelpers/acl.js ***!
13470
+ \*************************************/
13471
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
13472
+
13473
+ "use strict";
13474
+
13475
+
13476
+ var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js");
13477
+ var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js");
13478
+ Object.defineProperty(exports, "__esModule", ({
13479
+ value: true
13480
+ }));
13481
+ exports.keyContainerAclBody = exports.keyAclBody = void 0;
13482
+ exports.setAcl = setAcl;
13483
+ var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"));
13484
+ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
13485
+ var debug = _interopRequireWildcard(__webpack_require__(/*! ../../debug */ "./lib/debug.js"));
13486
+ var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
13487
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13488
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13489
+ /**
13490
+ * set ACL
13491
+ * @param keyDoc
13492
+ * @param aclBody
13493
+ */
13494
+ function setAcl(_x, _x2) {
13495
+ return _setAcl.apply(this, arguments);
13496
+ }
13497
+ /**
13498
+ * key container ACL
13499
+ * @param me
13500
+ * @returns aclBody
13501
+ */
13502
+ function _setAcl() {
13503
+ _setAcl = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(keyDoc, aclBody) {
13504
+ var keyAclDoc, response, aclResponse;
13505
+ return _regenerator["default"].wrap(function _callee$(_context) {
13506
+ while (1) switch (_context.prev = _context.next) {
13507
+ case 0:
13508
+ _context.next = 2;
13509
+ return _solidLogic.store.fetcher.load(keyDoc);
13510
+ case 2:
13511
+ // FIXME: check the Why value on this quad:
13512
+ debug.log(_solidLogic.store.statementsMatching(_solidLogic.store.sym(keyDoc), _solidLogic.store.sym('http://www.iana.org/assignments/link-relations/acl')));
13513
+ keyAclDoc = _solidLogic.store.any(_solidLogic.store.sym(keyDoc), _solidLogic.store.sym('http://www.iana.org/assignments/link-relations/acl'));
13514
+ if (keyAclDoc) {
13515
+ _context.next = 6;
13516
+ break;
13517
+ }
13518
+ throw new Error('Key ACL doc not found!');
13519
+ case 6:
13520
+ _context.prev = 6;
13521
+ _context.next = 9;
13522
+ return _solidLogic.store.fetcher.webOperation('DELETE', keyAclDoc.value);
13523
+ case 9:
13524
+ response = _context.sent;
13525
+ // this may fail if webId is not an owner
13526
+ debug.log('delete ' + keyAclDoc.value + ' ' + response.status); // should test 404 and 2xx
13527
+ _context.next = 18;
13528
+ break;
13529
+ case 13:
13530
+ _context.prev = 13;
13531
+ _context.t0 = _context["catch"](6);
13532
+ if (!(_context.t0.response.status !== 404)) {
13533
+ _context.next = 17;
13534
+ break;
13535
+ }
13536
+ throw new Error(_context.t0);
13537
+ case 17:
13538
+ debug.log('delete ' + keyAclDoc.value + ' ' + _context.t0.response.status); // should test 404 and 2xx
13539
+ case 18:
13540
+ _context.next = 20;
13541
+ return _solidLogic.store.fetcher.webOperation('PUT', keyAclDoc.value, {
13542
+ data: aclBody,
13543
+ contentType: 'text/turtle'
13544
+ });
13545
+ case 20:
13546
+ aclResponse = _context.sent;
13547
+ case 21:
13548
+ case "end":
13549
+ return _context.stop();
13550
+ }
13551
+ }, _callee, null, [[6, 13]]);
13552
+ }));
13553
+ return _setAcl.apply(this, arguments);
13554
+ }
13555
+ var keyContainerAclBody = function keyContainerAclBody(me) {
13556
+ var aclBody = "\n@prefix : <#>.\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix key: <./>.\n\n:ReadWrite\n a acl:Authorization;\n acl:accessTo key:;\n acl:default key:;\n acl:agent <".concat(me, ">;\n acl:mode acl:Read, acl:Write.\n");
13557
+ return aclBody;
13558
+ };
13559
+
13560
+ /**
13561
+ * Read only ACL
13562
+ * @param keyDoc
13563
+ * @param me
13564
+ * @returns aclBody
13565
+ */
13566
+ exports.keyContainerAclBody = keyContainerAclBody;
13567
+ var keyAclBody = function keyAclBody(keyDoc, me) {
13568
+ var keyAgent = 'acl:agentClass foaf:Agent'; // publicKey
13569
+ if (me !== null && me !== void 0 && me.length) keyAgent = "acl:agent <".concat(me, ">"); // privateKey
13570
+ var aclBody = "\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\n<#Read>\n a acl:Authorization;\n ".concat(keyAgent, ";\n acl:accessTo <").concat(keyDoc.split('/').pop(), ">;\n acl:mode acl:Read.\n");
13571
+ return aclBody;
13572
+ };
13573
+ exports.keyAclBody = keyAclBody;
13574
+ //# sourceMappingURL=acl.js.map
13575
+
13576
+ /***/ }),
13577
+
13195
13578
  /***/ "./lib/utils/label.js":
13196
13579
  /*!****************************!*\
13197
13580
  !*** ./lib/utils/label.js ***!
@@ -13320,8 +13703,8 @@ Object.defineProperty(exports, "__esModule", ({
13320
13703
  }));
13321
13704
  exports.versionInfo = void 0;
13322
13705
  var versionInfo = {
13323
- buildTime: '2023-04-25T08:53:43Z',
13324
- commit: '9f7a01da36a7e5e6b71dafcecf7bc9393366980e',
13706
+ buildTime: '2023-05-10T20:40:26Z',
13707
+ commit: 'a1b9ed499fb4a952fea53802444f51b325c4ed6d',
13325
13708
  npmInfo: {
13326
13709
  'solid-ui': '2.4.27',
13327
13710
  npm: '8.19.4',
@@ -62007,14 +62390,17 @@ __webpack_require__.r(__webpack_exports__);
62007
62390
  /* harmony export */ "createRemoteJWKSet": () => (/* binding */ createRemoteJWKSet)
62008
62391
  /* harmony export */ });
62009
62392
  /* harmony import */ var _runtime_fetch_jwks_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../runtime/fetch_jwks.js */ "./node_modules/jose/dist/browser/runtime/fetch_jwks.js");
62010
- /* harmony import */ var _runtime_env_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../runtime/env.js */ "./node_modules/jose/dist/browser/runtime/env.js");
62011
- /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
62012
- /* harmony import */ var _local_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./local.js */ "./node_modules/jose/dist/browser/jwks/local.js");
62013
-
62393
+ /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
62394
+ /* harmony import */ var _local_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./local.js */ "./node_modules/jose/dist/browser/jwks/local.js");
62014
62395
 
62015
62396
 
62016
62397
 
62017
- class RemoteJWKSet extends _local_js__WEBPACK_IMPORTED_MODULE_3__.LocalJWKSet {
62398
+ function isCloudflareWorkers() {
62399
+ return (typeof WebSocketPair !== 'undefined' ||
62400
+ (typeof navigator !== 'undefined' && navigator.userAgent === 'Cloudflare-Workers') ||
62401
+ (typeof EdgeRuntime !== 'undefined' && EdgeRuntime === 'vercel'));
62402
+ }
62403
+ class RemoteJWKSet extends _local_js__WEBPACK_IMPORTED_MODULE_2__.LocalJWKSet {
62018
62404
  constructor(url, options) {
62019
62405
  super({ keys: [] });
62020
62406
  this._jwks = undefined;
@@ -62047,7 +62433,7 @@ class RemoteJWKSet extends _local_js__WEBPACK_IMPORTED_MODULE_3__.LocalJWKSet {
62047
62433
  return await super.getKey(protectedHeader, token);
62048
62434
  }
62049
62435
  catch (err) {
62050
- if (err instanceof _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JWKSNoMatchingKey) {
62436
+ if (err instanceof _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JWKSNoMatchingKey) {
62051
62437
  if (this.coolingDown() === false) {
62052
62438
  await this.reload();
62053
62439
  return super.getKey(protectedHeader, token);
@@ -62057,13 +62443,13 @@ class RemoteJWKSet extends _local_js__WEBPACK_IMPORTED_MODULE_3__.LocalJWKSet {
62057
62443
  }
62058
62444
  }
62059
62445
  async reload() {
62060
- if (this._pendingFetch && (0,_runtime_env_js__WEBPACK_IMPORTED_MODULE_1__.isCloudflareWorkers)()) {
62446
+ if (this._pendingFetch && isCloudflareWorkers()) {
62061
62447
  this._pendingFetch = undefined;
62062
62448
  }
62063
62449
  this._pendingFetch || (this._pendingFetch = (0,_runtime_fetch_jwks_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this._url, this._timeoutDuration, this._options)
62064
62450
  .then((json) => {
62065
- if (!(0,_local_js__WEBPACK_IMPORTED_MODULE_3__.isJWKSLike)(json)) {
62066
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JWKSInvalid('JSON Web Key Set malformed');
62451
+ if (!(0,_local_js__WEBPACK_IMPORTED_MODULE_2__.isJWKSLike)(json)) {
62452
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JWKSInvalid('JSON Web Key Set malformed');
62067
62453
  }
62068
62454
  this._jwks = { keys: json.keys };
62069
62455
  this._jwksTimestamp = Date.now();
@@ -63251,8 +63637,6 @@ __webpack_require__.r(__webpack_exports__);
63251
63637
  /* harmony export */ "checkEncCryptoKey": () => (/* binding */ checkEncCryptoKey),
63252
63638
  /* harmony export */ "checkSigCryptoKey": () => (/* binding */ checkSigCryptoKey)
63253
63639
  /* harmony export */ });
63254
- /* harmony import */ var _runtime_env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../runtime/env.js */ "./node_modules/jose/dist/browser/runtime/env.js");
63255
-
63256
63640
  function unusable(name, prop = 'algorithm.name') {
63257
63641
  return new TypeError(`CryptoKey does not support this operation, its ${prop} must be ${name}`);
63258
63642
  }
@@ -63327,11 +63711,6 @@ function checkSigCryptoKey(key, alg, ...usages) {
63327
63711
  }
63328
63712
  case 'EdDSA': {
63329
63713
  if (key.algorithm.name !== 'Ed25519' && key.algorithm.name !== 'Ed448') {
63330
- if ((0,_runtime_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
63331
- if (isAlgorithm(key.algorithm, 'NODE-ED25519'))
63332
- break;
63333
- throw unusable('Ed25519, Ed448, or NODE-ED25519');
63334
- }
63335
63714
  throw unusable('Ed25519 or Ed448');
63336
63715
  }
63337
63716
  break;
@@ -64162,14 +64541,12 @@ __webpack_require__.r(__webpack_exports__);
64162
64541
  /* harmony export */ "toPKCS8": () => (/* binding */ toPKCS8),
64163
64542
  /* harmony export */ "toSPKI": () => (/* binding */ toSPKI)
64164
64543
  /* harmony export */ });
64165
- /* harmony import */ var _env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./env.js */ "./node_modules/jose/dist/browser/runtime/env.js");
64166
- /* harmony import */ var _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./webcrypto.js */ "./node_modules/jose/dist/browser/runtime/webcrypto.js");
64167
- /* harmony import */ var _lib_invalid_key_input_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../lib/invalid_key_input.js */ "./node_modules/jose/dist/browser/lib/invalid_key_input.js");
64168
- /* harmony import */ var _base64url_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./base64url.js */ "./node_modules/jose/dist/browser/runtime/base64url.js");
64169
- /* harmony import */ var _lib_format_pem_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../lib/format_pem.js */ "./node_modules/jose/dist/browser/lib/format_pem.js");
64170
- /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
64171
- /* harmony import */ var _is_key_like_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./is_key_like.js */ "./node_modules/jose/dist/browser/runtime/is_key_like.js");
64172
-
64544
+ /* harmony import */ var _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./webcrypto.js */ "./node_modules/jose/dist/browser/runtime/webcrypto.js");
64545
+ /* harmony import */ var _lib_invalid_key_input_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../lib/invalid_key_input.js */ "./node_modules/jose/dist/browser/lib/invalid_key_input.js");
64546
+ /* harmony import */ var _base64url_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base64url.js */ "./node_modules/jose/dist/browser/runtime/base64url.js");
64547
+ /* harmony import */ var _lib_format_pem_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../lib/format_pem.js */ "./node_modules/jose/dist/browser/lib/format_pem.js");
64548
+ /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
64549
+ /* harmony import */ var _is_key_like_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./is_key_like.js */ "./node_modules/jose/dist/browser/runtime/is_key_like.js");
64173
64550
 
64174
64551
 
64175
64552
 
@@ -64177,8 +64554,8 @@ __webpack_require__.r(__webpack_exports__);
64177
64554
 
64178
64555
 
64179
64556
  const genericExport = async (keyType, keyFormat, key) => {
64180
- if (!(0,_webcrypto_js__WEBPACK_IMPORTED_MODULE_1__.isCryptoKey)(key)) {
64181
- throw new TypeError((0,_lib_invalid_key_input_js__WEBPACK_IMPORTED_MODULE_2__["default"])(key, ..._is_key_like_js__WEBPACK_IMPORTED_MODULE_6__.types));
64557
+ if (!(0,_webcrypto_js__WEBPACK_IMPORTED_MODULE_0__.isCryptoKey)(key)) {
64558
+ throw new TypeError((0,_lib_invalid_key_input_js__WEBPACK_IMPORTED_MODULE_1__["default"])(key, ..._is_key_like_js__WEBPACK_IMPORTED_MODULE_5__.types));
64182
64559
  }
64183
64560
  if (!key.extractable) {
64184
64561
  throw new TypeError('CryptoKey is not extractable');
@@ -64186,7 +64563,7 @@ const genericExport = async (keyType, keyFormat, key) => {
64186
64563
  if (key.type !== keyType) {
64187
64564
  throw new TypeError(`key is not a ${keyType} key`);
64188
64565
  }
64189
- return (0,_lib_format_pem_js__WEBPACK_IMPORTED_MODULE_4__["default"])((0,_base64url_js__WEBPACK_IMPORTED_MODULE_3__.encodeBase64)(new Uint8Array(await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.exportKey(keyFormat, key))), `${keyType.toUpperCase()} KEY`);
64566
+ return (0,_lib_format_pem_js__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_base64url_js__WEBPACK_IMPORTED_MODULE_2__.encodeBase64)(new Uint8Array(await _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__["default"].subtle.exportKey(keyFormat, key))), `${keyType.toUpperCase()} KEY`);
64190
64567
  };
64191
64568
  const toSPKI = (key) => {
64192
64569
  return genericExport('public', 'spki', key);
@@ -64224,11 +64601,11 @@ const getNamedCurve = (keyData) => {
64224
64601
  case findOid(keyData, [0x2b, 0x65, 0x71]):
64225
64602
  return 'Ed448';
64226
64603
  default:
64227
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_5__.JOSENotSupported('Invalid or unsupported EC Key Curve or OKP Key Sub Type');
64604
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_4__.JOSENotSupported('Invalid or unsupported EC Key Curve or OKP Key Sub Type');
64228
64605
  }
64229
64606
  };
64230
64607
  const genericImport = async (replace, keyFormat, pem, alg, options) => {
64231
- var _a, _b;
64608
+ var _a;
64232
64609
  let algorithm;
64233
64610
  let keyUsages;
64234
64611
  const keyData = new Uint8Array(atob(pem.replace(replace, ''))
@@ -64284,20 +64661,9 @@ const genericImport = async (replace, keyFormat, pem, alg, options) => {
64284
64661
  keyUsages = isPublic ? ['verify'] : ['sign'];
64285
64662
  break;
64286
64663
  default:
64287
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_5__.JOSENotSupported('Invalid or unsupported "alg" (Algorithm) value');
64288
- }
64289
- try {
64290
- return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey(keyFormat, keyData, algorithm, (_a = options === null || options === void 0 ? void 0 : options.extractable) !== null && _a !== void 0 ? _a : false, keyUsages);
64291
- }
64292
- catch (err) {
64293
- if (algorithm.name === 'Ed25519' &&
64294
- (err === null || err === void 0 ? void 0 : err.name) === 'NotSupportedError' &&
64295
- (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
64296
- algorithm = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
64297
- return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey(keyFormat, keyData, algorithm, (_b = options === null || options === void 0 ? void 0 : options.extractable) !== null && _b !== void 0 ? _b : false, keyUsages);
64298
- }
64299
- throw err;
64664
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_4__.JOSENotSupported('Invalid or unsupported "alg" (Algorithm) value');
64300
64665
  }
64666
+ return _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__["default"].subtle.importKey(keyFormat, keyData, algorithm, (_a = options === null || options === void 0 ? void 0 : options.extractable) !== null && _a !== void 0 ? _a : false, keyUsages);
64301
64667
  };
64302
64668
  const fromPKCS8 = (pem, alg, options) => {
64303
64669
  return genericImport(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g, 'pkcs8', pem, alg, options);
@@ -64366,12 +64732,12 @@ function parseElement(bytes) {
64366
64732
  }
64367
64733
  function spkiFromX509(buf) {
64368
64734
  const tbsCertificate = getElement(getElement(parseElement(buf).contents)[0].contents);
64369
- return (0,_base64url_js__WEBPACK_IMPORTED_MODULE_3__.encodeBase64)(tbsCertificate[tbsCertificate[0].raw[0] === 0xa0 ? 6 : 5].raw);
64735
+ return (0,_base64url_js__WEBPACK_IMPORTED_MODULE_2__.encodeBase64)(tbsCertificate[tbsCertificate[0].raw[0] === 0xa0 ? 6 : 5].raw);
64370
64736
  }
64371
64737
  function getSPKI(x509) {
64372
64738
  const pem = x509.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g, '');
64373
- const raw = (0,_base64url_js__WEBPACK_IMPORTED_MODULE_3__.decodeBase64)(pem);
64374
- return (0,_lib_format_pem_js__WEBPACK_IMPORTED_MODULE_4__["default"])(spkiFromX509(raw), 'PUBLIC KEY');
64739
+ const raw = (0,_base64url_js__WEBPACK_IMPORTED_MODULE_2__.decodeBase64)(pem);
64740
+ return (0,_lib_format_pem_js__WEBPACK_IMPORTED_MODULE_3__["default"])(spkiFromX509(raw), 'PUBLIC KEY');
64375
64741
  }
64376
64742
  const fromX509 = (pem, alg, options) => {
64377
64743
  let spki;
@@ -64799,26 +65165,6 @@ const encrypt = async (enc, plaintext, cek, iv, aad) => {
64799
65165
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (encrypt);
64800
65166
 
64801
65167
 
64802
- /***/ }),
64803
-
64804
- /***/ "./node_modules/jose/dist/browser/runtime/env.js":
64805
- /*!*******************************************************!*\
64806
- !*** ./node_modules/jose/dist/browser/runtime/env.js ***!
64807
- \*******************************************************/
64808
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
64809
-
64810
- "use strict";
64811
- __webpack_require__.r(__webpack_exports__);
64812
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
64813
- /* harmony export */ "isCloudflareWorkers": () => (/* binding */ isCloudflareWorkers)
64814
- /* harmony export */ });
64815
- function isCloudflareWorkers() {
64816
- return (typeof WebSocketPair !== 'undefined' ||
64817
- (typeof navigator !== 'undefined' && navigator.userAgent === 'Cloudflare-Workers') ||
64818
- (typeof EdgeRuntime !== 'undefined' && EdgeRuntime === 'vercel'));
64819
- }
64820
-
64821
-
64822
65168
  /***/ }),
64823
65169
 
64824
65170
  /***/ "./node_modules/jose/dist/browser/runtime/fetch_jwks.js":
@@ -64883,11 +65229,9 @@ __webpack_require__.r(__webpack_exports__);
64883
65229
  /* harmony export */ "generateKeyPair": () => (/* binding */ generateKeyPair),
64884
65230
  /* harmony export */ "generateSecret": () => (/* binding */ generateSecret)
64885
65231
  /* harmony export */ });
64886
- /* harmony import */ var _env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./env.js */ "./node_modules/jose/dist/browser/runtime/env.js");
64887
- /* harmony import */ var _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./webcrypto.js */ "./node_modules/jose/dist/browser/runtime/webcrypto.js");
64888
- /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
64889
- /* harmony import */ var _random_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./random.js */ "./node_modules/jose/dist/browser/runtime/random.js");
64890
-
65232
+ /* harmony import */ var _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./webcrypto.js */ "./node_modules/jose/dist/browser/runtime/webcrypto.js");
65233
+ /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
65234
+ /* harmony import */ var _random_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./random.js */ "./node_modules/jose/dist/browser/runtime/random.js");
64891
65235
 
64892
65236
 
64893
65237
 
@@ -64908,7 +65252,7 @@ async function generateSecret(alg, options) {
64908
65252
  case 'A192CBC-HS384':
64909
65253
  case 'A256CBC-HS512':
64910
65254
  length = parseInt(alg.slice(-3), 10);
64911
- return (0,_random_js__WEBPACK_IMPORTED_MODULE_3__["default"])(new Uint8Array(length >> 3));
65255
+ return (0,_random_js__WEBPACK_IMPORTED_MODULE_2__["default"])(new Uint8Array(length >> 3));
64912
65256
  case 'A128KW':
64913
65257
  case 'A192KW':
64914
65258
  case 'A256KW':
@@ -64927,20 +65271,20 @@ async function generateSecret(alg, options) {
64927
65271
  keyUsages = ['encrypt', 'decrypt'];
64928
65272
  break;
64929
65273
  default:
64930
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65274
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
64931
65275
  }
64932
- return _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.generateKey(algorithm, (_a = options === null || options === void 0 ? void 0 : options.extractable) !== null && _a !== void 0 ? _a : false, keyUsages);
65276
+ return _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__["default"].subtle.generateKey(algorithm, (_a = options === null || options === void 0 ? void 0 : options.extractable) !== null && _a !== void 0 ? _a : false, keyUsages);
64933
65277
  }
64934
65278
  function getModulusLengthOption(options) {
64935
65279
  var _a;
64936
65280
  const modulusLength = (_a = options === null || options === void 0 ? void 0 : options.modulusLength) !== null && _a !== void 0 ? _a : 2048;
64937
65281
  if (typeof modulusLength !== 'number' || modulusLength < 2048) {
64938
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used');
65282
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used');
64939
65283
  }
64940
65284
  return modulusLength;
64941
65285
  }
64942
65286
  async function generateKeyPair(alg, options) {
64943
- var _a, _b, _c, _d;
65287
+ var _a, _b, _c;
64944
65288
  let algorithm;
64945
65289
  let keyUsages;
64946
65290
  switch (alg) {
@@ -64999,7 +65343,7 @@ async function generateKeyPair(alg, options) {
64999
65343
  algorithm = { name: crv };
65000
65344
  break;
65001
65345
  default:
65002
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported crv option provided');
65346
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported crv option provided');
65003
65347
  }
65004
65348
  break;
65005
65349
  case 'ECDH-ES':
@@ -65020,25 +65364,14 @@ async function generateKeyPair(alg, options) {
65020
65364
  algorithm = { name: crv };
65021
65365
  break;
65022
65366
  default:
65023
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448');
65367
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448');
65024
65368
  }
65025
65369
  break;
65026
65370
  }
65027
65371
  default:
65028
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65029
- }
65030
- try {
65031
- return (await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.generateKey(algorithm, (_c = options === null || options === void 0 ? void 0 : options.extractable) !== null && _c !== void 0 ? _c : false, keyUsages));
65032
- }
65033
- catch (err) {
65034
- if (algorithm.name === 'Ed25519' &&
65035
- (err === null || err === void 0 ? void 0 : err.name) === 'NotSupportedError' &&
65036
- (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
65037
- algorithm = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
65038
- return (await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.generateKey(algorithm, (_d = options === null || options === void 0 ? void 0 : options.extractable) !== null && _d !== void 0 ? _d : false, keyUsages));
65039
- }
65040
- throw err;
65372
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65041
65373
  }
65374
+ return (_webcrypto_js__WEBPACK_IMPORTED_MODULE_0__["default"].subtle.generateKey(algorithm, (_c = options === null || options === void 0 ? void 0 : options.extractable) !== null && _c !== void 0 ? _c : false, keyUsages));
65042
65375
  }
65043
65376
 
65044
65377
 
@@ -65113,11 +65446,9 @@ __webpack_require__.r(__webpack_exports__);
65113
65446
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
65114
65447
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
65115
65448
  /* harmony export */ });
65116
- /* harmony import */ var _env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./env.js */ "./node_modules/jose/dist/browser/runtime/env.js");
65117
- /* harmony import */ var _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./webcrypto.js */ "./node_modules/jose/dist/browser/runtime/webcrypto.js");
65118
- /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
65119
- /* harmony import */ var _base64url_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./base64url.js */ "./node_modules/jose/dist/browser/runtime/base64url.js");
65120
-
65449
+ /* harmony import */ var _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./webcrypto.js */ "./node_modules/jose/dist/browser/runtime/webcrypto.js");
65450
+ /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
65451
+ /* harmony import */ var _base64url_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base64url.js */ "./node_modules/jose/dist/browser/runtime/base64url.js");
65121
65452
 
65122
65453
 
65123
65454
 
@@ -65136,7 +65467,7 @@ function subtleMapping(jwk) {
65136
65467
  case 'A128CBC-HS256':
65137
65468
  case 'A192CBC-HS384':
65138
65469
  case 'A256CBC-HS512':
65139
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported(`${jwk.alg} keys cannot be imported as CryptoKey instances`);
65470
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported(`${jwk.alg} keys cannot be imported as CryptoKey instances`);
65140
65471
  case 'A128GCM':
65141
65472
  case 'A192GCM':
65142
65473
  case 'A256GCM':
@@ -65159,7 +65490,7 @@ function subtleMapping(jwk) {
65159
65490
  keyUsages = ['deriveBits'];
65160
65491
  break;
65161
65492
  default:
65162
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65493
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65163
65494
  }
65164
65495
  break;
65165
65496
  }
@@ -65188,7 +65519,7 @@ function subtleMapping(jwk) {
65188
65519
  keyUsages = jwk.d ? ['decrypt', 'unwrapKey'] : ['encrypt', 'wrapKey'];
65189
65520
  break;
65190
65521
  default:
65191
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65522
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65192
65523
  }
65193
65524
  break;
65194
65525
  }
@@ -65214,7 +65545,7 @@ function subtleMapping(jwk) {
65214
65545
  keyUsages = jwk.d ? ['deriveBits'] : [];
65215
65546
  break;
65216
65547
  default:
65217
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65548
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65218
65549
  }
65219
65550
  break;
65220
65551
  }
@@ -65232,12 +65563,12 @@ function subtleMapping(jwk) {
65232
65563
  keyUsages = jwk.d ? ['deriveBits'] : [];
65233
65564
  break;
65234
65565
  default:
65235
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65566
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65236
65567
  }
65237
65568
  break;
65238
65569
  }
65239
65570
  default:
65240
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "kty" (Key Type) Parameter value');
65571
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "kty" (Key Type) Parameter value');
65241
65572
  }
65242
65573
  return { algorithm, keyUsages };
65243
65574
  }
@@ -65253,23 +65584,12 @@ const parse = async (jwk) => {
65253
65584
  (_b = jwk.key_ops) !== null && _b !== void 0 ? _b : keyUsages,
65254
65585
  ];
65255
65586
  if (algorithm.name === 'PBKDF2') {
65256
- return _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey('raw', (0,_base64url_js__WEBPACK_IMPORTED_MODULE_3__.decode)(jwk.k), ...rest);
65587
+ return _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__["default"].subtle.importKey('raw', (0,_base64url_js__WEBPACK_IMPORTED_MODULE_2__.decode)(jwk.k), ...rest);
65257
65588
  }
65258
65589
  const keyData = { ...jwk };
65259
65590
  delete keyData.alg;
65260
65591
  delete keyData.use;
65261
- try {
65262
- return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey('jwk', keyData, ...rest);
65263
- }
65264
- catch (err) {
65265
- if (algorithm.name === 'Ed25519' &&
65266
- (err === null || err === void 0 ? void 0 : err.name) === 'NotSupportedError' &&
65267
- (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
65268
- rest[0] = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
65269
- return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey('jwk', keyData, ...rest);
65270
- }
65271
- throw err;
65272
- }
65592
+ return _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__["default"].subtle.importKey('jwk', keyData, ...rest);
65273
65593
  };
65274
65594
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (parse);
65275
65595
 
@@ -65511,9 +65831,7 @@ __webpack_require__.r(__webpack_exports__);
65511
65831
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
65512
65832
  /* harmony export */ "default": () => (/* binding */ subtleDsa)
65513
65833
  /* harmony export */ });
65514
- /* harmony import */ var _env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./env.js */ "./node_modules/jose/dist/browser/runtime/env.js");
65515
- /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
65516
-
65834
+ /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
65517
65835
 
65518
65836
  function subtleDsa(alg, algorithm) {
65519
65837
  const hash = `SHA-${alg.slice(-3)}`;
@@ -65535,12 +65853,9 @@ function subtleDsa(alg, algorithm) {
65535
65853
  case 'ES512':
65536
65854
  return { hash, name: 'ECDSA', namedCurve: algorithm.namedCurve };
65537
65855
  case 'EdDSA':
65538
- if ((0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)() && algorithm.name === 'NODE-ED25519') {
65539
- return { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
65540
- }
65541
65856
  return { name: algorithm.name };
65542
65857
  default:
65543
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`);
65858
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_0__.JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`);
65544
65859
  }
65545
65860
  }
65546
65861