solid-ui 2.4.27-cd2500d2 → 2.4.27-d81bb5b5
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/README.md +6 -1
- package/dist/solid-ui.js +646 -376
- package/dist/solid-ui.js.map +1 -1
- package/dist/solid-ui.min.js +1 -1
- package/dist/solid-ui.min.js.map +1 -1
- package/lib/chat/chatLogic.js +18 -18
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/keys.d.ts +10 -2
- package/lib/chat/keys.d.ts.map +1 -1
- package/lib/chat/keys.js +188 -46
- package/lib/chat/keys.js.map +1 -1
- package/lib/chat/message.js +21 -28
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/signature.d.ts +0 -2
- package/lib/chat/signature.d.ts.map +1 -1
- package/lib/chat/signature.js +23 -20
- package/lib/chat/signature.js.map +1 -1
- package/lib/utils/keyHelpers/accessData.d.ts +10 -0
- package/lib/utils/keyHelpers/accessData.d.ts.map +1 -0
- package/lib/utils/keyHelpers/accessData.js +226 -0
- package/lib/utils/keyHelpers/accessData.js.map +1 -0
- package/lib/utils/keyHelpers/acl.d.ts +20 -0
- package/lib/utils/keyHelpers/acl.d.ts.map +1 -0
- package/lib/utils/keyHelpers/acl.js +93 -0
- package/lib/utils/keyHelpers/acl.js.map +1 -0
- package/lib/versionInfo.js +2 -2
- package/lib/versionInfo.js.map +1 -1
- package/package.json +1 -1
- package/lib/utils/cryptoKeyHelpers.d.ts +0 -5
- package/lib/utils/cryptoKeyHelpers.d.ts.map +0 -1
- package/lib/utils/cryptoKeyHelpers.js +0 -114
- package/lib/utils/cryptoKeyHelpers.js.map +0 -1
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,
|
|
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 =
|
|
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
|
|
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 =
|
|
2719
|
-
|
|
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
|
|
2726
|
-
_context2.prev =
|
|
2727
|
-
_context2.next =
|
|
2725
|
+
case 35:
|
|
2726
|
+
_context2.prev = 35;
|
|
2727
|
+
_context2.next = 38;
|
|
2728
2728
|
return _solidLogic.store.updater.update([], sts);
|
|
2729
|
-
case
|
|
2730
|
-
_context2.next =
|
|
2729
|
+
case 38:
|
|
2730
|
+
_context2.next = 46;
|
|
2731
2731
|
break;
|
|
2732
|
-
case
|
|
2733
|
-
_context2.prev =
|
|
2734
|
-
_context2.t0 = _context2["catch"](
|
|
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
|
|
2739
|
+
case 46:
|
|
2740
2740
|
return _context2.abrupt("return", message);
|
|
2741
|
-
case
|
|
2741
|
+
case 47:
|
|
2742
2742
|
case "end":
|
|
2743
2743
|
return _context2.stop();
|
|
2744
2744
|
}
|
|
2745
|
-
}, _callee2, null, [[
|
|
2745
|
+
}, _callee2, null, [[35, 40]]);
|
|
2746
2746
|
})();
|
|
2747
2747
|
});
|
|
2748
2748
|
function updateMessage(_x2) {
|
|
@@ -4043,7 +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
|
|
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");
|
|
4047
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); }
|
|
4048
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; }
|
|
4049
4050
|
function generatePrivateKey() {
|
|
@@ -4052,68 +4053,209 @@ function generatePrivateKey() {
|
|
|
4052
4053
|
function generatePublicKey(privateKey) {
|
|
4053
4054
|
return (0, _utils.bytesToHex)(_secp256k.schnorr.getPublicKey(privateKey));
|
|
4054
4055
|
}
|
|
4055
|
-
|
|
4056
|
-
|
|
4057
|
-
|
|
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);
|
|
4066
|
+
}
|
|
4067
|
+
function _getPublicKey() {
|
|
4068
|
+
_getPublicKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
|
|
4069
|
+
var publicKeyDoc, key;
|
|
4070
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
4071
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
4072
|
+
case 0:
|
|
4073
|
+
_context2.next = 2;
|
|
4074
|
+
return _solidLogic.store.fetcher.load(webId);
|
|
4075
|
+
case 2:
|
|
4076
|
+
_context2.next = 4;
|
|
4077
|
+
return (0, _accessData.pubKeyUrl)(webId);
|
|
4078
|
+
case 4:
|
|
4079
|
+
publicKeyDoc = _context2.sent;
|
|
4080
|
+
_context2.prev = 5;
|
|
4081
|
+
_context2.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 _context2.abrupt("return", key === null || key === void 0 ? void 0 : key.value);
|
|
4087
|
+
case 12:
|
|
4088
|
+
_context2.prev = 12;
|
|
4089
|
+
_context2.t0 = _context2["catch"](5);
|
|
4090
|
+
return _context2.abrupt("return", undefined);
|
|
4091
|
+
case 15:
|
|
4092
|
+
case "end":
|
|
4093
|
+
return _context2.stop();
|
|
4094
|
+
}
|
|
4095
|
+
}, _callee2, null, [[5, 12]]);
|
|
4096
|
+
}));
|
|
4097
|
+
return _getPublicKey.apply(this, arguments);
|
|
4058
4098
|
}
|
|
4059
|
-
function getPrivateKey(
|
|
4099
|
+
function getPrivateKey(_x2) {
|
|
4060
4100
|
return _getPrivateKey.apply(this, arguments);
|
|
4061
4101
|
}
|
|
4062
4102
|
function _getPrivateKey() {
|
|
4063
|
-
_getPrivateKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
4064
|
-
var
|
|
4065
|
-
return _regenerator["default"].wrap(function
|
|
4066
|
-
while (1) switch (
|
|
4103
|
+
_getPrivateKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(webId) {
|
|
4104
|
+
var publicKeyDoc, privateKeyDoc, publicKey, privateKey, validPublicKey, del, add, newPublicKey, keyContainer;
|
|
4105
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
4106
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
4067
4107
|
case 0:
|
|
4068
|
-
|
|
4069
|
-
|
|
4070
|
-
|
|
4071
|
-
|
|
4072
|
-
|
|
4073
|
-
_context.next = 4;
|
|
4074
|
-
return (0, _cryptoKeyHelpers.publicKeyExists)(webId);
|
|
4108
|
+
_context3.next = 2;
|
|
4109
|
+
return _solidLogic.store.fetcher.load(webId);
|
|
4110
|
+
case 2:
|
|
4111
|
+
_context3.next = 4;
|
|
4112
|
+
return (0, _accessData.pubKeyUrl)(webId);
|
|
4075
4113
|
case 4:
|
|
4076
|
-
|
|
4077
|
-
|
|
4078
|
-
return (0,
|
|
4114
|
+
publicKeyDoc = _context3.sent;
|
|
4115
|
+
_context3.next = 7;
|
|
4116
|
+
return (0, _accessData.privKeyUrl)(webId);
|
|
4079
4117
|
case 7:
|
|
4080
|
-
|
|
4081
|
-
|
|
4082
|
-
|
|
4083
|
-
|
|
4084
|
-
|
|
4085
|
-
|
|
4086
|
-
|
|
4087
|
-
|
|
4088
|
-
|
|
4089
|
-
|
|
4090
|
-
|
|
4091
|
-
if (
|
|
4092
|
-
|
|
4118
|
+
privateKeyDoc = _context3.sent;
|
|
4119
|
+
_context3.next = 10;
|
|
4120
|
+
return (0, _accessData.getExistingPublicKey)(webId, publicKeyDoc);
|
|
4121
|
+
case 10:
|
|
4122
|
+
publicKey = _context3.sent;
|
|
4123
|
+
_context3.next = 13;
|
|
4124
|
+
return (0, _accessData.getExistingPrivateKey)(webId, privateKeyDoc);
|
|
4125
|
+
case 13:
|
|
4126
|
+
privateKey = _context3.sent;
|
|
4127
|
+
// is publicKey valid ?
|
|
4128
|
+
validPublicKey = true;
|
|
4129
|
+
if (privateKey && publicKey !== generatePublicKey(privateKey)) {
|
|
4130
|
+
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;
|
|
4131
|
+
}
|
|
4132
|
+
|
|
4133
|
+
// create key pair or repair publicKey
|
|
4134
|
+
if (!(!privateKey || !publicKey || !validPublicKey)) {
|
|
4135
|
+
_context3.next = 34;
|
|
4093
4136
|
break;
|
|
4094
4137
|
}
|
|
4095
4138
|
del = [];
|
|
4096
|
-
add = [];
|
|
4097
|
-
if (privateKey)
|
|
4098
|
-
|
|
4139
|
+
add = []; // if (privateKey) del.push($rdf.st(webId, store.sym(CERT + 'PrivateKey'), $rdf.lit(privateKey), store.sym(privateKeyDoc)))
|
|
4140
|
+
if (privateKey) {
|
|
4141
|
+
_context3.next = 24;
|
|
4142
|
+
break;
|
|
4143
|
+
}
|
|
4144
|
+
// add = []
|
|
4099
4145
|
privateKey = generatePrivateKey();
|
|
4100
|
-
|
|
4101
|
-
|
|
4102
|
-
|
|
4103
|
-
|
|
4104
|
-
|
|
4105
|
-
|
|
4106
|
-
|
|
4107
|
-
|
|
4108
|
-
|
|
4109
|
-
|
|
4146
|
+
add = [$rdf.st(webId, _solidLogic.store.sym(_signature.CERT + 'PrivateKey'), $rdf.literal(privateKey), _solidLogic.store.sym(privateKeyDoc))];
|
|
4147
|
+
_context3.next = 24;
|
|
4148
|
+
return saveKey(privateKeyDoc, [], add, webId.uri);
|
|
4149
|
+
case 24:
|
|
4150
|
+
if (!(!publicKey || !validPublicKey)) {
|
|
4151
|
+
_context3.next = 31;
|
|
4152
|
+
break;
|
|
4153
|
+
}
|
|
4154
|
+
del = [];
|
|
4155
|
+
// delete invalid public key
|
|
4156
|
+
if (publicKey) {
|
|
4157
|
+
del = [$rdf.st(webId, _solidLogic.store.sym(_signature.CERT + 'PublicKey'), $rdf.lit(publicKey), _solidLogic.store.sym(publicKeyDoc))];
|
|
4158
|
+
debug.log(del);
|
|
4159
|
+
}
|
|
4160
|
+
// update new valid key
|
|
4161
|
+
newPublicKey = generatePublicKey(privateKey);
|
|
4162
|
+
add = [$rdf.st(webId, _solidLogic.store.sym(_signature.CERT + 'PublicKey'), $rdf.literal(newPublicKey), _solidLogic.store.sym(publicKeyDoc))];
|
|
4163
|
+
_context3.next = 31;
|
|
4164
|
+
return saveKey(publicKeyDoc, del, add);
|
|
4165
|
+
case 31:
|
|
4166
|
+
keyContainer = privateKeyDoc.substring(0, privateKeyDoc.lastIndexOf('/') + 1);
|
|
4167
|
+
_context3.next = 34;
|
|
4168
|
+
return (0, _acl.setAcl)(keyContainer, (0, _acl.keyContainerAclBody)(webId.uri));
|
|
4169
|
+
case 34:
|
|
4170
|
+
return _context3.abrupt("return", privateKey);
|
|
4171
|
+
case 35:
|
|
4110
4172
|
case "end":
|
|
4111
|
-
return
|
|
4173
|
+
return _context3.stop();
|
|
4112
4174
|
}
|
|
4113
|
-
},
|
|
4175
|
+
}, _callee3);
|
|
4114
4176
|
}));
|
|
4115
4177
|
return _getPrivateKey.apply(this, arguments);
|
|
4116
4178
|
}
|
|
4179
|
+
var deleteKey = /*#__PURE__*/function () {
|
|
4180
|
+
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(keyDoc) {
|
|
4181
|
+
var keyAclDoc, response;
|
|
4182
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
4183
|
+
while (1) switch (_context.prev = _context.next) {
|
|
4184
|
+
case 0:
|
|
4185
|
+
_context.next = 2;
|
|
4186
|
+
return _solidLogic.store.fetcher.load(keyDoc);
|
|
4187
|
+
case 2:
|
|
4188
|
+
keyAclDoc = _solidLogic.store.any(_solidLogic.store.sym(keyDoc), _solidLogic.store.sym('http://www.iana.org/assignments/link-relations/acl'));
|
|
4189
|
+
if (!keyAclDoc) {
|
|
4190
|
+
_context.next = 16;
|
|
4191
|
+
break;
|
|
4192
|
+
}
|
|
4193
|
+
_context.prev = 4;
|
|
4194
|
+
_context.next = 7;
|
|
4195
|
+
return _solidLogic.store.fetcher.webOperation('DELETE', keyAclDoc.value);
|
|
4196
|
+
case 7:
|
|
4197
|
+
response = _context.sent;
|
|
4198
|
+
// this may fail if webId is not an owner
|
|
4199
|
+
debug.log('delete ' + keyAclDoc.value + ' ' + response.status); // should test 404 and 2xx
|
|
4200
|
+
_context.next = 16;
|
|
4201
|
+
break;
|
|
4202
|
+
case 11:
|
|
4203
|
+
_context.prev = 11;
|
|
4204
|
+
_context.t0 = _context["catch"](4);
|
|
4205
|
+
if (!(_context.t0.response.status !== 404)) {
|
|
4206
|
+
_context.next = 15;
|
|
4207
|
+
break;
|
|
4208
|
+
}
|
|
4209
|
+
throw new Error(_context.t0);
|
|
4210
|
+
case 15:
|
|
4211
|
+
debug.log('delete ' + keyAclDoc.value + ' ' + _context.t0.response.status); // should test 404 and 2xx
|
|
4212
|
+
case 16:
|
|
4213
|
+
case "end":
|
|
4214
|
+
return _context.stop();
|
|
4215
|
+
}
|
|
4216
|
+
}, _callee, null, [[4, 11]]);
|
|
4217
|
+
}));
|
|
4218
|
+
return function deleteKey(_x3) {
|
|
4219
|
+
return _ref.apply(this, arguments);
|
|
4220
|
+
};
|
|
4221
|
+
}();
|
|
4222
|
+
|
|
4223
|
+
/**
|
|
4224
|
+
* delete acl if keydoc exists
|
|
4225
|
+
* create/edit keyDoc
|
|
4226
|
+
* set keyDoc acl
|
|
4227
|
+
*/
|
|
4228
|
+
function saveKey(_x4, _x5, _x6) {
|
|
4229
|
+
return _saveKey.apply(this, arguments);
|
|
4230
|
+
}
|
|
4231
|
+
function _saveKey() {
|
|
4232
|
+
_saveKey = (0, _asyncToGenerator2["default"])(function (keyDoc, del, add) {
|
|
4233
|
+
var me = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
|
|
4234
|
+
return /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
4235
|
+
var aclBody;
|
|
4236
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
4237
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
4238
|
+
case 0:
|
|
4239
|
+
_context4.next = 2;
|
|
4240
|
+
return deleteKey(keyDoc);
|
|
4241
|
+
case 2:
|
|
4242
|
+
_context4.next = 4;
|
|
4243
|
+
return _solidLogic.store.updater.updateMany(del, add);
|
|
4244
|
+
case 4:
|
|
4245
|
+
// or a promise store.updater.update ?
|
|
4246
|
+
// create READ only ACL
|
|
4247
|
+
aclBody = (0, _acl.keyAclBody)(keyDoc, me);
|
|
4248
|
+
_context4.next = 7;
|
|
4249
|
+
return (0, _acl.setAcl)(keyDoc, aclBody);
|
|
4250
|
+
case 7:
|
|
4251
|
+
case "end":
|
|
4252
|
+
return _context4.stop();
|
|
4253
|
+
}
|
|
4254
|
+
}, _callee4);
|
|
4255
|
+
})();
|
|
4256
|
+
});
|
|
4257
|
+
return _saveKey.apply(this, arguments);
|
|
4258
|
+
}
|
|
4117
4259
|
//# sourceMappingURL=keys.js.map
|
|
4118
4260
|
|
|
4119
4261
|
/***/ }),
|
|
@@ -4243,44 +4385,37 @@ function renderMessageRow(channelObject, message, fresh, options, userContext) {
|
|
|
4243
4385
|
var date = _solidLogic.store.any(message, ns.dct('created'));
|
|
4244
4386
|
var latestVersion = (0, _chatLogic.mostRecentVersion)(message);
|
|
4245
4387
|
var latestVersionCreator = _solidLogic.store.any(latestVersion, ns.foaf('maker'));
|
|
4388
|
+
|
|
4246
4389
|
// use latest content if same owner, else use original
|
|
4247
4390
|
var msgId = creator.uri === latestVersionCreator.uri ? latestVersion : message;
|
|
4248
4391
|
var content = _solidLogic.store.any(msgId, ns.sioc('content'));
|
|
4249
4392
|
var signature = _solidLogic.store.any(msgId, $rdf.sym("".concat(_signature.SEC, "Proof")));
|
|
4250
|
-
debug.log('alain ' + (signature === null || signature === void 0 ? void 0 : signature.value));
|
|
4251
4393
|
|
|
4252
|
-
//
|
|
4394
|
+
// set message object
|
|
4253
4395
|
var msg = (0, _signature.getBlankMsg)();
|
|
4254
4396
|
msg.id = msgId.uri;
|
|
4255
4397
|
msg.created = _solidLogic.store.any(msgId, ns.dct('created')).value;
|
|
4256
4398
|
msg.content = content.value;
|
|
4257
4399
|
msg.maker = creator.uri;
|
|
4258
|
-
|
|
4259
|
-
|
|
4260
|
-
|
|
4261
|
-
|
|
4262
|
-
|
|
4263
|
-
|
|
4264
|
-
|
|
4265
|
-
|
|
4266
|
-
|
|
4267
|
-
|
|
4268
|
-
|
|
4269
|
-
|
|
4270
|
-
|
|
4271
|
-
|
|
4272
|
-
|
|
4273
|
-
|
|
4274
|
-
|
|
4275
|
-
|
|
4276
|
-
|
|
4277
|
-
const privKey0 = getPrivateKey(creator.uri) // alain to remove
|
|
4278
|
-
// unsigned messages should be signaled as unsecured
|
|
4279
|
-
debug.warn(msg)
|
|
4280
|
-
debug.warn(signature?.value) */
|
|
4281
|
-
if (signature !== null && signature !== void 0 && signature.value && !(0, _signature.verifySignature)(signature.value, msg, pubKey)) throw new Error('invalid signature');
|
|
4282
|
-
} catch (err) {
|
|
4283
|
-
debug.log(err);
|
|
4400
|
+
|
|
4401
|
+
// unsigned message
|
|
4402
|
+
if (!(signature !== null && signature !== void 0 && signature.value)) debug.warn(msgId.uri + ' is unsigned'); // TODO replace with UI (colored message ?)
|
|
4403
|
+
|
|
4404
|
+
// signed message, get public key and check signature
|
|
4405
|
+
else {
|
|
4406
|
+
(0, _keys.getPublicKey)(creator).then(function (publicKey) {
|
|
4407
|
+
debug.log(creator.uri + '\n' + msg.created + '\n' + msg.id + '\n' + publicKey);
|
|
4408
|
+
if (!publicKey) {
|
|
4409
|
+
// TODO try to recreate the publicKey
|
|
4410
|
+
// if(me.uri === creator.uri) await getPrivateKey(creator)
|
|
4411
|
+
debug.warn('message is signed but ' + creator.uri + ' is missing publicKey');
|
|
4412
|
+
}
|
|
4413
|
+
// check that publicKey is a valid hex string
|
|
4414
|
+
var regex = /[0-9A-Fa-f]{6}/g;
|
|
4415
|
+
if (!(publicKey !== null && publicKey !== void 0 && publicKey.match(regex))) debug.warn('invalid publicKey hex string\n' + creator.uri + '\n' + publicKey);
|
|
4416
|
+
// verify signature
|
|
4417
|
+
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);
|
|
4418
|
+
});
|
|
4284
4419
|
}
|
|
4285
4420
|
var originalMessage = (0, _chatLogic.originalVersion)(message);
|
|
4286
4421
|
var edited = !message.sameTerm(originalMessage);
|
|
@@ -5075,13 +5210,11 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
5075
5210
|
value: true
|
|
5076
5211
|
}));
|
|
5077
5212
|
exports.SEC = exports.CERT = void 0;
|
|
5078
|
-
exports.finishMsg = finishMsg;
|
|
5079
5213
|
exports.getBlankMsg = getBlankMsg;
|
|
5080
5214
|
exports.getMsgHash = getMsgHash;
|
|
5081
5215
|
exports.serializeMsg = serializeMsg;
|
|
5082
5216
|
exports.signMsg = signMsg;
|
|
5083
5217
|
exports.utf8Encoder = exports.utf8Decoder = void 0;
|
|
5084
|
-
exports.validateMsg = validateMsg;
|
|
5085
5218
|
exports.verifySignature = verifySignature;
|
|
5086
5219
|
var _secp256k = __webpack_require__(/*! @noble/curves/secp256k1 */ "./node_modules/@noble/curves/secp256k1.js");
|
|
5087
5220
|
var _utils = __webpack_require__(/*! @noble/hashes/utils */ "./node_modules/@noble/hashes/utils.js");
|
|
@@ -5127,19 +5260,22 @@ function getBlankMsg() {
|
|
|
5127
5260
|
id: '',
|
|
5128
5261
|
created: '',
|
|
5129
5262
|
dateDeleted: '',
|
|
5263
|
+
// TODO to remove if not used
|
|
5130
5264
|
content: '',
|
|
5131
5265
|
maker: '',
|
|
5132
|
-
sig: ''
|
|
5266
|
+
sig: '' // TODO to remove if not used
|
|
5133
5267
|
};
|
|
5134
5268
|
}
|
|
5135
|
-
|
|
5136
|
-
|
|
5137
|
-
|
|
5138
|
-
|
|
5139
|
-
message.
|
|
5140
|
-
message.
|
|
5141
|
-
|
|
5142
|
-
|
|
5269
|
+
|
|
5270
|
+
/* export function finishMsg (t: MsgTemplate, privateKey: string): Message {
|
|
5271
|
+
// to update to chat message triples
|
|
5272
|
+
const message = t as Message
|
|
5273
|
+
// message.pubkey = getPublicKey(privateKey)
|
|
5274
|
+
message.id = getMsgHash(message)
|
|
5275
|
+
message.sig = signMsg(message, privateKey)
|
|
5276
|
+
return message
|
|
5277
|
+
} */
|
|
5278
|
+
|
|
5143
5279
|
function serializeMsg(msg) {
|
|
5144
5280
|
// to update to chat messages triples
|
|
5145
5281
|
/* if (!validateMsg(msg))
|
|
@@ -5151,27 +5287,29 @@ function getMsgHash(message) {
|
|
|
5151
5287
|
var msgHash = (0, _sha.sha256)(utf8Encoder.encode(serializeMsg(message)));
|
|
5152
5288
|
return (0, _utils.bytesToHex)(msgHash);
|
|
5153
5289
|
}
|
|
5154
|
-
|
|
5155
|
-
|
|
5156
|
-
|
|
5157
|
-
function validateMsg(message) {
|
|
5158
|
-
|
|
5290
|
+
|
|
5291
|
+
// const isRecord = (obj: unknown): obj is Record<string, unknown> => obj instanceof Object
|
|
5292
|
+
|
|
5293
|
+
/* export function validateMsg<T> (message: T): message is T & UnsignedMsg {
|
|
5294
|
+
if (!isRecord(message)) return false
|
|
5159
5295
|
if (typeof message.kind !== 'number') return false
|
|
5160
5296
|
if (typeof message.content !== 'string') return false
|
|
5161
5297
|
if (typeof message.created_at !== 'number') return false
|
|
5162
5298
|
if (typeof message.pubkey !== 'string') return false
|
|
5163
5299
|
if (!message.pubkey.match(/^[a-f0-9]{64}$/)) return false
|
|
5164
|
-
|
|
5300
|
+
|
|
5301
|
+
if (!Array.isArray(message.tags)) return false
|
|
5165
5302
|
for (let i = 0; i < message.tags.length; i++) {
|
|
5166
5303
|
let tag = message.tags[i]
|
|
5167
5304
|
if (!Array.isArray(tag)) return false
|
|
5168
5305
|
for (let j = 0; j < tag.length; j++) {
|
|
5169
5306
|
if (typeof tag[j] === 'object') return false
|
|
5170
5307
|
}
|
|
5171
|
-
}
|
|
5308
|
+
}
|
|
5309
|
+
|
|
5310
|
+
return true
|
|
5311
|
+
} */
|
|
5172
5312
|
|
|
5173
|
-
return true;
|
|
5174
|
-
}
|
|
5175
5313
|
function verifySignature(sig, message, pubKey) {
|
|
5176
5314
|
return _secp256k.schnorr.verify(sig, getMsgHash(message), pubKey);
|
|
5177
5315
|
}
|
|
@@ -12382,130 +12520,6 @@ function isLight(x) {
|
|
|
12382
12520
|
|
|
12383
12521
|
/***/ }),
|
|
12384
12522
|
|
|
12385
|
-
/***/ "./lib/utils/cryptoKeyHelpers.js":
|
|
12386
|
-
/*!***************************************!*\
|
|
12387
|
-
!*** ./lib/utils/cryptoKeyHelpers.js ***!
|
|
12388
|
-
\***************************************/
|
|
12389
|
-
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
12390
|
-
|
|
12391
|
-
"use strict";
|
|
12392
|
-
|
|
12393
|
-
|
|
12394
|
-
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js");
|
|
12395
|
-
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js");
|
|
12396
|
-
Object.defineProperty(exports, "__esModule", ({
|
|
12397
|
-
value: true
|
|
12398
|
-
}));
|
|
12399
|
-
exports.privKeyUrl = void 0;
|
|
12400
|
-
exports.privateKeyExists = privateKeyExists;
|
|
12401
|
-
exports.pubKeyUrl = void 0;
|
|
12402
|
-
exports.publicKeyExists = publicKeyExists;
|
|
12403
|
-
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"));
|
|
12404
|
-
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
|
|
12405
|
-
var debug = _interopRequireWildcard(__webpack_require__(/*! ../debug */ "./lib/debug.js"));
|
|
12406
|
-
var _signature = __webpack_require__(/*! ../chat/signature */ "./lib/chat/signature.js");
|
|
12407
|
-
var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
|
|
12408
|
-
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); }
|
|
12409
|
-
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; }
|
|
12410
|
-
var pubKeyUrl = function pubKeyUrl(webId) {
|
|
12411
|
-
var url = new URL(webId);
|
|
12412
|
-
var publicKeyUrl = url.origin + '/profile/keys/publicKey.ttl';
|
|
12413
|
-
return publicKeyUrl;
|
|
12414
|
-
};
|
|
12415
|
-
exports.pubKeyUrl = pubKeyUrl;
|
|
12416
|
-
function publicKeyExists(_x) {
|
|
12417
|
-
return _publicKeyExists.apply(this, arguments);
|
|
12418
|
-
}
|
|
12419
|
-
function _publicKeyExists() {
|
|
12420
|
-
_publicKeyExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(webId) {
|
|
12421
|
-
var publicKey;
|
|
12422
|
-
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
12423
|
-
while (1) switch (_context.prev = _context.next) {
|
|
12424
|
-
case 0:
|
|
12425
|
-
_context.next = 2;
|
|
12426
|
-
return _solidLogic.store.fetcher.load(pubKeyUrl(webId));
|
|
12427
|
-
case 2:
|
|
12428
|
-
// url.href)
|
|
12429
|
-
publicKey = _solidLogic.store.any(_solidLogic.store.sym(webId), _solidLogic.store.sym(_signature.CERT + 'PublicKey'));
|
|
12430
|
-
return _context.abrupt("return", publicKey === null || publicKey === void 0 ? void 0 : publicKey.value);
|
|
12431
|
-
case 4:
|
|
12432
|
-
case "end":
|
|
12433
|
-
return _context.stop();
|
|
12434
|
-
}
|
|
12435
|
-
}, _callee);
|
|
12436
|
-
}));
|
|
12437
|
-
return _publicKeyExists.apply(this, arguments);
|
|
12438
|
-
}
|
|
12439
|
-
var privKeyUrl = function privKeyUrl(webId) {
|
|
12440
|
-
var url = new URL(webId);
|
|
12441
|
-
var privateKeyUrl = url.origin + '/profile/keys/privateKey.ttl';
|
|
12442
|
-
return privateKeyUrl;
|
|
12443
|
-
};
|
|
12444
|
-
exports.privKeyUrl = privKeyUrl;
|
|
12445
|
-
function privateKeyExists(_x2) {
|
|
12446
|
-
return _privateKeyExists.apply(this, arguments);
|
|
12447
|
-
}
|
|
12448
|
-
function _privateKeyExists() {
|
|
12449
|
-
_privateKeyExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
|
|
12450
|
-
var privateKeyUrl, privateKey, _err$response, data, contentType, response;
|
|
12451
|
-
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
12452
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
12453
|
-
case 0:
|
|
12454
|
-
/* const url = new URL(webId)
|
|
12455
|
-
const privateKeyUrl = url.protocol + '//' + url.host + '/profile/privateKey.ttl' */
|
|
12456
|
-
privateKeyUrl = privKeyUrl(webId);
|
|
12457
|
-
/* debug.warn('Alain privateKeyExists')
|
|
12458
|
-
debug.warn(webId)
|
|
12459
|
-
debug.warn(privateKeyUrl) */
|
|
12460
|
-
_context2.prev = 1;
|
|
12461
|
-
_context2.next = 4;
|
|
12462
|
-
return _solidLogic.store.fetcher.load(privateKeyUrl);
|
|
12463
|
-
case 4:
|
|
12464
|
-
privateKey = _solidLogic.store.any(_solidLogic.store.sym(webId), _solidLogic.store.sym(_signature.CERT + 'PrivateKey'));
|
|
12465
|
-
return _context2.abrupt("return", privateKey === null || privateKey === void 0 ? void 0 : privateKey.value);
|
|
12466
|
-
case 8:
|
|
12467
|
-
_context2.prev = 8;
|
|
12468
|
-
_context2.t0 = _context2["catch"](1);
|
|
12469
|
-
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)) {
|
|
12470
|
-
_context2.next = 25;
|
|
12471
|
-
break;
|
|
12472
|
-
}
|
|
12473
|
-
_context2.prev = 11;
|
|
12474
|
-
// create privateKey resource
|
|
12475
|
-
data = '';
|
|
12476
|
-
contentType = 'text/ttl';
|
|
12477
|
-
_context2.next = 16;
|
|
12478
|
-
return _solidLogic.store.fetcher.webOperation('PUT', privateKeyUrl, {
|
|
12479
|
-
data: data,
|
|
12480
|
-
contentType: contentType
|
|
12481
|
-
});
|
|
12482
|
-
case 16:
|
|
12483
|
-
response = _context2.sent;
|
|
12484
|
-
_context2.next = 23;
|
|
12485
|
-
break;
|
|
12486
|
-
case 19:
|
|
12487
|
-
_context2.prev = 19;
|
|
12488
|
-
_context2.t1 = _context2["catch"](11);
|
|
12489
|
-
debug.log('createIfNotExists doc FAILED: ' + privateKeyUrl + ': ' + _context2.t1);
|
|
12490
|
-
throw _context2.t1;
|
|
12491
|
-
case 23:
|
|
12492
|
-
delete _solidLogic.store.fetcher.requested[privateKeyUrl]; // delete cached 404 error
|
|
12493
|
-
return _context2.abrupt("return", undefined);
|
|
12494
|
-
case 25:
|
|
12495
|
-
debug.log('createIfNotExists doc FAILED: ' + privateKeyUrl + ': ' + _context2.t0);
|
|
12496
|
-
throw _context2.t0;
|
|
12497
|
-
case 27:
|
|
12498
|
-
case "end":
|
|
12499
|
-
return _context2.stop();
|
|
12500
|
-
}
|
|
12501
|
-
}, _callee2, null, [[1, 8], [11, 19]]);
|
|
12502
|
-
}));
|
|
12503
|
-
return _privateKeyExists.apply(this, arguments);
|
|
12504
|
-
}
|
|
12505
|
-
//# sourceMappingURL=cryptoKeyHelpers.js.map
|
|
12506
|
-
|
|
12507
|
-
/***/ }),
|
|
12508
|
-
|
|
12509
12523
|
/***/ "./lib/utils/headerFooterHelpers.js":
|
|
12510
12524
|
/*!******************************************!*\
|
|
12511
12525
|
!*** ./lib/utils/headerFooterHelpers.js ***!
|
|
@@ -13224,6 +13238,345 @@ function predParentOf(node) {
|
|
|
13224
13238
|
|
|
13225
13239
|
/***/ }),
|
|
13226
13240
|
|
|
13241
|
+
/***/ "./lib/utils/keyHelpers/accessData.js":
|
|
13242
|
+
/*!********************************************!*\
|
|
13243
|
+
!*** ./lib/utils/keyHelpers/accessData.js ***!
|
|
13244
|
+
\********************************************/
|
|
13245
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
13246
|
+
|
|
13247
|
+
"use strict";
|
|
13248
|
+
|
|
13249
|
+
|
|
13250
|
+
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js");
|
|
13251
|
+
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js");
|
|
13252
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
13253
|
+
value: true
|
|
13254
|
+
}));
|
|
13255
|
+
exports.getExistingPrivateKey = getExistingPrivateKey;
|
|
13256
|
+
exports.getExistingPublicKey = getExistingPublicKey;
|
|
13257
|
+
exports.getKeyIfExists = getKeyIfExists;
|
|
13258
|
+
exports.pubKeyUrl = exports.privKeyUrl = exports.getPodRoot = void 0;
|
|
13259
|
+
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"));
|
|
13260
|
+
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
|
|
13261
|
+
var debug = _interopRequireWildcard(__webpack_require__(/*! ../../debug */ "./lib/debug.js"));
|
|
13262
|
+
var _signature = __webpack_require__(/*! ../../chat/signature */ "./lib/chat/signature.js");
|
|
13263
|
+
var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
|
|
13264
|
+
var ns = _interopRequireWildcard(__webpack_require__(/*! ../../ns */ "./lib/ns.js"));
|
|
13265
|
+
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); }
|
|
13266
|
+
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; }
|
|
13267
|
+
var getPodRoot = /*#__PURE__*/function () {
|
|
13268
|
+
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(webId) {
|
|
13269
|
+
var _podRoot;
|
|
13270
|
+
var webIdURL, storages, podRoot, path, _res$headers$get, res;
|
|
13271
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
13272
|
+
while (1) switch (_context.prev = _context.next) {
|
|
13273
|
+
case 0:
|
|
13274
|
+
webIdURL = new URL(webId.uri); // find storages in webId document
|
|
13275
|
+
_context.next = 3;
|
|
13276
|
+
return _solidLogic.store.fetcher.load(webId.uri);
|
|
13277
|
+
case 3:
|
|
13278
|
+
storages = _solidLogic.store.each(webId, ns.space('storage'), null, webId.doc());
|
|
13279
|
+
if (storages !== null && storages !== void 0 && storages.length) {
|
|
13280
|
+
_context.next = 19;
|
|
13281
|
+
break;
|
|
13282
|
+
}
|
|
13283
|
+
// find storage recursively in webId URL
|
|
13284
|
+
path = webIdURL.pathname;
|
|
13285
|
+
case 6:
|
|
13286
|
+
if (!path.length) {
|
|
13287
|
+
_context.next = 17;
|
|
13288
|
+
break;
|
|
13289
|
+
}
|
|
13290
|
+
path = path.substring(0, path.lastIndexOf('/'));
|
|
13291
|
+
podRoot = _solidLogic.store.sym(webIdURL.origin + path + '/');
|
|
13292
|
+
_context.next = 11;
|
|
13293
|
+
return _solidLogic.store.fetcher.webOperation('HEAD', podRoot.uri);
|
|
13294
|
+
case 11:
|
|
13295
|
+
res = _context.sent;
|
|
13296
|
+
if (!((_res$headers$get = res.headers.get('link')) !== null && _res$headers$get !== void 0 && _res$headers$get.includes(ns.space('Storage').value))) {
|
|
13297
|
+
_context.next = 14;
|
|
13298
|
+
break;
|
|
13299
|
+
}
|
|
13300
|
+
return _context.abrupt("break", 17);
|
|
13301
|
+
case 14:
|
|
13302
|
+
if (!path) debug.warn("Current user storage not found for\n".concat(webId));
|
|
13303
|
+
_context.next = 6;
|
|
13304
|
+
break;
|
|
13305
|
+
case 17:
|
|
13306
|
+
_context.next = 21;
|
|
13307
|
+
break;
|
|
13308
|
+
case 19:
|
|
13309
|
+
// give preference to storage in webId root
|
|
13310
|
+
podRoot = storages.find(function (storage) {
|
|
13311
|
+
return webIdURL.origin === new URL(storage.value).origin;
|
|
13312
|
+
});
|
|
13313
|
+
if (!podRoot) podRoot = storages[0];
|
|
13314
|
+
case 21:
|
|
13315
|
+
return _context.abrupt("return", (_podRoot = podRoot) === null || _podRoot === void 0 ? void 0 : _podRoot.value);
|
|
13316
|
+
case 22:
|
|
13317
|
+
case "end":
|
|
13318
|
+
return _context.stop();
|
|
13319
|
+
}
|
|
13320
|
+
}, _callee);
|
|
13321
|
+
}));
|
|
13322
|
+
return function getPodRoot(_x) {
|
|
13323
|
+
return _ref.apply(this, arguments);
|
|
13324
|
+
};
|
|
13325
|
+
}();
|
|
13326
|
+
exports.getPodRoot = getPodRoot;
|
|
13327
|
+
var pubKeyUrl = /*#__PURE__*/function () {
|
|
13328
|
+
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
|
|
13329
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
13330
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
13331
|
+
case 0:
|
|
13332
|
+
_context2.prev = 0;
|
|
13333
|
+
_context2.next = 3;
|
|
13334
|
+
return getPodRoot(webId);
|
|
13335
|
+
case 3:
|
|
13336
|
+
_context2.t0 = _context2.sent;
|
|
13337
|
+
return _context2.abrupt("return", _context2.t0 + 'profile/keys/publicKey.ttl');
|
|
13338
|
+
case 7:
|
|
13339
|
+
_context2.prev = 7;
|
|
13340
|
+
_context2.t1 = _context2["catch"](0);
|
|
13341
|
+
throw new Error(_context2.t1);
|
|
13342
|
+
case 10:
|
|
13343
|
+
case "end":
|
|
13344
|
+
return _context2.stop();
|
|
13345
|
+
}
|
|
13346
|
+
}, _callee2, null, [[0, 7]]);
|
|
13347
|
+
}));
|
|
13348
|
+
return function pubKeyUrl(_x2) {
|
|
13349
|
+
return _ref2.apply(this, arguments);
|
|
13350
|
+
};
|
|
13351
|
+
}();
|
|
13352
|
+
exports.pubKeyUrl = pubKeyUrl;
|
|
13353
|
+
function getExistingPublicKey(_x3, _x4) {
|
|
13354
|
+
return _getExistingPublicKey.apply(this, arguments);
|
|
13355
|
+
}
|
|
13356
|
+
function _getExistingPublicKey() {
|
|
13357
|
+
_getExistingPublicKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(webId, publicKeyUrl) {
|
|
13358
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
13359
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
13360
|
+
case 0:
|
|
13361
|
+
_context4.next = 2;
|
|
13362
|
+
return getKeyIfExists(webId, publicKeyUrl, 'PublicKey');
|
|
13363
|
+
case 2:
|
|
13364
|
+
return _context4.abrupt("return", _context4.sent);
|
|
13365
|
+
case 3:
|
|
13366
|
+
case "end":
|
|
13367
|
+
return _context4.stop();
|
|
13368
|
+
}
|
|
13369
|
+
}, _callee4);
|
|
13370
|
+
}));
|
|
13371
|
+
return _getExistingPublicKey.apply(this, arguments);
|
|
13372
|
+
}
|
|
13373
|
+
var privKeyUrl = /*#__PURE__*/function () {
|
|
13374
|
+
var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(webId) {
|
|
13375
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
13376
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
13377
|
+
case 0:
|
|
13378
|
+
_context3.prev = 0;
|
|
13379
|
+
_context3.next = 3;
|
|
13380
|
+
return getPodRoot(webId);
|
|
13381
|
+
case 3:
|
|
13382
|
+
_context3.t0 = _context3.sent;
|
|
13383
|
+
return _context3.abrupt("return", _context3.t0 + 'profile/keys/privateKey.ttl');
|
|
13384
|
+
case 7:
|
|
13385
|
+
_context3.prev = 7;
|
|
13386
|
+
_context3.t1 = _context3["catch"](0);
|
|
13387
|
+
throw new Error(_context3.t1);
|
|
13388
|
+
case 10:
|
|
13389
|
+
case "end":
|
|
13390
|
+
return _context3.stop();
|
|
13391
|
+
}
|
|
13392
|
+
}, _callee3, null, [[0, 7]]);
|
|
13393
|
+
}));
|
|
13394
|
+
return function privKeyUrl(_x5) {
|
|
13395
|
+
return _ref3.apply(this, arguments);
|
|
13396
|
+
};
|
|
13397
|
+
}();
|
|
13398
|
+
exports.privKeyUrl = privKeyUrl;
|
|
13399
|
+
function getExistingPrivateKey(_x6, _x7) {
|
|
13400
|
+
return _getExistingPrivateKey.apply(this, arguments);
|
|
13401
|
+
}
|
|
13402
|
+
function _getExistingPrivateKey() {
|
|
13403
|
+
_getExistingPrivateKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(webId, privateKeyUrl) {
|
|
13404
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
13405
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
13406
|
+
case 0:
|
|
13407
|
+
_context5.next = 2;
|
|
13408
|
+
return getKeyIfExists(webId, privateKeyUrl, 'PrivateKey');
|
|
13409
|
+
case 2:
|
|
13410
|
+
return _context5.abrupt("return", _context5.sent);
|
|
13411
|
+
case 3:
|
|
13412
|
+
case "end":
|
|
13413
|
+
return _context5.stop();
|
|
13414
|
+
}
|
|
13415
|
+
}, _callee5);
|
|
13416
|
+
}));
|
|
13417
|
+
return _getExistingPrivateKey.apply(this, arguments);
|
|
13418
|
+
}
|
|
13419
|
+
function getKeyIfExists(_x8, _x9, _x10) {
|
|
13420
|
+
return _getKeyIfExists.apply(this, arguments);
|
|
13421
|
+
}
|
|
13422
|
+
function _getKeyIfExists() {
|
|
13423
|
+
_getKeyIfExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(webId, keyUrl, keyType) {
|
|
13424
|
+
var key, _err$response, data, contentType, response;
|
|
13425
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
13426
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
13427
|
+
case 0:
|
|
13428
|
+
_context6.prev = 0;
|
|
13429
|
+
_context6.next = 3;
|
|
13430
|
+
return _solidLogic.store.fetcher.load(keyUrl);
|
|
13431
|
+
case 3:
|
|
13432
|
+
key = _solidLogic.store.any(webId, _solidLogic.store.sym(_signature.CERT + keyType));
|
|
13433
|
+
return _context6.abrupt("return", key === null || key === void 0 ? void 0 : key.value);
|
|
13434
|
+
case 7:
|
|
13435
|
+
_context6.prev = 7;
|
|
13436
|
+
_context6.t0 = _context6["catch"](0);
|
|
13437
|
+
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)) {
|
|
13438
|
+
_context6.next = 24;
|
|
13439
|
+
break;
|
|
13440
|
+
}
|
|
13441
|
+
_context6.prev = 10;
|
|
13442
|
+
// create resource
|
|
13443
|
+
data = '';
|
|
13444
|
+
contentType = 'text/turtle';
|
|
13445
|
+
_context6.next = 15;
|
|
13446
|
+
return _solidLogic.store.fetcher.webOperation('PUT', keyUrl, {
|
|
13447
|
+
data: data,
|
|
13448
|
+
contentType: contentType
|
|
13449
|
+
});
|
|
13450
|
+
case 15:
|
|
13451
|
+
response = _context6.sent;
|
|
13452
|
+
_context6.next = 22;
|
|
13453
|
+
break;
|
|
13454
|
+
case 18:
|
|
13455
|
+
_context6.prev = 18;
|
|
13456
|
+
_context6.t1 = _context6["catch"](10);
|
|
13457
|
+
debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context6.t1);
|
|
13458
|
+
throw _context6.t1;
|
|
13459
|
+
case 22:
|
|
13460
|
+
delete _solidLogic.store.fetcher.requested[keyUrl]; // delete cached 404 error
|
|
13461
|
+
return _context6.abrupt("return", undefined);
|
|
13462
|
+
case 24:
|
|
13463
|
+
debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context6.t0);
|
|
13464
|
+
throw _context6.t0;
|
|
13465
|
+
case 26:
|
|
13466
|
+
case "end":
|
|
13467
|
+
return _context6.stop();
|
|
13468
|
+
}
|
|
13469
|
+
}, _callee6, null, [[0, 7], [10, 18]]);
|
|
13470
|
+
}));
|
|
13471
|
+
return _getKeyIfExists.apply(this, arguments);
|
|
13472
|
+
}
|
|
13473
|
+
//# sourceMappingURL=accessData.js.map
|
|
13474
|
+
|
|
13475
|
+
/***/ }),
|
|
13476
|
+
|
|
13477
|
+
/***/ "./lib/utils/keyHelpers/acl.js":
|
|
13478
|
+
/*!*************************************!*\
|
|
13479
|
+
!*** ./lib/utils/keyHelpers/acl.js ***!
|
|
13480
|
+
\*************************************/
|
|
13481
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
13482
|
+
|
|
13483
|
+
"use strict";
|
|
13484
|
+
|
|
13485
|
+
|
|
13486
|
+
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js");
|
|
13487
|
+
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js");
|
|
13488
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
13489
|
+
value: true
|
|
13490
|
+
}));
|
|
13491
|
+
exports.keyContainerAclBody = exports.keyAclBody = void 0;
|
|
13492
|
+
exports.setAcl = setAcl;
|
|
13493
|
+
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"));
|
|
13494
|
+
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
|
|
13495
|
+
var debug = _interopRequireWildcard(__webpack_require__(/*! ../../debug */ "./lib/debug.js"));
|
|
13496
|
+
var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
|
|
13497
|
+
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); }
|
|
13498
|
+
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; }
|
|
13499
|
+
/**
|
|
13500
|
+
* set ACL
|
|
13501
|
+
* @param keyDoc
|
|
13502
|
+
* @param aclBody
|
|
13503
|
+
*/
|
|
13504
|
+
function setAcl(_x, _x2) {
|
|
13505
|
+
return _setAcl.apply(this, arguments);
|
|
13506
|
+
}
|
|
13507
|
+
/**
|
|
13508
|
+
* key container ACL
|
|
13509
|
+
* @param me
|
|
13510
|
+
* @returns aclBody
|
|
13511
|
+
*/
|
|
13512
|
+
function _setAcl() {
|
|
13513
|
+
_setAcl = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(keyDoc, aclBody) {
|
|
13514
|
+
var keyAclDoc, _err$response;
|
|
13515
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
13516
|
+
while (1) switch (_context.prev = _context.next) {
|
|
13517
|
+
case 0:
|
|
13518
|
+
_context.next = 2;
|
|
13519
|
+
return _solidLogic.store.fetcher.load(keyDoc);
|
|
13520
|
+
case 2:
|
|
13521
|
+
// FIXME: check the Why value on this quad:
|
|
13522
|
+
debug.log(_solidLogic.store.statementsMatching(_solidLogic.store.sym(keyDoc), _solidLogic.store.sym('http://www.iana.org/assignments/link-relations/acl')));
|
|
13523
|
+
keyAclDoc = _solidLogic.store.any(_solidLogic.store.sym(keyDoc), _solidLogic.store.sym('http://www.iana.org/assignments/link-relations/acl'));
|
|
13524
|
+
if (keyAclDoc) {
|
|
13525
|
+
_context.next = 6;
|
|
13526
|
+
break;
|
|
13527
|
+
}
|
|
13528
|
+
throw new Error('Key ACL doc not found!');
|
|
13529
|
+
case 6:
|
|
13530
|
+
_context.prev = 6;
|
|
13531
|
+
_context.next = 9;
|
|
13532
|
+
return _solidLogic.store.fetcher.webOperation('PUT', keyAclDoc.value, {
|
|
13533
|
+
data: aclBody,
|
|
13534
|
+
contentType: 'text/turtle'
|
|
13535
|
+
});
|
|
13536
|
+
case 9:
|
|
13537
|
+
_context.next = 16;
|
|
13538
|
+
break;
|
|
13539
|
+
case 11:
|
|
13540
|
+
_context.prev = 11;
|
|
13541
|
+
_context.t0 = _context["catch"](6);
|
|
13542
|
+
if (!((_context.t0 === null || _context.t0 === void 0 ? void 0 : (_err$response = _context.t0.response) === null || _err$response === void 0 ? void 0 : _err$response.status) !== 404)) {
|
|
13543
|
+
_context.next = 15;
|
|
13544
|
+
break;
|
|
13545
|
+
}
|
|
13546
|
+
throw new Error(_context.t0);
|
|
13547
|
+
case 15:
|
|
13548
|
+
debug.log('delete ' + keyAclDoc.value + ' ' + _context.t0.response.status); // should test 404 and 2xx
|
|
13549
|
+
case 16:
|
|
13550
|
+
case "end":
|
|
13551
|
+
return _context.stop();
|
|
13552
|
+
}
|
|
13553
|
+
}, _callee, null, [[6, 11]]);
|
|
13554
|
+
}));
|
|
13555
|
+
return _setAcl.apply(this, arguments);
|
|
13556
|
+
}
|
|
13557
|
+
var keyContainerAclBody = function keyContainerAclBody(me) {
|
|
13558
|
+
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");
|
|
13559
|
+
return aclBody;
|
|
13560
|
+
};
|
|
13561
|
+
|
|
13562
|
+
/**
|
|
13563
|
+
* Read only ACL
|
|
13564
|
+
* @param keyDoc
|
|
13565
|
+
* @param me
|
|
13566
|
+
* @returns aclBody
|
|
13567
|
+
*/
|
|
13568
|
+
exports.keyContainerAclBody = keyContainerAclBody;
|
|
13569
|
+
var keyAclBody = function keyAclBody(keyDoc, me) {
|
|
13570
|
+
var keyAgent = 'acl:agentClass foaf:Agent'; // publicKey
|
|
13571
|
+
if (me !== null && me !== void 0 && me.length) keyAgent = "acl:agent <".concat(me, ">"); // privateKey
|
|
13572
|
+
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");
|
|
13573
|
+
return aclBody;
|
|
13574
|
+
};
|
|
13575
|
+
exports.keyAclBody = keyAclBody;
|
|
13576
|
+
//# sourceMappingURL=acl.js.map
|
|
13577
|
+
|
|
13578
|
+
/***/ }),
|
|
13579
|
+
|
|
13227
13580
|
/***/ "./lib/utils/label.js":
|
|
13228
13581
|
/*!****************************!*\
|
|
13229
13582
|
!*** ./lib/utils/label.js ***!
|
|
@@ -13352,8 +13705,8 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
13352
13705
|
}));
|
|
13353
13706
|
exports.versionInfo = void 0;
|
|
13354
13707
|
var versionInfo = {
|
|
13355
|
-
buildTime: '2023-
|
|
13356
|
-
commit: '
|
|
13708
|
+
buildTime: '2023-05-17T23:46:33Z',
|
|
13709
|
+
commit: 'd81bb5b5f74977b1daec5280060300f874f69065',
|
|
13357
13710
|
npmInfo: {
|
|
13358
13711
|
'solid-ui': '2.4.27',
|
|
13359
13712
|
npm: '8.19.4',
|
|
@@ -62039,14 +62392,17 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
62039
62392
|
/* harmony export */ "createRemoteJWKSet": () => (/* binding */ createRemoteJWKSet)
|
|
62040
62393
|
/* harmony export */ });
|
|
62041
62394
|
/* 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");
|
|
62042
|
-
/* harmony import */ var
|
|
62043
|
-
/* harmony import */ var
|
|
62044
|
-
/* harmony import */ var _local_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./local.js */ "./node_modules/jose/dist/browser/jwks/local.js");
|
|
62045
|
-
|
|
62395
|
+
/* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
|
|
62396
|
+
/* harmony import */ var _local_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./local.js */ "./node_modules/jose/dist/browser/jwks/local.js");
|
|
62046
62397
|
|
|
62047
62398
|
|
|
62048
62399
|
|
|
62049
|
-
|
|
62400
|
+
function isCloudflareWorkers() {
|
|
62401
|
+
return (typeof WebSocketPair !== 'undefined' ||
|
|
62402
|
+
(typeof navigator !== 'undefined' && navigator.userAgent === 'Cloudflare-Workers') ||
|
|
62403
|
+
(typeof EdgeRuntime !== 'undefined' && EdgeRuntime === 'vercel'));
|
|
62404
|
+
}
|
|
62405
|
+
class RemoteJWKSet extends _local_js__WEBPACK_IMPORTED_MODULE_2__.LocalJWKSet {
|
|
62050
62406
|
constructor(url, options) {
|
|
62051
62407
|
super({ keys: [] });
|
|
62052
62408
|
this._jwks = undefined;
|
|
@@ -62079,7 +62435,7 @@ class RemoteJWKSet extends _local_js__WEBPACK_IMPORTED_MODULE_3__.LocalJWKSet {
|
|
|
62079
62435
|
return await super.getKey(protectedHeader, token);
|
|
62080
62436
|
}
|
|
62081
62437
|
catch (err) {
|
|
62082
|
-
if (err instanceof
|
|
62438
|
+
if (err instanceof _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JWKSNoMatchingKey) {
|
|
62083
62439
|
if (this.coolingDown() === false) {
|
|
62084
62440
|
await this.reload();
|
|
62085
62441
|
return super.getKey(protectedHeader, token);
|
|
@@ -62089,13 +62445,13 @@ class RemoteJWKSet extends _local_js__WEBPACK_IMPORTED_MODULE_3__.LocalJWKSet {
|
|
|
62089
62445
|
}
|
|
62090
62446
|
}
|
|
62091
62447
|
async reload() {
|
|
62092
|
-
if (this._pendingFetch &&
|
|
62448
|
+
if (this._pendingFetch && isCloudflareWorkers()) {
|
|
62093
62449
|
this._pendingFetch = undefined;
|
|
62094
62450
|
}
|
|
62095
62451
|
this._pendingFetch || (this._pendingFetch = (0,_runtime_fetch_jwks_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this._url, this._timeoutDuration, this._options)
|
|
62096
62452
|
.then((json) => {
|
|
62097
|
-
if (!(0,
|
|
62098
|
-
throw new
|
|
62453
|
+
if (!(0,_local_js__WEBPACK_IMPORTED_MODULE_2__.isJWKSLike)(json)) {
|
|
62454
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JWKSInvalid('JSON Web Key Set malformed');
|
|
62099
62455
|
}
|
|
62100
62456
|
this._jwks = { keys: json.keys };
|
|
62101
62457
|
this._jwksTimestamp = Date.now();
|
|
@@ -63283,8 +63639,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
63283
63639
|
/* harmony export */ "checkEncCryptoKey": () => (/* binding */ checkEncCryptoKey),
|
|
63284
63640
|
/* harmony export */ "checkSigCryptoKey": () => (/* binding */ checkSigCryptoKey)
|
|
63285
63641
|
/* harmony export */ });
|
|
63286
|
-
/* harmony import */ var _runtime_env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../runtime/env.js */ "./node_modules/jose/dist/browser/runtime/env.js");
|
|
63287
|
-
|
|
63288
63642
|
function unusable(name, prop = 'algorithm.name') {
|
|
63289
63643
|
return new TypeError(`CryptoKey does not support this operation, its ${prop} must be ${name}`);
|
|
63290
63644
|
}
|
|
@@ -63359,11 +63713,6 @@ function checkSigCryptoKey(key, alg, ...usages) {
|
|
|
63359
63713
|
}
|
|
63360
63714
|
case 'EdDSA': {
|
|
63361
63715
|
if (key.algorithm.name !== 'Ed25519' && key.algorithm.name !== 'Ed448') {
|
|
63362
|
-
if ((0,_runtime_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
|
|
63363
|
-
if (isAlgorithm(key.algorithm, 'NODE-ED25519'))
|
|
63364
|
-
break;
|
|
63365
|
-
throw unusable('Ed25519, Ed448, or NODE-ED25519');
|
|
63366
|
-
}
|
|
63367
63716
|
throw unusable('Ed25519 or Ed448');
|
|
63368
63717
|
}
|
|
63369
63718
|
break;
|
|
@@ -64194,14 +64543,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
64194
64543
|
/* harmony export */ "toPKCS8": () => (/* binding */ toPKCS8),
|
|
64195
64544
|
/* harmony export */ "toSPKI": () => (/* binding */ toSPKI)
|
|
64196
64545
|
/* harmony export */ });
|
|
64197
|
-
/* harmony import */ var
|
|
64198
|
-
/* harmony import */ var
|
|
64199
|
-
/* harmony import */ var
|
|
64200
|
-
/* harmony import */ var
|
|
64201
|
-
/* harmony import */ var
|
|
64202
|
-
/* harmony import */ var
|
|
64203
|
-
/* 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");
|
|
64204
|
-
|
|
64546
|
+
/* harmony import */ var _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./webcrypto.js */ "./node_modules/jose/dist/browser/runtime/webcrypto.js");
|
|
64547
|
+
/* 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");
|
|
64548
|
+
/* harmony import */ var _base64url_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base64url.js */ "./node_modules/jose/dist/browser/runtime/base64url.js");
|
|
64549
|
+
/* 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");
|
|
64550
|
+
/* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
|
|
64551
|
+
/* 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");
|
|
64205
64552
|
|
|
64206
64553
|
|
|
64207
64554
|
|
|
@@ -64209,8 +64556,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
64209
64556
|
|
|
64210
64557
|
|
|
64211
64558
|
const genericExport = async (keyType, keyFormat, key) => {
|
|
64212
|
-
if (!(0,
|
|
64213
|
-
throw new TypeError((0,
|
|
64559
|
+
if (!(0,_webcrypto_js__WEBPACK_IMPORTED_MODULE_0__.isCryptoKey)(key)) {
|
|
64560
|
+
throw new TypeError((0,_lib_invalid_key_input_js__WEBPACK_IMPORTED_MODULE_1__["default"])(key, ..._is_key_like_js__WEBPACK_IMPORTED_MODULE_5__.types));
|
|
64214
64561
|
}
|
|
64215
64562
|
if (!key.extractable) {
|
|
64216
64563
|
throw new TypeError('CryptoKey is not extractable');
|
|
@@ -64218,7 +64565,7 @@ const genericExport = async (keyType, keyFormat, key) => {
|
|
|
64218
64565
|
if (key.type !== keyType) {
|
|
64219
64566
|
throw new TypeError(`key is not a ${keyType} key`);
|
|
64220
64567
|
}
|
|
64221
|
-
return (0,
|
|
64568
|
+
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`);
|
|
64222
64569
|
};
|
|
64223
64570
|
const toSPKI = (key) => {
|
|
64224
64571
|
return genericExport('public', 'spki', key);
|
|
@@ -64256,11 +64603,11 @@ const getNamedCurve = (keyData) => {
|
|
|
64256
64603
|
case findOid(keyData, [0x2b, 0x65, 0x71]):
|
|
64257
64604
|
return 'Ed448';
|
|
64258
64605
|
default:
|
|
64259
|
-
throw new
|
|
64606
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_4__.JOSENotSupported('Invalid or unsupported EC Key Curve or OKP Key Sub Type');
|
|
64260
64607
|
}
|
|
64261
64608
|
};
|
|
64262
64609
|
const genericImport = async (replace, keyFormat, pem, alg, options) => {
|
|
64263
|
-
var _a
|
|
64610
|
+
var _a;
|
|
64264
64611
|
let algorithm;
|
|
64265
64612
|
let keyUsages;
|
|
64266
64613
|
const keyData = new Uint8Array(atob(pem.replace(replace, ''))
|
|
@@ -64316,20 +64663,9 @@ const genericImport = async (replace, keyFormat, pem, alg, options) => {
|
|
|
64316
64663
|
keyUsages = isPublic ? ['verify'] : ['sign'];
|
|
64317
64664
|
break;
|
|
64318
64665
|
default:
|
|
64319
|
-
throw new
|
|
64320
|
-
}
|
|
64321
|
-
try {
|
|
64322
|
-
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);
|
|
64323
|
-
}
|
|
64324
|
-
catch (err) {
|
|
64325
|
-
if (algorithm.name === 'Ed25519' &&
|
|
64326
|
-
(err === null || err === void 0 ? void 0 : err.name) === 'NotSupportedError' &&
|
|
64327
|
-
(0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
|
|
64328
|
-
algorithm = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
|
|
64329
|
-
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);
|
|
64330
|
-
}
|
|
64331
|
-
throw err;
|
|
64666
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_4__.JOSENotSupported('Invalid or unsupported "alg" (Algorithm) value');
|
|
64332
64667
|
}
|
|
64668
|
+
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);
|
|
64333
64669
|
};
|
|
64334
64670
|
const fromPKCS8 = (pem, alg, options) => {
|
|
64335
64671
|
return genericImport(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g, 'pkcs8', pem, alg, options);
|
|
@@ -64398,12 +64734,12 @@ function parseElement(bytes) {
|
|
|
64398
64734
|
}
|
|
64399
64735
|
function spkiFromX509(buf) {
|
|
64400
64736
|
const tbsCertificate = getElement(getElement(parseElement(buf).contents)[0].contents);
|
|
64401
|
-
return (0,
|
|
64737
|
+
return (0,_base64url_js__WEBPACK_IMPORTED_MODULE_2__.encodeBase64)(tbsCertificate[tbsCertificate[0].raw[0] === 0xa0 ? 6 : 5].raw);
|
|
64402
64738
|
}
|
|
64403
64739
|
function getSPKI(x509) {
|
|
64404
64740
|
const pem = x509.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g, '');
|
|
64405
|
-
const raw = (0,
|
|
64406
|
-
return (0,
|
|
64741
|
+
const raw = (0,_base64url_js__WEBPACK_IMPORTED_MODULE_2__.decodeBase64)(pem);
|
|
64742
|
+
return (0,_lib_format_pem_js__WEBPACK_IMPORTED_MODULE_3__["default"])(spkiFromX509(raw), 'PUBLIC KEY');
|
|
64407
64743
|
}
|
|
64408
64744
|
const fromX509 = (pem, alg, options) => {
|
|
64409
64745
|
let spki;
|
|
@@ -64831,26 +65167,6 @@ const encrypt = async (enc, plaintext, cek, iv, aad) => {
|
|
|
64831
65167
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (encrypt);
|
|
64832
65168
|
|
|
64833
65169
|
|
|
64834
|
-
/***/ }),
|
|
64835
|
-
|
|
64836
|
-
/***/ "./node_modules/jose/dist/browser/runtime/env.js":
|
|
64837
|
-
/*!*******************************************************!*\
|
|
64838
|
-
!*** ./node_modules/jose/dist/browser/runtime/env.js ***!
|
|
64839
|
-
\*******************************************************/
|
|
64840
|
-
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
64841
|
-
|
|
64842
|
-
"use strict";
|
|
64843
|
-
__webpack_require__.r(__webpack_exports__);
|
|
64844
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
64845
|
-
/* harmony export */ "isCloudflareWorkers": () => (/* binding */ isCloudflareWorkers)
|
|
64846
|
-
/* harmony export */ });
|
|
64847
|
-
function isCloudflareWorkers() {
|
|
64848
|
-
return (typeof WebSocketPair !== 'undefined' ||
|
|
64849
|
-
(typeof navigator !== 'undefined' && navigator.userAgent === 'Cloudflare-Workers') ||
|
|
64850
|
-
(typeof EdgeRuntime !== 'undefined' && EdgeRuntime === 'vercel'));
|
|
64851
|
-
}
|
|
64852
|
-
|
|
64853
|
-
|
|
64854
65170
|
/***/ }),
|
|
64855
65171
|
|
|
64856
65172
|
/***/ "./node_modules/jose/dist/browser/runtime/fetch_jwks.js":
|
|
@@ -64915,11 +65231,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
64915
65231
|
/* harmony export */ "generateKeyPair": () => (/* binding */ generateKeyPair),
|
|
64916
65232
|
/* harmony export */ "generateSecret": () => (/* binding */ generateSecret)
|
|
64917
65233
|
/* harmony export */ });
|
|
64918
|
-
/* harmony import */ var
|
|
64919
|
-
/* harmony import */ var
|
|
64920
|
-
/* harmony import */ var
|
|
64921
|
-
/* harmony import */ var _random_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./random.js */ "./node_modules/jose/dist/browser/runtime/random.js");
|
|
64922
|
-
|
|
65234
|
+
/* harmony import */ var _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./webcrypto.js */ "./node_modules/jose/dist/browser/runtime/webcrypto.js");
|
|
65235
|
+
/* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
|
|
65236
|
+
/* harmony import */ var _random_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./random.js */ "./node_modules/jose/dist/browser/runtime/random.js");
|
|
64923
65237
|
|
|
64924
65238
|
|
|
64925
65239
|
|
|
@@ -64940,7 +65254,7 @@ async function generateSecret(alg, options) {
|
|
|
64940
65254
|
case 'A192CBC-HS384':
|
|
64941
65255
|
case 'A256CBC-HS512':
|
|
64942
65256
|
length = parseInt(alg.slice(-3), 10);
|
|
64943
|
-
return (0,
|
|
65257
|
+
return (0,_random_js__WEBPACK_IMPORTED_MODULE_2__["default"])(new Uint8Array(length >> 3));
|
|
64944
65258
|
case 'A128KW':
|
|
64945
65259
|
case 'A192KW':
|
|
64946
65260
|
case 'A256KW':
|
|
@@ -64959,20 +65273,20 @@ async function generateSecret(alg, options) {
|
|
|
64959
65273
|
keyUsages = ['encrypt', 'decrypt'];
|
|
64960
65274
|
break;
|
|
64961
65275
|
default:
|
|
64962
|
-
throw new
|
|
65276
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
|
|
64963
65277
|
}
|
|
64964
|
-
return
|
|
65278
|
+
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);
|
|
64965
65279
|
}
|
|
64966
65280
|
function getModulusLengthOption(options) {
|
|
64967
65281
|
var _a;
|
|
64968
65282
|
const modulusLength = (_a = options === null || options === void 0 ? void 0 : options.modulusLength) !== null && _a !== void 0 ? _a : 2048;
|
|
64969
65283
|
if (typeof modulusLength !== 'number' || modulusLength < 2048) {
|
|
64970
|
-
throw new
|
|
65284
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used');
|
|
64971
65285
|
}
|
|
64972
65286
|
return modulusLength;
|
|
64973
65287
|
}
|
|
64974
65288
|
async function generateKeyPair(alg, options) {
|
|
64975
|
-
var _a, _b, _c
|
|
65289
|
+
var _a, _b, _c;
|
|
64976
65290
|
let algorithm;
|
|
64977
65291
|
let keyUsages;
|
|
64978
65292
|
switch (alg) {
|
|
@@ -65031,7 +65345,7 @@ async function generateKeyPair(alg, options) {
|
|
|
65031
65345
|
algorithm = { name: crv };
|
|
65032
65346
|
break;
|
|
65033
65347
|
default:
|
|
65034
|
-
throw new
|
|
65348
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported crv option provided');
|
|
65035
65349
|
}
|
|
65036
65350
|
break;
|
|
65037
65351
|
case 'ECDH-ES':
|
|
@@ -65052,25 +65366,14 @@ async function generateKeyPair(alg, options) {
|
|
|
65052
65366
|
algorithm = { name: crv };
|
|
65053
65367
|
break;
|
|
65054
65368
|
default:
|
|
65055
|
-
throw new
|
|
65369
|
+
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');
|
|
65056
65370
|
}
|
|
65057
65371
|
break;
|
|
65058
65372
|
}
|
|
65059
65373
|
default:
|
|
65060
|
-
throw new
|
|
65061
|
-
}
|
|
65062
|
-
try {
|
|
65063
|
-
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));
|
|
65064
|
-
}
|
|
65065
|
-
catch (err) {
|
|
65066
|
-
if (algorithm.name === 'Ed25519' &&
|
|
65067
|
-
(err === null || err === void 0 ? void 0 : err.name) === 'NotSupportedError' &&
|
|
65068
|
-
(0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
|
|
65069
|
-
algorithm = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
|
|
65070
|
-
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));
|
|
65071
|
-
}
|
|
65072
|
-
throw err;
|
|
65374
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
|
|
65073
65375
|
}
|
|
65376
|
+
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));
|
|
65074
65377
|
}
|
|
65075
65378
|
|
|
65076
65379
|
|
|
@@ -65145,11 +65448,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
65145
65448
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
65146
65449
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
65147
65450
|
/* harmony export */ });
|
|
65148
|
-
/* harmony import */ var
|
|
65149
|
-
/* harmony import */ var
|
|
65150
|
-
/* harmony import */ var
|
|
65151
|
-
/* harmony import */ var _base64url_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./base64url.js */ "./node_modules/jose/dist/browser/runtime/base64url.js");
|
|
65152
|
-
|
|
65451
|
+
/* harmony import */ var _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./webcrypto.js */ "./node_modules/jose/dist/browser/runtime/webcrypto.js");
|
|
65452
|
+
/* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
|
|
65453
|
+
/* harmony import */ var _base64url_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base64url.js */ "./node_modules/jose/dist/browser/runtime/base64url.js");
|
|
65153
65454
|
|
|
65154
65455
|
|
|
65155
65456
|
|
|
@@ -65168,7 +65469,7 @@ function subtleMapping(jwk) {
|
|
|
65168
65469
|
case 'A128CBC-HS256':
|
|
65169
65470
|
case 'A192CBC-HS384':
|
|
65170
65471
|
case 'A256CBC-HS512':
|
|
65171
|
-
throw new
|
|
65472
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported(`${jwk.alg} keys cannot be imported as CryptoKey instances`);
|
|
65172
65473
|
case 'A128GCM':
|
|
65173
65474
|
case 'A192GCM':
|
|
65174
65475
|
case 'A256GCM':
|
|
@@ -65191,7 +65492,7 @@ function subtleMapping(jwk) {
|
|
|
65191
65492
|
keyUsages = ['deriveBits'];
|
|
65192
65493
|
break;
|
|
65193
65494
|
default:
|
|
65194
|
-
throw new
|
|
65495
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
|
|
65195
65496
|
}
|
|
65196
65497
|
break;
|
|
65197
65498
|
}
|
|
@@ -65220,7 +65521,7 @@ function subtleMapping(jwk) {
|
|
|
65220
65521
|
keyUsages = jwk.d ? ['decrypt', 'unwrapKey'] : ['encrypt', 'wrapKey'];
|
|
65221
65522
|
break;
|
|
65222
65523
|
default:
|
|
65223
|
-
throw new
|
|
65524
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
|
|
65224
65525
|
}
|
|
65225
65526
|
break;
|
|
65226
65527
|
}
|
|
@@ -65246,7 +65547,7 @@ function subtleMapping(jwk) {
|
|
|
65246
65547
|
keyUsages = jwk.d ? ['deriveBits'] : [];
|
|
65247
65548
|
break;
|
|
65248
65549
|
default:
|
|
65249
|
-
throw new
|
|
65550
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
|
|
65250
65551
|
}
|
|
65251
65552
|
break;
|
|
65252
65553
|
}
|
|
@@ -65264,12 +65565,12 @@ function subtleMapping(jwk) {
|
|
|
65264
65565
|
keyUsages = jwk.d ? ['deriveBits'] : [];
|
|
65265
65566
|
break;
|
|
65266
65567
|
default:
|
|
65267
|
-
throw new
|
|
65568
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
|
|
65268
65569
|
}
|
|
65269
65570
|
break;
|
|
65270
65571
|
}
|
|
65271
65572
|
default:
|
|
65272
|
-
throw new
|
|
65573
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "kty" (Key Type) Parameter value');
|
|
65273
65574
|
}
|
|
65274
65575
|
return { algorithm, keyUsages };
|
|
65275
65576
|
}
|
|
@@ -65285,23 +65586,12 @@ const parse = async (jwk) => {
|
|
|
65285
65586
|
(_b = jwk.key_ops) !== null && _b !== void 0 ? _b : keyUsages,
|
|
65286
65587
|
];
|
|
65287
65588
|
if (algorithm.name === 'PBKDF2') {
|
|
65288
|
-
return
|
|
65589
|
+
return _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__["default"].subtle.importKey('raw', (0,_base64url_js__WEBPACK_IMPORTED_MODULE_2__.decode)(jwk.k), ...rest);
|
|
65289
65590
|
}
|
|
65290
65591
|
const keyData = { ...jwk };
|
|
65291
65592
|
delete keyData.alg;
|
|
65292
65593
|
delete keyData.use;
|
|
65293
|
-
|
|
65294
|
-
return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey('jwk', keyData, ...rest);
|
|
65295
|
-
}
|
|
65296
|
-
catch (err) {
|
|
65297
|
-
if (algorithm.name === 'Ed25519' &&
|
|
65298
|
-
(err === null || err === void 0 ? void 0 : err.name) === 'NotSupportedError' &&
|
|
65299
|
-
(0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
|
|
65300
|
-
rest[0] = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
|
|
65301
|
-
return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey('jwk', keyData, ...rest);
|
|
65302
|
-
}
|
|
65303
|
-
throw err;
|
|
65304
|
-
}
|
|
65594
|
+
return _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__["default"].subtle.importKey('jwk', keyData, ...rest);
|
|
65305
65595
|
};
|
|
65306
65596
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (parse);
|
|
65307
65597
|
|
|
@@ -65543,9 +65833,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
65543
65833
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
65544
65834
|
/* harmony export */ "default": () => (/* binding */ subtleDsa)
|
|
65545
65835
|
/* harmony export */ });
|
|
65546
|
-
/* harmony import */ var
|
|
65547
|
-
/* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
|
|
65548
|
-
|
|
65836
|
+
/* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
|
|
65549
65837
|
|
|
65550
65838
|
function subtleDsa(alg, algorithm) {
|
|
65551
65839
|
const hash = `SHA-${alg.slice(-3)}`;
|
|
@@ -65567,12 +65855,9 @@ function subtleDsa(alg, algorithm) {
|
|
|
65567
65855
|
case 'ES512':
|
|
65568
65856
|
return { hash, name: 'ECDSA', namedCurve: algorithm.namedCurve };
|
|
65569
65857
|
case 'EdDSA':
|
|
65570
|
-
if ((0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)() && algorithm.name === 'NODE-ED25519') {
|
|
65571
|
-
return { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
|
|
65572
|
-
}
|
|
65573
65858
|
return { name: algorithm.name };
|
|
65574
65859
|
default:
|
|
65575
|
-
throw new
|
|
65860
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_0__.JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`);
|
|
65576
65861
|
}
|
|
65577
65862
|
}
|
|
65578
65863
|
|
|
@@ -66237,22 +66522,7 @@ module.exports = JSON.parse('{"application/1d-interleaved-parityfec":{"source":"
|
|
|
66237
66522
|
/******/
|
|
66238
66523
|
/******/ /* webpack/runtime/publicPath */
|
|
66239
66524
|
/******/ (() => {
|
|
66240
|
-
/******/
|
|
66241
|
-
/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + "";
|
|
66242
|
-
/******/ var document = __webpack_require__.g.document;
|
|
66243
|
-
/******/ if (!scriptUrl && document) {
|
|
66244
|
-
/******/ if (document.currentScript)
|
|
66245
|
-
/******/ scriptUrl = document.currentScript.src;
|
|
66246
|
-
/******/ if (!scriptUrl) {
|
|
66247
|
-
/******/ var scripts = document.getElementsByTagName("script");
|
|
66248
|
-
/******/ if(scripts.length) scriptUrl = scripts[scripts.length - 1].src
|
|
66249
|
-
/******/ }
|
|
66250
|
-
/******/ }
|
|
66251
|
-
/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration
|
|
66252
|
-
/******/ // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.
|
|
66253
|
-
/******/ if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");
|
|
66254
|
-
/******/ scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
|
|
66255
|
-
/******/ __webpack_require__.p = scriptUrl;
|
|
66525
|
+
/******/ __webpack_require__.p = "";
|
|
66256
66526
|
/******/ })();
|
|
66257
66527
|
/******/
|
|
66258
66528
|
/******/ /* webpack/runtime/jsonp chunk loading */
|