solid-ui 2.4.27-2766a189 → 2.4.27-289d7678
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 +620 -388
- 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 +170 -62
- package/lib/chat/keys.js.map +1 -1
- package/lib/chat/message.js +14 -7
- 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 -132
- 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) {
|
|
@@ -4037,12 +4037,14 @@ exports.getPrivateKey = getPrivateKey;
|
|
|
4037
4037
|
exports.getPublicKey = getPublicKey;
|
|
4038
4038
|
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"));
|
|
4039
4039
|
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
|
|
4040
|
+
var debug = _interopRequireWildcard(__webpack_require__(/*! ../debug */ "./lib/debug.js"));
|
|
4040
4041
|
var _secp256k = __webpack_require__(/*! @noble/curves/secp256k1 */ "./node_modules/@noble/curves/secp256k1.js");
|
|
4041
4042
|
var _utils = __webpack_require__(/*! @noble/hashes/utils */ "./node_modules/@noble/hashes/utils.js");
|
|
4042
4043
|
var _signature = __webpack_require__(/*! ./signature */ "./lib/chat/signature.js");
|
|
4043
4044
|
var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
|
|
4044
4045
|
var $rdf = _interopRequireWildcard(__webpack_require__(/*! rdflib */ "./node_modules/rdflib/esm/index.js"));
|
|
4045
|
-
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");
|
|
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,32 +4053,46 @@ function generatePrivateKey() {
|
|
|
4051
4053
|
function generatePublicKey(privateKey) {
|
|
4052
4054
|
return (0, _utils.bytesToHex)(_secp256k.schnorr.getPublicKey(privateKey));
|
|
4053
4055
|
}
|
|
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
|
+
*/
|
|
4054
4064
|
function getPublicKey(_x) {
|
|
4055
4065
|
return _getPublicKey.apply(this, arguments);
|
|
4056
4066
|
}
|
|
4057
4067
|
function _getPublicKey() {
|
|
4058
|
-
_getPublicKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
4059
|
-
var
|
|
4060
|
-
return _regenerator["default"].wrap(function
|
|
4061
|
-
while (1) switch (
|
|
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) {
|
|
4062
4072
|
case 0:
|
|
4063
|
-
|
|
4064
|
-
|
|
4065
|
-
|
|
4066
|
-
|
|
4073
|
+
_context2.next = 2;
|
|
4074
|
+
return _solidLogic.store.fetcher.load(webId);
|
|
4075
|
+
case 2:
|
|
4076
|
+
_context2.next = 4;
|
|
4077
|
+
return (0, _accessData.pubKeyUrl)(webId);
|
|
4067
4078
|
case 4:
|
|
4068
|
-
|
|
4069
|
-
|
|
4070
|
-
|
|
4079
|
+
publicKeyDoc = _context2.sent;
|
|
4080
|
+
_context2.prev = 5;
|
|
4081
|
+
_context2.next = 8;
|
|
4082
|
+
return _solidLogic.store.fetcher.load(publicKeyDoc);
|
|
4071
4083
|
case 8:
|
|
4072
|
-
|
|
4073
|
-
|
|
4074
|
-
return
|
|
4075
|
-
case
|
|
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:
|
|
4076
4092
|
case "end":
|
|
4077
|
-
return
|
|
4093
|
+
return _context2.stop();
|
|
4078
4094
|
}
|
|
4079
|
-
},
|
|
4095
|
+
}, _callee2, null, [[5, 12]]);
|
|
4080
4096
|
}));
|
|
4081
4097
|
return _getPublicKey.apply(this, arguments);
|
|
4082
4098
|
}
|
|
@@ -4084,70 +4100,162 @@ function getPrivateKey(_x2) {
|
|
|
4084
4100
|
return _getPrivateKey.apply(this, arguments);
|
|
4085
4101
|
}
|
|
4086
4102
|
function _getPrivateKey() {
|
|
4087
|
-
_getPrivateKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
4088
|
-
var
|
|
4089
|
-
return _regenerator["default"].wrap(function
|
|
4090
|
-
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) {
|
|
4091
4107
|
case 0:
|
|
4092
|
-
|
|
4093
|
-
|
|
4094
|
-
|
|
4095
|
-
|
|
4096
|
-
return (0,
|
|
4108
|
+
_context3.next = 2;
|
|
4109
|
+
return _solidLogic.store.fetcher.load(webId);
|
|
4110
|
+
case 2:
|
|
4111
|
+
_context3.next = 4;
|
|
4112
|
+
return (0, _accessData.pubKeyUrl)(webId);
|
|
4097
4113
|
case 4:
|
|
4098
|
-
|
|
4099
|
-
|
|
4100
|
-
return (0,
|
|
4114
|
+
publicKeyDoc = _context3.sent;
|
|
4115
|
+
_context3.next = 7;
|
|
4116
|
+
return (0, _accessData.privKeyUrl)(webId);
|
|
4101
4117
|
case 7:
|
|
4102
|
-
|
|
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;
|
|
4103
4127
|
// is publicKey valid ?
|
|
4104
4128
|
validPublicKey = true;
|
|
4105
4129
|
if (privateKey && publicKey !== generatePublicKey(privateKey)) {
|
|
4106
|
-
if (confirm('This is strange the publicKey is not valid for\n' + webId + '\'shall we repair keeping the private key ?')) validPublicKey = false;
|
|
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;
|
|
4107
4131
|
}
|
|
4108
4132
|
|
|
4109
4133
|
// create key pair or repair publicKey
|
|
4110
4134
|
if (!(!privateKey || !publicKey || !validPublicKey)) {
|
|
4111
|
-
|
|
4135
|
+
_context3.next = 34;
|
|
4112
4136
|
break;
|
|
4113
4137
|
}
|
|
4114
4138
|
del = [];
|
|
4115
|
-
add = []; // if (privateKey) del.push($rdf.st(
|
|
4116
|
-
if (
|
|
4117
|
-
|
|
4118
|
-
|
|
4119
|
-
// TODO delete privateKeyUrl.acl, it may exist !!!
|
|
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;
|
|
4120
4143
|
}
|
|
4121
|
-
|
|
4122
|
-
|
|
4123
|
-
|
|
4124
|
-
|
|
4125
|
-
|
|
4126
|
-
|
|
4127
|
-
|
|
4128
|
-
|
|
4129
|
-
|
|
4130
|
-
// TODO delete privateKeyUrl.acl, it may exist !!!
|
|
4144
|
+
// add = []
|
|
4145
|
+
privateKey = generatePrivateKey();
|
|
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;
|
|
4131
4153
|
}
|
|
4132
|
-
|
|
4133
|
-
|
|
4134
|
-
|
|
4135
|
-
|
|
4136
|
-
|
|
4137
|
-
|
|
4138
|
-
|
|
4139
|
-
|
|
4140
|
-
|
|
4141
|
-
|
|
4142
|
-
return
|
|
4143
|
-
case
|
|
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:
|
|
4144
4172
|
case "end":
|
|
4145
|
-
return
|
|
4173
|
+
return _context3.stop();
|
|
4146
4174
|
}
|
|
4147
|
-
},
|
|
4175
|
+
}, _callee3);
|
|
4148
4176
|
}));
|
|
4149
4177
|
return _getPrivateKey.apply(this, arguments);
|
|
4150
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
|
+
}
|
|
4151
4259
|
//# sourceMappingURL=keys.js.map
|
|
4152
4260
|
|
|
4153
4261
|
/***/ }),
|
|
@@ -4277,12 +4385,13 @@ function renderMessageRow(channelObject, message, fresh, options, userContext) {
|
|
|
4277
4385
|
var date = _solidLogic.store.any(message, ns.dct('created'));
|
|
4278
4386
|
var latestVersion = (0, _chatLogic.mostRecentVersion)(message);
|
|
4279
4387
|
var latestVersionCreator = _solidLogic.store.any(latestVersion, ns.foaf('maker'));
|
|
4388
|
+
|
|
4280
4389
|
// use latest content if same owner, else use original
|
|
4281
4390
|
var msgId = creator.uri === latestVersionCreator.uri ? latestVersion : message;
|
|
4282
4391
|
var content = _solidLogic.store.any(msgId, ns.sioc('content'));
|
|
4283
4392
|
var signature = _solidLogic.store.any(msgId, $rdf.sym("".concat(_signature.SEC, "Proof")));
|
|
4284
4393
|
|
|
4285
|
-
//
|
|
4394
|
+
// set message object
|
|
4286
4395
|
var msg = (0, _signature.getBlankMsg)();
|
|
4287
4396
|
msg.id = msgId.uri;
|
|
4288
4397
|
msg.created = _solidLogic.store.any(msgId, ns.dct('created')).value;
|
|
@@ -4290,16 +4399,22 @@ function renderMessageRow(channelObject, message, fresh, options, userContext) {
|
|
|
4290
4399
|
msg.maker = creator.uri;
|
|
4291
4400
|
|
|
4292
4401
|
// unsigned message
|
|
4293
|
-
if (signature !== null && signature !== void 0 && signature.value) debug.warn(msgId.uri + ' is unsigned'); // TODO replace with UI (colored message ?)
|
|
4294
|
-
|
|
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
|
|
4295
4405
|
else {
|
|
4296
|
-
(0, _keys.getPublicKey)(creator
|
|
4297
|
-
|
|
4298
|
-
|
|
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
|
|
4299
4414
|
var regex = /[0-9A-Fa-f]{6}/g;
|
|
4300
4415
|
if (!(publicKey !== null && publicKey !== void 0 && publicKey.match(regex))) debug.warn('invalid publicKey hex string\n' + creator.uri + '\n' + publicKey);
|
|
4301
4416
|
// verify signature
|
|
4302
|
-
else if (signature !== null && signature !== void 0 && signature.value && !(0, _signature.verifySignature)(signature.value, msg, publicKey)) debug.warn('invalid signature\n' + msg.id);
|
|
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);
|
|
4303
4418
|
});
|
|
4304
4419
|
}
|
|
4305
4420
|
var originalMessage = (0, _chatLogic.originalVersion)(message);
|
|
@@ -5095,13 +5210,11 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
5095
5210
|
value: true
|
|
5096
5211
|
}));
|
|
5097
5212
|
exports.SEC = exports.CERT = void 0;
|
|
5098
|
-
exports.finishMsg = finishMsg;
|
|
5099
5213
|
exports.getBlankMsg = getBlankMsg;
|
|
5100
5214
|
exports.getMsgHash = getMsgHash;
|
|
5101
5215
|
exports.serializeMsg = serializeMsg;
|
|
5102
5216
|
exports.signMsg = signMsg;
|
|
5103
5217
|
exports.utf8Encoder = exports.utf8Decoder = void 0;
|
|
5104
|
-
exports.validateMsg = validateMsg;
|
|
5105
5218
|
exports.verifySignature = verifySignature;
|
|
5106
5219
|
var _secp256k = __webpack_require__(/*! @noble/curves/secp256k1 */ "./node_modules/@noble/curves/secp256k1.js");
|
|
5107
5220
|
var _utils = __webpack_require__(/*! @noble/hashes/utils */ "./node_modules/@noble/hashes/utils.js");
|
|
@@ -5147,19 +5260,22 @@ function getBlankMsg() {
|
|
|
5147
5260
|
id: '',
|
|
5148
5261
|
created: '',
|
|
5149
5262
|
dateDeleted: '',
|
|
5263
|
+
// TODO to remove if not used
|
|
5150
5264
|
content: '',
|
|
5151
5265
|
maker: '',
|
|
5152
|
-
sig: ''
|
|
5266
|
+
sig: '' // TODO to remove if not used
|
|
5153
5267
|
};
|
|
5154
5268
|
}
|
|
5155
|
-
|
|
5156
|
-
|
|
5157
|
-
|
|
5158
|
-
|
|
5159
|
-
message.
|
|
5160
|
-
message.
|
|
5161
|
-
|
|
5162
|
-
|
|
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
|
+
|
|
5163
5279
|
function serializeMsg(msg) {
|
|
5164
5280
|
// to update to chat messages triples
|
|
5165
5281
|
/* if (!validateMsg(msg))
|
|
@@ -5171,27 +5287,29 @@ function getMsgHash(message) {
|
|
|
5171
5287
|
var msgHash = (0, _sha.sha256)(utf8Encoder.encode(serializeMsg(message)));
|
|
5172
5288
|
return (0, _utils.bytesToHex)(msgHash);
|
|
5173
5289
|
}
|
|
5174
|
-
|
|
5175
|
-
|
|
5176
|
-
|
|
5177
|
-
function validateMsg(message) {
|
|
5178
|
-
|
|
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
|
|
5179
5295
|
if (typeof message.kind !== 'number') return false
|
|
5180
5296
|
if (typeof message.content !== 'string') return false
|
|
5181
5297
|
if (typeof message.created_at !== 'number') return false
|
|
5182
5298
|
if (typeof message.pubkey !== 'string') return false
|
|
5183
5299
|
if (!message.pubkey.match(/^[a-f0-9]{64}$/)) return false
|
|
5184
|
-
|
|
5300
|
+
|
|
5301
|
+
if (!Array.isArray(message.tags)) return false
|
|
5185
5302
|
for (let i = 0; i < message.tags.length; i++) {
|
|
5186
5303
|
let tag = message.tags[i]
|
|
5187
5304
|
if (!Array.isArray(tag)) return false
|
|
5188
5305
|
for (let j = 0; j < tag.length; j++) {
|
|
5189
5306
|
if (typeof tag[j] === 'object') return false
|
|
5190
5307
|
}
|
|
5191
|
-
}
|
|
5308
|
+
}
|
|
5309
|
+
|
|
5310
|
+
return true
|
|
5311
|
+
} */
|
|
5192
5312
|
|
|
5193
|
-
return true;
|
|
5194
|
-
}
|
|
5195
5313
|
function verifySignature(sig, message, pubKey) {
|
|
5196
5314
|
return _secp256k.schnorr.verify(sig, getMsgHash(message), pubKey);
|
|
5197
5315
|
}
|
|
@@ -12402,148 +12520,6 @@ function isLight(x) {
|
|
|
12402
12520
|
|
|
12403
12521
|
/***/ }),
|
|
12404
12522
|
|
|
12405
|
-
/***/ "./lib/utils/cryptoKeyHelpers.js":
|
|
12406
|
-
/*!***************************************!*\
|
|
12407
|
-
!*** ./lib/utils/cryptoKeyHelpers.js ***!
|
|
12408
|
-
\***************************************/
|
|
12409
|
-
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
12410
|
-
|
|
12411
|
-
"use strict";
|
|
12412
|
-
|
|
12413
|
-
|
|
12414
|
-
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js");
|
|
12415
|
-
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js");
|
|
12416
|
-
Object.defineProperty(exports, "__esModule", ({
|
|
12417
|
-
value: true
|
|
12418
|
-
}));
|
|
12419
|
-
exports.privKeyUrl = void 0;
|
|
12420
|
-
exports.privateKeyExists = privateKeyExists;
|
|
12421
|
-
exports.pubKeyUrl = void 0;
|
|
12422
|
-
exports.publicKeyExists = publicKeyExists;
|
|
12423
|
-
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"));
|
|
12424
|
-
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
|
|
12425
|
-
var debug = _interopRequireWildcard(__webpack_require__(/*! ../debug */ "./lib/debug.js"));
|
|
12426
|
-
var _signature = __webpack_require__(/*! ../chat/signature */ "./lib/chat/signature.js");
|
|
12427
|
-
var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
|
|
12428
|
-
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); }
|
|
12429
|
-
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; }
|
|
12430
|
-
var pubKeyUrl = function pubKeyUrl(webId) {
|
|
12431
|
-
var url = new URL(webId);
|
|
12432
|
-
var publicKeyUrl = url.origin + '/profile/keys/publicKey.ttl';
|
|
12433
|
-
return publicKeyUrl;
|
|
12434
|
-
};
|
|
12435
|
-
exports.pubKeyUrl = pubKeyUrl;
|
|
12436
|
-
function publicKeyExists(_x) {
|
|
12437
|
-
return _publicKeyExists.apply(this, arguments);
|
|
12438
|
-
}
|
|
12439
|
-
function _publicKeyExists() {
|
|
12440
|
-
_publicKeyExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(webId) {
|
|
12441
|
-
var publicKeyUrl;
|
|
12442
|
-
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
12443
|
-
while (1) switch (_context.prev = _context.next) {
|
|
12444
|
-
case 0:
|
|
12445
|
-
// find publickey
|
|
12446
|
-
publicKeyUrl = pubKeyUrl(webId);
|
|
12447
|
-
_context.next = 3;
|
|
12448
|
-
return keyExists(webId, publicKeyUrl, 'PublicKey');
|
|
12449
|
-
case 3:
|
|
12450
|
-
return _context.abrupt("return", _context.sent);
|
|
12451
|
-
case 4:
|
|
12452
|
-
case "end":
|
|
12453
|
-
return _context.stop();
|
|
12454
|
-
}
|
|
12455
|
-
}, _callee);
|
|
12456
|
-
}));
|
|
12457
|
-
return _publicKeyExists.apply(this, arguments);
|
|
12458
|
-
}
|
|
12459
|
-
var privKeyUrl = function privKeyUrl(webId) {
|
|
12460
|
-
var url = new URL(webId);
|
|
12461
|
-
var privateKeyUrl = url.origin + '/profile/keys/privateKey.ttl';
|
|
12462
|
-
return privateKeyUrl;
|
|
12463
|
-
};
|
|
12464
|
-
exports.privKeyUrl = privKeyUrl;
|
|
12465
|
-
function privateKeyExists(_x2) {
|
|
12466
|
-
return _privateKeyExists.apply(this, arguments);
|
|
12467
|
-
}
|
|
12468
|
-
function _privateKeyExists() {
|
|
12469
|
-
_privateKeyExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
|
|
12470
|
-
var privateKeyUrl;
|
|
12471
|
-
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
12472
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
12473
|
-
case 0:
|
|
12474
|
-
// find privateKey
|
|
12475
|
-
privateKeyUrl = privKeyUrl(webId);
|
|
12476
|
-
_context2.next = 3;
|
|
12477
|
-
return keyExists(webId, privateKeyUrl, 'PrivateKey');
|
|
12478
|
-
case 3:
|
|
12479
|
-
return _context2.abrupt("return", _context2.sent);
|
|
12480
|
-
case 4:
|
|
12481
|
-
case "end":
|
|
12482
|
-
return _context2.stop();
|
|
12483
|
-
}
|
|
12484
|
-
}, _callee2);
|
|
12485
|
-
}));
|
|
12486
|
-
return _privateKeyExists.apply(this, arguments);
|
|
12487
|
-
}
|
|
12488
|
-
function keyExists(_x3, _x4, _x5) {
|
|
12489
|
-
return _keyExists.apply(this, arguments);
|
|
12490
|
-
}
|
|
12491
|
-
function _keyExists() {
|
|
12492
|
-
_keyExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(webId, keyUrl, keyType) {
|
|
12493
|
-
var key, _err$response, data, contentType, response;
|
|
12494
|
-
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
12495
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
12496
|
-
case 0:
|
|
12497
|
-
_context3.prev = 0;
|
|
12498
|
-
_context3.next = 3;
|
|
12499
|
-
return _solidLogic.store.fetcher.load(keyUrl);
|
|
12500
|
-
case 3:
|
|
12501
|
-
// url.href)
|
|
12502
|
-
key = _solidLogic.store.any(_solidLogic.store.sym(webId), _solidLogic.store.sym(_signature.CERT + keyType));
|
|
12503
|
-
return _context3.abrupt("return", key === null || key === void 0 ? void 0 : key.value);
|
|
12504
|
-
case 7:
|
|
12505
|
-
_context3.prev = 7;
|
|
12506
|
-
_context3.t0 = _context3["catch"](0);
|
|
12507
|
-
if (!((_context3.t0 === null || _context3.t0 === void 0 ? void 0 : (_err$response = _context3.t0.response) === null || _err$response === void 0 ? void 0 : _err$response.status) === 404)) {
|
|
12508
|
-
_context3.next = 24;
|
|
12509
|
-
break;
|
|
12510
|
-
}
|
|
12511
|
-
_context3.prev = 10;
|
|
12512
|
-
// create privateKey resource
|
|
12513
|
-
data = '';
|
|
12514
|
-
contentType = 'text/turtle';
|
|
12515
|
-
_context3.next = 15;
|
|
12516
|
-
return _solidLogic.store.fetcher.webOperation('PUT', keyUrl, {
|
|
12517
|
-
data: data,
|
|
12518
|
-
contentType: contentType
|
|
12519
|
-
});
|
|
12520
|
-
case 15:
|
|
12521
|
-
response = _context3.sent;
|
|
12522
|
-
_context3.next = 22;
|
|
12523
|
-
break;
|
|
12524
|
-
case 18:
|
|
12525
|
-
_context3.prev = 18;
|
|
12526
|
-
_context3.t1 = _context3["catch"](10);
|
|
12527
|
-
debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context3.t1);
|
|
12528
|
-
throw _context3.t1;
|
|
12529
|
-
case 22:
|
|
12530
|
-
delete _solidLogic.store.fetcher.requested[keyUrl]; // delete cached 404 error
|
|
12531
|
-
return _context3.abrupt("return", undefined);
|
|
12532
|
-
case 24:
|
|
12533
|
-
debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context3.t0);
|
|
12534
|
-
throw _context3.t0;
|
|
12535
|
-
case 26:
|
|
12536
|
-
case "end":
|
|
12537
|
-
return _context3.stop();
|
|
12538
|
-
}
|
|
12539
|
-
}, _callee3, null, [[0, 7], [10, 18]]);
|
|
12540
|
-
}));
|
|
12541
|
-
return _keyExists.apply(this, arguments);
|
|
12542
|
-
}
|
|
12543
|
-
//# sourceMappingURL=cryptoKeyHelpers.js.map
|
|
12544
|
-
|
|
12545
|
-
/***/ }),
|
|
12546
|
-
|
|
12547
12523
|
/***/ "./lib/utils/headerFooterHelpers.js":
|
|
12548
12524
|
/*!******************************************!*\
|
|
12549
12525
|
!*** ./lib/utils/headerFooterHelpers.js ***!
|
|
@@ -13262,6 +13238,345 @@ function predParentOf(node) {
|
|
|
13262
13238
|
|
|
13263
13239
|
/***/ }),
|
|
13264
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
|
+
|
|
13265
13580
|
/***/ "./lib/utils/label.js":
|
|
13266
13581
|
/*!****************************!*\
|
|
13267
13582
|
!*** ./lib/utils/label.js ***!
|
|
@@ -13390,8 +13705,8 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
13390
13705
|
}));
|
|
13391
13706
|
exports.versionInfo = void 0;
|
|
13392
13707
|
var versionInfo = {
|
|
13393
|
-
buildTime: '2023-
|
|
13394
|
-
commit: '
|
|
13708
|
+
buildTime: '2023-05-17T23:34:57Z',
|
|
13709
|
+
commit: '289d7678b1f269f88de591ef247c5a76d39866e5',
|
|
13395
13710
|
npmInfo: {
|
|
13396
13711
|
'solid-ui': '2.4.27',
|
|
13397
13712
|
npm: '8.19.4',
|
|
@@ -62077,14 +62392,17 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
62077
62392
|
/* harmony export */ "createRemoteJWKSet": () => (/* binding */ createRemoteJWKSet)
|
|
62078
62393
|
/* harmony export */ });
|
|
62079
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");
|
|
62080
|
-
/* harmony import */ var
|
|
62081
|
-
/* harmony import */ var
|
|
62082
|
-
/* harmony import */ var _local_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./local.js */ "./node_modules/jose/dist/browser/jwks/local.js");
|
|
62083
|
-
|
|
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");
|
|
62084
62397
|
|
|
62085
62398
|
|
|
62086
62399
|
|
|
62087
|
-
|
|
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 {
|
|
62088
62406
|
constructor(url, options) {
|
|
62089
62407
|
super({ keys: [] });
|
|
62090
62408
|
this._jwks = undefined;
|
|
@@ -62117,7 +62435,7 @@ class RemoteJWKSet extends _local_js__WEBPACK_IMPORTED_MODULE_3__.LocalJWKSet {
|
|
|
62117
62435
|
return await super.getKey(protectedHeader, token);
|
|
62118
62436
|
}
|
|
62119
62437
|
catch (err) {
|
|
62120
|
-
if (err instanceof
|
|
62438
|
+
if (err instanceof _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JWKSNoMatchingKey) {
|
|
62121
62439
|
if (this.coolingDown() === false) {
|
|
62122
62440
|
await this.reload();
|
|
62123
62441
|
return super.getKey(protectedHeader, token);
|
|
@@ -62127,13 +62445,13 @@ class RemoteJWKSet extends _local_js__WEBPACK_IMPORTED_MODULE_3__.LocalJWKSet {
|
|
|
62127
62445
|
}
|
|
62128
62446
|
}
|
|
62129
62447
|
async reload() {
|
|
62130
|
-
if (this._pendingFetch &&
|
|
62448
|
+
if (this._pendingFetch && isCloudflareWorkers()) {
|
|
62131
62449
|
this._pendingFetch = undefined;
|
|
62132
62450
|
}
|
|
62133
62451
|
this._pendingFetch || (this._pendingFetch = (0,_runtime_fetch_jwks_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this._url, this._timeoutDuration, this._options)
|
|
62134
62452
|
.then((json) => {
|
|
62135
|
-
if (!(0,
|
|
62136
|
-
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');
|
|
62137
62455
|
}
|
|
62138
62456
|
this._jwks = { keys: json.keys };
|
|
62139
62457
|
this._jwksTimestamp = Date.now();
|
|
@@ -63321,8 +63639,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
63321
63639
|
/* harmony export */ "checkEncCryptoKey": () => (/* binding */ checkEncCryptoKey),
|
|
63322
63640
|
/* harmony export */ "checkSigCryptoKey": () => (/* binding */ checkSigCryptoKey)
|
|
63323
63641
|
/* harmony export */ });
|
|
63324
|
-
/* harmony import */ var _runtime_env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../runtime/env.js */ "./node_modules/jose/dist/browser/runtime/env.js");
|
|
63325
|
-
|
|
63326
63642
|
function unusable(name, prop = 'algorithm.name') {
|
|
63327
63643
|
return new TypeError(`CryptoKey does not support this operation, its ${prop} must be ${name}`);
|
|
63328
63644
|
}
|
|
@@ -63397,11 +63713,6 @@ function checkSigCryptoKey(key, alg, ...usages) {
|
|
|
63397
63713
|
}
|
|
63398
63714
|
case 'EdDSA': {
|
|
63399
63715
|
if (key.algorithm.name !== 'Ed25519' && key.algorithm.name !== 'Ed448') {
|
|
63400
|
-
if ((0,_runtime_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
|
|
63401
|
-
if (isAlgorithm(key.algorithm, 'NODE-ED25519'))
|
|
63402
|
-
break;
|
|
63403
|
-
throw unusable('Ed25519, Ed448, or NODE-ED25519');
|
|
63404
|
-
}
|
|
63405
63716
|
throw unusable('Ed25519 or Ed448');
|
|
63406
63717
|
}
|
|
63407
63718
|
break;
|
|
@@ -64232,14 +64543,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
64232
64543
|
/* harmony export */ "toPKCS8": () => (/* binding */ toPKCS8),
|
|
64233
64544
|
/* harmony export */ "toSPKI": () => (/* binding */ toSPKI)
|
|
64234
64545
|
/* harmony export */ });
|
|
64235
|
-
/* harmony import */ var
|
|
64236
|
-
/* harmony import */ var
|
|
64237
|
-
/* harmony import */ var
|
|
64238
|
-
/* harmony import */ var
|
|
64239
|
-
/* harmony import */ var
|
|
64240
|
-
/* harmony import */ var
|
|
64241
|
-
/* 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");
|
|
64242
|
-
|
|
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");
|
|
64243
64552
|
|
|
64244
64553
|
|
|
64245
64554
|
|
|
@@ -64247,8 +64556,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
64247
64556
|
|
|
64248
64557
|
|
|
64249
64558
|
const genericExport = async (keyType, keyFormat, key) => {
|
|
64250
|
-
if (!(0,
|
|
64251
|
-
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));
|
|
64252
64561
|
}
|
|
64253
64562
|
if (!key.extractable) {
|
|
64254
64563
|
throw new TypeError('CryptoKey is not extractable');
|
|
@@ -64256,7 +64565,7 @@ const genericExport = async (keyType, keyFormat, key) => {
|
|
|
64256
64565
|
if (key.type !== keyType) {
|
|
64257
64566
|
throw new TypeError(`key is not a ${keyType} key`);
|
|
64258
64567
|
}
|
|
64259
|
-
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`);
|
|
64260
64569
|
};
|
|
64261
64570
|
const toSPKI = (key) => {
|
|
64262
64571
|
return genericExport('public', 'spki', key);
|
|
@@ -64294,11 +64603,11 @@ const getNamedCurve = (keyData) => {
|
|
|
64294
64603
|
case findOid(keyData, [0x2b, 0x65, 0x71]):
|
|
64295
64604
|
return 'Ed448';
|
|
64296
64605
|
default:
|
|
64297
|
-
throw new
|
|
64606
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_4__.JOSENotSupported('Invalid or unsupported EC Key Curve or OKP Key Sub Type');
|
|
64298
64607
|
}
|
|
64299
64608
|
};
|
|
64300
64609
|
const genericImport = async (replace, keyFormat, pem, alg, options) => {
|
|
64301
|
-
var _a
|
|
64610
|
+
var _a;
|
|
64302
64611
|
let algorithm;
|
|
64303
64612
|
let keyUsages;
|
|
64304
64613
|
const keyData = new Uint8Array(atob(pem.replace(replace, ''))
|
|
@@ -64354,20 +64663,9 @@ const genericImport = async (replace, keyFormat, pem, alg, options) => {
|
|
|
64354
64663
|
keyUsages = isPublic ? ['verify'] : ['sign'];
|
|
64355
64664
|
break;
|
|
64356
64665
|
default:
|
|
64357
|
-
throw new
|
|
64358
|
-
}
|
|
64359
|
-
try {
|
|
64360
|
-
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);
|
|
64361
|
-
}
|
|
64362
|
-
catch (err) {
|
|
64363
|
-
if (algorithm.name === 'Ed25519' &&
|
|
64364
|
-
(err === null || err === void 0 ? void 0 : err.name) === 'NotSupportedError' &&
|
|
64365
|
-
(0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
|
|
64366
|
-
algorithm = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
|
|
64367
|
-
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);
|
|
64368
|
-
}
|
|
64369
|
-
throw err;
|
|
64666
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_4__.JOSENotSupported('Invalid or unsupported "alg" (Algorithm) value');
|
|
64370
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);
|
|
64371
64669
|
};
|
|
64372
64670
|
const fromPKCS8 = (pem, alg, options) => {
|
|
64373
64671
|
return genericImport(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g, 'pkcs8', pem, alg, options);
|
|
@@ -64436,12 +64734,12 @@ function parseElement(bytes) {
|
|
|
64436
64734
|
}
|
|
64437
64735
|
function spkiFromX509(buf) {
|
|
64438
64736
|
const tbsCertificate = getElement(getElement(parseElement(buf).contents)[0].contents);
|
|
64439
|
-
return (0,
|
|
64737
|
+
return (0,_base64url_js__WEBPACK_IMPORTED_MODULE_2__.encodeBase64)(tbsCertificate[tbsCertificate[0].raw[0] === 0xa0 ? 6 : 5].raw);
|
|
64440
64738
|
}
|
|
64441
64739
|
function getSPKI(x509) {
|
|
64442
64740
|
const pem = x509.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g, '');
|
|
64443
|
-
const raw = (0,
|
|
64444
|
-
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');
|
|
64445
64743
|
}
|
|
64446
64744
|
const fromX509 = (pem, alg, options) => {
|
|
64447
64745
|
let spki;
|
|
@@ -64869,26 +65167,6 @@ const encrypt = async (enc, plaintext, cek, iv, aad) => {
|
|
|
64869
65167
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (encrypt);
|
|
64870
65168
|
|
|
64871
65169
|
|
|
64872
|
-
/***/ }),
|
|
64873
|
-
|
|
64874
|
-
/***/ "./node_modules/jose/dist/browser/runtime/env.js":
|
|
64875
|
-
/*!*******************************************************!*\
|
|
64876
|
-
!*** ./node_modules/jose/dist/browser/runtime/env.js ***!
|
|
64877
|
-
\*******************************************************/
|
|
64878
|
-
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
64879
|
-
|
|
64880
|
-
"use strict";
|
|
64881
|
-
__webpack_require__.r(__webpack_exports__);
|
|
64882
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
64883
|
-
/* harmony export */ "isCloudflareWorkers": () => (/* binding */ isCloudflareWorkers)
|
|
64884
|
-
/* harmony export */ });
|
|
64885
|
-
function isCloudflareWorkers() {
|
|
64886
|
-
return (typeof WebSocketPair !== 'undefined' ||
|
|
64887
|
-
(typeof navigator !== 'undefined' && navigator.userAgent === 'Cloudflare-Workers') ||
|
|
64888
|
-
(typeof EdgeRuntime !== 'undefined' && EdgeRuntime === 'vercel'));
|
|
64889
|
-
}
|
|
64890
|
-
|
|
64891
|
-
|
|
64892
65170
|
/***/ }),
|
|
64893
65171
|
|
|
64894
65172
|
/***/ "./node_modules/jose/dist/browser/runtime/fetch_jwks.js":
|
|
@@ -64953,11 +65231,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
64953
65231
|
/* harmony export */ "generateKeyPair": () => (/* binding */ generateKeyPair),
|
|
64954
65232
|
/* harmony export */ "generateSecret": () => (/* binding */ generateSecret)
|
|
64955
65233
|
/* harmony export */ });
|
|
64956
|
-
/* harmony import */ var
|
|
64957
|
-
/* harmony import */ var
|
|
64958
|
-
/* harmony import */ var
|
|
64959
|
-
/* harmony import */ var _random_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./random.js */ "./node_modules/jose/dist/browser/runtime/random.js");
|
|
64960
|
-
|
|
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");
|
|
64961
65237
|
|
|
64962
65238
|
|
|
64963
65239
|
|
|
@@ -64978,7 +65254,7 @@ async function generateSecret(alg, options) {
|
|
|
64978
65254
|
case 'A192CBC-HS384':
|
|
64979
65255
|
case 'A256CBC-HS512':
|
|
64980
65256
|
length = parseInt(alg.slice(-3), 10);
|
|
64981
|
-
return (0,
|
|
65257
|
+
return (0,_random_js__WEBPACK_IMPORTED_MODULE_2__["default"])(new Uint8Array(length >> 3));
|
|
64982
65258
|
case 'A128KW':
|
|
64983
65259
|
case 'A192KW':
|
|
64984
65260
|
case 'A256KW':
|
|
@@ -64997,20 +65273,20 @@ async function generateSecret(alg, options) {
|
|
|
64997
65273
|
keyUsages = ['encrypt', 'decrypt'];
|
|
64998
65274
|
break;
|
|
64999
65275
|
default:
|
|
65000
|
-
throw new
|
|
65276
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
|
|
65001
65277
|
}
|
|
65002
|
-
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);
|
|
65003
65279
|
}
|
|
65004
65280
|
function getModulusLengthOption(options) {
|
|
65005
65281
|
var _a;
|
|
65006
65282
|
const modulusLength = (_a = options === null || options === void 0 ? void 0 : options.modulusLength) !== null && _a !== void 0 ? _a : 2048;
|
|
65007
65283
|
if (typeof modulusLength !== 'number' || modulusLength < 2048) {
|
|
65008
|
-
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');
|
|
65009
65285
|
}
|
|
65010
65286
|
return modulusLength;
|
|
65011
65287
|
}
|
|
65012
65288
|
async function generateKeyPair(alg, options) {
|
|
65013
|
-
var _a, _b, _c
|
|
65289
|
+
var _a, _b, _c;
|
|
65014
65290
|
let algorithm;
|
|
65015
65291
|
let keyUsages;
|
|
65016
65292
|
switch (alg) {
|
|
@@ -65069,7 +65345,7 @@ async function generateKeyPair(alg, options) {
|
|
|
65069
65345
|
algorithm = { name: crv };
|
|
65070
65346
|
break;
|
|
65071
65347
|
default:
|
|
65072
|
-
throw new
|
|
65348
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported crv option provided');
|
|
65073
65349
|
}
|
|
65074
65350
|
break;
|
|
65075
65351
|
case 'ECDH-ES':
|
|
@@ -65090,25 +65366,14 @@ async function generateKeyPair(alg, options) {
|
|
|
65090
65366
|
algorithm = { name: crv };
|
|
65091
65367
|
break;
|
|
65092
65368
|
default:
|
|
65093
|
-
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');
|
|
65094
65370
|
}
|
|
65095
65371
|
break;
|
|
65096
65372
|
}
|
|
65097
65373
|
default:
|
|
65098
|
-
throw new
|
|
65099
|
-
}
|
|
65100
|
-
try {
|
|
65101
|
-
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));
|
|
65102
|
-
}
|
|
65103
|
-
catch (err) {
|
|
65104
|
-
if (algorithm.name === 'Ed25519' &&
|
|
65105
|
-
(err === null || err === void 0 ? void 0 : err.name) === 'NotSupportedError' &&
|
|
65106
|
-
(0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
|
|
65107
|
-
algorithm = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
|
|
65108
|
-
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));
|
|
65109
|
-
}
|
|
65110
|
-
throw err;
|
|
65374
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
|
|
65111
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));
|
|
65112
65377
|
}
|
|
65113
65378
|
|
|
65114
65379
|
|
|
@@ -65183,11 +65448,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
65183
65448
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
65184
65449
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
65185
65450
|
/* harmony export */ });
|
|
65186
|
-
/* harmony import */ var
|
|
65187
|
-
/* harmony import */ var
|
|
65188
|
-
/* harmony import */ var
|
|
65189
|
-
/* harmony import */ var _base64url_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./base64url.js */ "./node_modules/jose/dist/browser/runtime/base64url.js");
|
|
65190
|
-
|
|
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");
|
|
65191
65454
|
|
|
65192
65455
|
|
|
65193
65456
|
|
|
@@ -65206,7 +65469,7 @@ function subtleMapping(jwk) {
|
|
|
65206
65469
|
case 'A128CBC-HS256':
|
|
65207
65470
|
case 'A192CBC-HS384':
|
|
65208
65471
|
case 'A256CBC-HS512':
|
|
65209
|
-
throw new
|
|
65472
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported(`${jwk.alg} keys cannot be imported as CryptoKey instances`);
|
|
65210
65473
|
case 'A128GCM':
|
|
65211
65474
|
case 'A192GCM':
|
|
65212
65475
|
case 'A256GCM':
|
|
@@ -65229,7 +65492,7 @@ function subtleMapping(jwk) {
|
|
|
65229
65492
|
keyUsages = ['deriveBits'];
|
|
65230
65493
|
break;
|
|
65231
65494
|
default:
|
|
65232
|
-
throw new
|
|
65495
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
|
|
65233
65496
|
}
|
|
65234
65497
|
break;
|
|
65235
65498
|
}
|
|
@@ -65258,7 +65521,7 @@ function subtleMapping(jwk) {
|
|
|
65258
65521
|
keyUsages = jwk.d ? ['decrypt', 'unwrapKey'] : ['encrypt', 'wrapKey'];
|
|
65259
65522
|
break;
|
|
65260
65523
|
default:
|
|
65261
|
-
throw new
|
|
65524
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
|
|
65262
65525
|
}
|
|
65263
65526
|
break;
|
|
65264
65527
|
}
|
|
@@ -65284,7 +65547,7 @@ function subtleMapping(jwk) {
|
|
|
65284
65547
|
keyUsages = jwk.d ? ['deriveBits'] : [];
|
|
65285
65548
|
break;
|
|
65286
65549
|
default:
|
|
65287
|
-
throw new
|
|
65550
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
|
|
65288
65551
|
}
|
|
65289
65552
|
break;
|
|
65290
65553
|
}
|
|
@@ -65302,12 +65565,12 @@ function subtleMapping(jwk) {
|
|
|
65302
65565
|
keyUsages = jwk.d ? ['deriveBits'] : [];
|
|
65303
65566
|
break;
|
|
65304
65567
|
default:
|
|
65305
|
-
throw new
|
|
65568
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
|
|
65306
65569
|
}
|
|
65307
65570
|
break;
|
|
65308
65571
|
}
|
|
65309
65572
|
default:
|
|
65310
|
-
throw new
|
|
65573
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "kty" (Key Type) Parameter value');
|
|
65311
65574
|
}
|
|
65312
65575
|
return { algorithm, keyUsages };
|
|
65313
65576
|
}
|
|
@@ -65323,23 +65586,12 @@ const parse = async (jwk) => {
|
|
|
65323
65586
|
(_b = jwk.key_ops) !== null && _b !== void 0 ? _b : keyUsages,
|
|
65324
65587
|
];
|
|
65325
65588
|
if (algorithm.name === 'PBKDF2') {
|
|
65326
|
-
return
|
|
65589
|
+
return _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__["default"].subtle.importKey('raw', (0,_base64url_js__WEBPACK_IMPORTED_MODULE_2__.decode)(jwk.k), ...rest);
|
|
65327
65590
|
}
|
|
65328
65591
|
const keyData = { ...jwk };
|
|
65329
65592
|
delete keyData.alg;
|
|
65330
65593
|
delete keyData.use;
|
|
65331
|
-
|
|
65332
|
-
return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey('jwk', keyData, ...rest);
|
|
65333
|
-
}
|
|
65334
|
-
catch (err) {
|
|
65335
|
-
if (algorithm.name === 'Ed25519' &&
|
|
65336
|
-
(err === null || err === void 0 ? void 0 : err.name) === 'NotSupportedError' &&
|
|
65337
|
-
(0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
|
|
65338
|
-
rest[0] = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
|
|
65339
|
-
return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey('jwk', keyData, ...rest);
|
|
65340
|
-
}
|
|
65341
|
-
throw err;
|
|
65342
|
-
}
|
|
65594
|
+
return _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__["default"].subtle.importKey('jwk', keyData, ...rest);
|
|
65343
65595
|
};
|
|
65344
65596
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (parse);
|
|
65345
65597
|
|
|
@@ -65581,9 +65833,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
65581
65833
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
65582
65834
|
/* harmony export */ "default": () => (/* binding */ subtleDsa)
|
|
65583
65835
|
/* harmony export */ });
|
|
65584
|
-
/* harmony import */ var
|
|
65585
|
-
/* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
|
|
65586
|
-
|
|
65836
|
+
/* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
|
|
65587
65837
|
|
|
65588
65838
|
function subtleDsa(alg, algorithm) {
|
|
65589
65839
|
const hash = `SHA-${alg.slice(-3)}`;
|
|
@@ -65605,12 +65855,9 @@ function subtleDsa(alg, algorithm) {
|
|
|
65605
65855
|
case 'ES512':
|
|
65606
65856
|
return { hash, name: 'ECDSA', namedCurve: algorithm.namedCurve };
|
|
65607
65857
|
case 'EdDSA':
|
|
65608
|
-
if ((0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)() && algorithm.name === 'NODE-ED25519') {
|
|
65609
|
-
return { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
|
|
65610
|
-
}
|
|
65611
65858
|
return { name: algorithm.name };
|
|
65612
65859
|
default:
|
|
65613
|
-
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`);
|
|
65614
65861
|
}
|
|
65615
65862
|
}
|
|
65616
65863
|
|
|
@@ -66275,22 +66522,7 @@ module.exports = JSON.parse('{"application/1d-interleaved-parityfec":{"source":"
|
|
|
66275
66522
|
/******/
|
|
66276
66523
|
/******/ /* webpack/runtime/publicPath */
|
|
66277
66524
|
/******/ (() => {
|
|
66278
|
-
/******/
|
|
66279
|
-
/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + "";
|
|
66280
|
-
/******/ var document = __webpack_require__.g.document;
|
|
66281
|
-
/******/ if (!scriptUrl && document) {
|
|
66282
|
-
/******/ if (document.currentScript)
|
|
66283
|
-
/******/ scriptUrl = document.currentScript.src;
|
|
66284
|
-
/******/ if (!scriptUrl) {
|
|
66285
|
-
/******/ var scripts = document.getElementsByTagName("script");
|
|
66286
|
-
/******/ if(scripts.length) scriptUrl = scripts[scripts.length - 1].src
|
|
66287
|
-
/******/ }
|
|
66288
|
-
/******/ }
|
|
66289
|
-
/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration
|
|
66290
|
-
/******/ // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.
|
|
66291
|
-
/******/ if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");
|
|
66292
|
-
/******/ scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
|
|
66293
|
-
/******/ __webpack_require__.p = scriptUrl;
|
|
66525
|
+
/******/ __webpack_require__.p = "";
|
|
66294
66526
|
/******/ })();
|
|
66295
66527
|
/******/
|
|
66296
66528
|
/******/ /* webpack/runtime/jsonp chunk loading */
|