solid-ui 2.4.27-e6d67dd8 → 2.4.27-eed9bea8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/solid-ui.js +146 -189
- 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/keys.d.ts.map +1 -1
- package/lib/chat/keys.js +78 -65
- package/lib/chat/keys.js.map +1 -1
- package/lib/utils/cryptoKeyHelpers.d.ts.map +1 -1
- package/lib/utils/cryptoKeyHelpers.js +13 -1
- package/lib/utils/cryptoKeyHelpers.js.map +1 -1
- package/lib/versionInfo.js +2 -2
- package/lib/versionInfo.js.map +1 -1
- package/package.json +1 -1
package/lib/chat/keys.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/chat/keys.ts"],"names":[],"mappings":"AAQA,wBAAgB,kBAAkB,IAAK,MAAM,CAE5C;AAED,wBAAgB,iBAAiB,CAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAsB,YAAY,CAAE,KAAK,KAAA,+BAaxC;AAED,wBAAsB,aAAa,CAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/chat/keys.ts"],"names":[],"mappings":"AAQA,wBAAgB,kBAAkB,IAAK,MAAM,CAE5C;AAED,wBAAgB,iBAAiB,CAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAsB,YAAY,CAAE,KAAK,KAAA,+BAaxC;AAED,wBAAsB,aAAa,CAAE,KAAK,EAAE,MAAM,mBAuDjD"}
|
package/lib/chat/keys.js
CHANGED
|
@@ -63,7 +63,7 @@ function getPrivateKey(_x2) {
|
|
|
63
63
|
}
|
|
64
64
|
function _getPrivateKey() {
|
|
65
65
|
_getPrivateKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
|
|
66
|
-
var publicKeyDoc, privateKeyDoc, publicKey, privateKey, validPublicKey, del, add, newPublicKey;
|
|
66
|
+
var publicKeyDoc, privateKeyDoc, publicKey, privateKey, validPublicKey, del, add, newPublicKey, keyContainer;
|
|
67
67
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
68
68
|
while (1) switch (_context2.prev = _context2.next) {
|
|
69
69
|
case 0:
|
|
@@ -89,7 +89,7 @@ function _getPrivateKey() {
|
|
|
89
89
|
|
|
90
90
|
// create key pair or repair publicKey
|
|
91
91
|
if (!(!privateKey || !publicKey || !validPublicKey)) {
|
|
92
|
-
_context2.next =
|
|
92
|
+
_context2.next = 30;
|
|
93
93
|
break;
|
|
94
94
|
}
|
|
95
95
|
del = [];
|
|
@@ -120,8 +120,12 @@ function _getPrivateKey() {
|
|
|
120
120
|
_context2.next = 27;
|
|
121
121
|
return saveKey(publicKeyDoc, del, add);
|
|
122
122
|
case 27:
|
|
123
|
+
keyContainer = privateKeyDoc.substring(0, privateKeyDoc.lastIndexOf('/') + 1);
|
|
124
|
+
_context2.next = 30;
|
|
125
|
+
return setAcl(keyContainer, keyContainerAclBody(webId));
|
|
126
|
+
case 30:
|
|
123
127
|
return _context2.abrupt("return", privateKey);
|
|
124
|
-
case
|
|
128
|
+
case 31:
|
|
125
129
|
case "end":
|
|
126
130
|
return _context2.stop();
|
|
127
131
|
}
|
|
@@ -129,104 +133,113 @@ function _getPrivateKey() {
|
|
|
129
133
|
}));
|
|
130
134
|
return _getPrivateKey.apply(this, arguments);
|
|
131
135
|
}
|
|
132
|
-
function
|
|
136
|
+
var keyContainerAclBody = function keyContainerAclBody(me) {
|
|
137
|
+
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:agent <".concat(me, ">;\n acl:mode acl:Read, acl:Write.\n:Read\n a acl:Authorization;\n acl:accessTo key:;\n acl:default key:;\n acl:agentClass foaf:Agent;\n acl:mode acl:Read.\n");
|
|
138
|
+
return aclBody;
|
|
139
|
+
};
|
|
140
|
+
var keyAclBody = function keyAclBody(keyDoc, me) {
|
|
141
|
+
var keyAgent = 'acl:agentClass foaf:Agent'; // publicKey
|
|
142
|
+
if (me !== null && me !== void 0 && me.length) keyAgent = "acl:agent <".concat(me, ">"); // privateKey
|
|
143
|
+
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, acl:Control. # NSS issue: missing acl link header with READ only\n");
|
|
144
|
+
return aclBody;
|
|
145
|
+
};
|
|
146
|
+
function setAcl(_x3, _x4) {
|
|
133
147
|
return _setAcl.apply(this, arguments);
|
|
134
148
|
}
|
|
135
149
|
function _setAcl() {
|
|
136
|
-
_setAcl = (0, _asyncToGenerator2["default"])(function (keyDoc) {
|
|
137
|
-
var
|
|
138
|
-
return
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
case "end":
|
|
166
|
-
return _context3.stop();
|
|
167
|
-
}
|
|
168
|
-
}, _callee3);
|
|
169
|
-
})();
|
|
170
|
-
});
|
|
150
|
+
_setAcl = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(keyDoc, aclBody) {
|
|
151
|
+
var keyAclDoc, aclResponse;
|
|
152
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
153
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
154
|
+
case 0:
|
|
155
|
+
_context3.next = 2;
|
|
156
|
+
return _solidLogic.store.fetcher.load(keyDoc);
|
|
157
|
+
case 2:
|
|
158
|
+
// FIXME: check the Why value on this quad:
|
|
159
|
+
keyAclDoc = _solidLogic.store.any($rdf.sym(keyDoc), $rdf.sym('http://www.iana.org/assignments/link-relations/acl'));
|
|
160
|
+
if (keyAclDoc) {
|
|
161
|
+
_context3.next = 5;
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
throw new Error('Key ACL doc not found!');
|
|
165
|
+
case 5:
|
|
166
|
+
_context3.next = 7;
|
|
167
|
+
return _solidLogic.store.fetcher.webOperation('PUT', keyAclDoc.value, {
|
|
168
|
+
data: aclBody,
|
|
169
|
+
contentType: 'text/turtle'
|
|
170
|
+
});
|
|
171
|
+
case 7:
|
|
172
|
+
aclResponse = _context3.sent;
|
|
173
|
+
case 8:
|
|
174
|
+
case "end":
|
|
175
|
+
return _context3.stop();
|
|
176
|
+
}
|
|
177
|
+
}, _callee3);
|
|
178
|
+
}));
|
|
171
179
|
return _setAcl.apply(this, arguments);
|
|
172
180
|
}
|
|
173
|
-
function saveKey(
|
|
181
|
+
function saveKey(_x5, _x6, _x7) {
|
|
174
182
|
return _saveKey.apply(this, arguments);
|
|
175
183
|
}
|
|
176
184
|
function _saveKey() {
|
|
177
185
|
_saveKey = (0, _asyncToGenerator2["default"])(function (keyDoc, del, add) {
|
|
178
186
|
var me = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
|
|
179
187
|
return /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
180
|
-
var keyAclDoc, response;
|
|
188
|
+
var keyAclDoc, response, aclBody;
|
|
181
189
|
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
182
190
|
while (1) switch (_context4.prev = _context4.next) {
|
|
183
191
|
case 0:
|
|
184
|
-
_context4.
|
|
192
|
+
_context4.next = 2;
|
|
193
|
+
return _solidLogic.store.updater.updateMany(del, add);
|
|
194
|
+
case 2:
|
|
195
|
+
_context4.next = 4;
|
|
196
|
+
return _solidLogic.store.fetcher.load(keyDoc);
|
|
197
|
+
case 4:
|
|
198
|
+
_context4.prev = 4;
|
|
185
199
|
// get keyAcldoc
|
|
186
200
|
keyAclDoc = _solidLogic.store.any($rdf.sym(keyDoc), $rdf.sym('http://www.iana.org/assignments/link-relations/acl'));
|
|
187
201
|
if (keyAclDoc) {
|
|
188
|
-
_context4.next =
|
|
202
|
+
_context4.next = 8;
|
|
189
203
|
break;
|
|
190
204
|
}
|
|
191
205
|
throw new Error("".concat(keyDoc, " ACL doc not found!"));
|
|
192
|
-
case
|
|
193
|
-
_context4.prev =
|
|
194
|
-
_context4.next =
|
|
206
|
+
case 8:
|
|
207
|
+
_context4.prev = 8;
|
|
208
|
+
_context4.next = 11;
|
|
195
209
|
return _solidLogic.store.fetcher.webOperation('DELETE', keyAclDoc.value);
|
|
196
|
-
case
|
|
210
|
+
case 11:
|
|
197
211
|
response = _context4.sent;
|
|
198
212
|
// this may fail if webId is not an owner
|
|
199
213
|
debug.log('delete ' + keyAclDoc.value + ' ' + response.status); // should test 404 and 2xx
|
|
200
|
-
_context4.next =
|
|
214
|
+
_context4.next = 20;
|
|
201
215
|
break;
|
|
202
|
-
case
|
|
203
|
-
_context4.prev =
|
|
204
|
-
_context4.t0 = _context4["catch"](
|
|
216
|
+
case 15:
|
|
217
|
+
_context4.prev = 15;
|
|
218
|
+
_context4.t0 = _context4["catch"](8);
|
|
205
219
|
if (!(_context4.t0.response.status !== 404)) {
|
|
206
|
-
_context4.next =
|
|
220
|
+
_context4.next = 19;
|
|
207
221
|
break;
|
|
208
222
|
}
|
|
209
223
|
throw new Error(_context4.t0);
|
|
210
|
-
case
|
|
224
|
+
case 19:
|
|
211
225
|
debug.log('delete ' + keyAclDoc.value + ' ' + _context4.t0.response.status); // should test 404 and 2xx
|
|
212
|
-
case 16:
|
|
213
|
-
_context4.next = 18;
|
|
214
|
-
return _solidLogic.store.updater.updateMany(del, add);
|
|
215
|
-
case 18:
|
|
216
|
-
_context4.next = 20;
|
|
217
|
-
return setAcl(keyDoc, me);
|
|
218
226
|
case 20:
|
|
219
|
-
|
|
227
|
+
// create READ only ACL
|
|
228
|
+
aclBody = keyAclBody(keyDoc, me);
|
|
229
|
+
_context4.next = 23;
|
|
230
|
+
return setAcl(keyDoc, aclBody);
|
|
231
|
+
case 23:
|
|
232
|
+
_context4.next = 28;
|
|
220
233
|
break;
|
|
221
|
-
case 22:
|
|
222
|
-
_context4.prev = 22;
|
|
223
|
-
_context4.t1 = _context4["catch"](0);
|
|
224
|
-
throw new Error(_context4.t1);
|
|
225
234
|
case 25:
|
|
235
|
+
_context4.prev = 25;
|
|
236
|
+
_context4.t1 = _context4["catch"](4);
|
|
237
|
+
throw new Error(_context4.t1);
|
|
238
|
+
case 28:
|
|
226
239
|
case "end":
|
|
227
240
|
return _context4.stop();
|
|
228
241
|
}
|
|
229
|
-
}, _callee4, null, [[
|
|
242
|
+
}, _callee4, null, [[4, 25], [8, 15]]);
|
|
230
243
|
})();
|
|
231
244
|
});
|
|
232
245
|
return _saveKey.apply(this, arguments);
|
package/lib/chat/keys.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","names":["debug","_interopRequireWildcard","require","_secp256k","_utils","_signature","_solidLogic","$rdf","_cryptoKeyHelpers","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","generatePrivateKey","bytesToHex","schnorr","utils","randomPrivateKey","generatePublicKey","privateKey","getPublicKey","_x","_getPublicKey","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","webId","publicKeyDoc","wrap","_callee$","_context","prev","next","store","fetcher","load","pubKeyUrl","any","sym","CERT","abrupt","value","t0","undefined","stop","getPrivateKey","_x2","_getPrivateKey","_callee2","privateKeyDoc","publicKey","validPublicKey","del","add","newPublicKey","_callee2$","_context2","privKeyUrl","publicKeyExists","sent","privateKeyExists","confirm","st","literal","saveKey","lit","log","setAcl","_x3","_setAcl","keyDoc","me","length","_callee3","keyAclDoc","keyAgent","aclBody","aclResponse","_callee3$","_context3","Error","concat","split","pop","webOperation","data","contentType","_x4","_x5","_x6","_saveKey","_callee4","response","_callee4$","_context4","status","updater","updateMany","t1"],"sources":["../../src/chat/keys.ts"],"sourcesContent":["import * as debug from '../debug'\r\nimport { schnorr } from '@noble/curves/secp256k1'\r\nimport { bytesToHex } from '@noble/hashes/utils'\r\nimport { CERT } from './signature'\r\nimport { store } from 'solid-logic'\r\nimport * as $rdf from 'rdflib'\r\nimport { publicKeyExists, pubKeyUrl, privKeyUrl, privateKeyExists } from '../utils/cryptoKeyHelpers'\r\n\r\nexport function generatePrivateKey (): string {\r\n return bytesToHex(schnorr.utils.randomPrivateKey())\r\n}\r\n\r\nexport function generatePublicKey (privateKey: string): string {\r\n return bytesToHex(schnorr.getPublicKey(privateKey))\r\n}\r\n\r\nexport async function getPublicKey (webId) {\r\n await store.fetcher.load(webId)\r\n const publicKeyDoc = pubKeyUrl(webId)\r\n try {\r\n await store.fetcher.load(publicKeyDoc) // url.href)\r\n const key = store.any(store.sym(webId), store.sym(CERT + 'PublicKey'))\r\n return key?.value // as NamedNode\r\n } catch (err) {\r\n return undefined\r\n }\r\n // this is called in display message and should not try to create a publicKeyDoc\r\n // const publicKey = await publicKeyExists(webId)\r\n // return publicKey\r\n}\r\n\r\nexport async function getPrivateKey (webId: string) {\r\n await store.fetcher.load(webId)\r\n // find keys url's\r\n const publicKeyDoc = pubKeyUrl(webId)\r\n const privateKeyDoc = privKeyUrl(webId)\r\n\r\n // find key pair\r\n const publicKey = await publicKeyExists(webId)\r\n let privateKey = await privateKeyExists(webId)\r\n\r\n // is publicKey valid ?\r\n let validPublicKey = true\r\n if (privateKey && (publicKey !== generatePublicKey(privateKey as string))) {\r\n if (confirm('This is strange the publicKey is not valid for\\n' + webId +\r\n '\\'shall we repair keeping the private key ?')) validPublicKey = false\r\n }\r\n\r\n // create key pair or repair publicKey\r\n if (!privateKey || !publicKey || !validPublicKey) {\r\n let del: any[] = []\r\n let add: any[] = []\r\n // if (privateKey) del.push($rdf.st($rdf.sym(webId), $rdf.sym(CERT + 'PrivateKey'), $rdf.lit(privateKey), $rdf.sym(privateKeyDoc)))\r\n\r\n if (!privateKey) {\r\n // add = []\r\n privateKey = generatePrivateKey()\r\n add = [$rdf.st($rdf.sym(webId), $rdf.sym(CERT + 'PrivateKey'), $rdf.literal(privateKey), $rdf.sym(privateKeyDoc))]\r\n await saveKey(privateKeyDoc, [], add, webId)\r\n }\r\n if (!publicKey || !validPublicKey) {\r\n del = []\r\n // delete invalid public key\r\n if (publicKey) {\r\n del = [$rdf.st($rdf.sym(webId), $rdf.sym(CERT + 'PublicKey'), $rdf.lit(publicKey), $rdf.sym(publicKeyDoc))]\r\n debug.log(del)\r\n }\r\n // update new valid key\r\n const newPublicKey = generatePublicKey(privateKey)\r\n add = [$rdf.st($rdf.sym(webId), $rdf.sym(CERT + 'PublicKey'), $rdf.literal(newPublicKey), $rdf.sym(publicKeyDoc))]\r\n await saveKey(publicKeyDoc, del, add)\r\n }\r\n /* debug.log('new key pair ' + webId)\r\n debug.log('newPrivateKey-1 ' + privateKey)\r\n debug.log('newPublicKey-1 ' + publicKey) */\r\n /* debug.log('del')\r\n debug.log(del)\r\n debug.log('add')\r\n debug.log(add) */\r\n // await store.updater.updateMany(del, add)\r\n // TODO create READ ACL's\r\n // await setAcl() // depends on which key has been updated\r\n }\r\n return privateKey as string\r\n}\r\n\r\nasync function setAcl (keyDoc, me = '') {\r\n // Some servers don't present a Link http response header\r\n // if the container doesn't exist yet, so refetch the container\r\n // now that it has been created:\r\n await store.fetcher.load(keyDoc)\r\n\r\n // FIXME: check the Why value on this quad:\r\n const keyAclDoc = store.any($rdf.sym(keyDoc), $rdf.sym('http://www.iana.org/assignments/link-relations/acl'))\r\n if (!keyAclDoc) {\r\n throw new Error('Key ACL doc not found!')\r\n }\r\n\r\n let keyAgent = 'acl:agentClass foaf:agent'\r\n if (me?.length) keyAgent = `acl:agent <${me}>`\r\n const aclBody = `\r\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\r\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\r\n<#Read>\r\n a acl:Authorization;\r\n ${keyAgent};\r\n acl:accessTo <${keyDoc.split('/').pop()}>;\r\n acl:mode acl:Read.\r\n`\r\n const aclResponse = await store.fetcher.webOperation('PUT', keyAclDoc.value, {\r\n data: aclBody,\r\n contentType: 'text/turtle'\r\n })\r\n}\r\n\r\nasync function saveKey (keyDoc, del, add, me = '') {\r\n try {\r\n // get keyAcldoc\r\n const keyAclDoc = store.any($rdf.sym(keyDoc), $rdf.sym('http://www.iana.org/assignments/link-relations/acl'))\r\n if (!keyAclDoc) {\r\n throw new Error(`${keyDoc} ACL doc not found!`)\r\n }\r\n // delete READ only keyAclDoc. This is possible if the webId is an owner\r\n try {\r\n const response = await store.fetcher.webOperation('DELETE', keyAclDoc.value) // this may fail if webId is not an owner\r\n debug.log('delete ' + keyAclDoc.value + ' ' + response.status) // should test 404 and 2xx\r\n } catch (err) {\r\n if (err.response.status !== 404) { throw new Error(err) }\r\n debug.log('delete ' + keyAclDoc.value + ' ' + err.response.status) // should test 404 and 2xx\r\n }\r\n\r\n // save key\r\n await store.updater.updateMany(del, add) // or a promise store.updater.update ?\r\n\r\n // create READ only ACL\r\n await setAcl(keyDoc, me)\r\n } catch (err) { throw new Error(err) }\r\n}\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"keys.js","names":["debug","_interopRequireWildcard","require","_secp256k","_utils","_signature","_solidLogic","$rdf","_cryptoKeyHelpers","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","generatePrivateKey","bytesToHex","schnorr","utils","randomPrivateKey","generatePublicKey","privateKey","getPublicKey","_x","_getPublicKey","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","webId","publicKeyDoc","wrap","_callee$","_context","prev","next","store","fetcher","load","pubKeyUrl","any","sym","CERT","abrupt","value","t0","undefined","stop","getPrivateKey","_x2","_getPrivateKey","_callee2","privateKeyDoc","publicKey","validPublicKey","del","add","newPublicKey","keyContainer","_callee2$","_context2","privKeyUrl","publicKeyExists","sent","privateKeyExists","confirm","st","literal","saveKey","lit","log","substring","lastIndexOf","setAcl","keyContainerAclBody","me","aclBody","concat","keyAclBody","keyDoc","keyAgent","length","split","pop","_x3","_x4","_setAcl","_callee3","keyAclDoc","aclResponse","_callee3$","_context3","Error","webOperation","data","contentType","_x5","_x6","_x7","_saveKey","_callee4","response","_callee4$","_context4","updater","updateMany","status","t1"],"sources":["../../src/chat/keys.ts"],"sourcesContent":["import * as debug from '../debug'\r\nimport { schnorr } from '@noble/curves/secp256k1'\r\nimport { bytesToHex } from '@noble/hashes/utils'\r\nimport { CERT } from './signature'\r\nimport { store } from 'solid-logic'\r\nimport * as $rdf from 'rdflib'\r\nimport { publicKeyExists, pubKeyUrl, privKeyUrl, privateKeyExists } from '../utils/cryptoKeyHelpers'\r\n\r\nexport function generatePrivateKey (): string {\r\n return bytesToHex(schnorr.utils.randomPrivateKey())\r\n}\r\n\r\nexport function generatePublicKey (privateKey: string): string {\r\n return bytesToHex(schnorr.getPublicKey(privateKey))\r\n}\r\n\r\nexport async function getPublicKey (webId) {\r\n await store.fetcher.load(webId)\r\n const publicKeyDoc = pubKeyUrl(webId)\r\n try {\r\n await store.fetcher.load(publicKeyDoc) // url.href)\r\n const key = store.any(store.sym(webId), store.sym(CERT + 'PublicKey'))\r\n return key?.value // as NamedNode\r\n } catch (err) {\r\n return undefined\r\n }\r\n // this is called in display message and should not try to create a publicKeyDoc\r\n // const publicKey = await publicKeyExists(webId)\r\n // return publicKey\r\n}\r\n\r\nexport async function getPrivateKey (webId: string) {\r\n await store.fetcher.load(webId)\r\n // find keys url's\r\n const publicKeyDoc = pubKeyUrl(webId)\r\n const privateKeyDoc = privKeyUrl(webId)\r\n\r\n // find key pair\r\n const publicKey = await publicKeyExists(webId)\r\n let privateKey = await privateKeyExists(webId)\r\n\r\n // is publicKey valid ?\r\n let validPublicKey = true\r\n if (privateKey && (publicKey !== generatePublicKey(privateKey as string))) {\r\n if (confirm('This is strange the publicKey is not valid for\\n' + webId +\r\n '\\'shall we repair keeping the private key ?')) validPublicKey = false\r\n }\r\n\r\n // create key pair or repair publicKey\r\n if (!privateKey || !publicKey || !validPublicKey) {\r\n let del: any[] = []\r\n let add: any[] = []\r\n // if (privateKey) del.push($rdf.st($rdf.sym(webId), $rdf.sym(CERT + 'PrivateKey'), $rdf.lit(privateKey), $rdf.sym(privateKeyDoc)))\r\n\r\n if (!privateKey) {\r\n // add = []\r\n privateKey = generatePrivateKey()\r\n add = [$rdf.st($rdf.sym(webId), $rdf.sym(CERT + 'PrivateKey'), $rdf.literal(privateKey), $rdf.sym(privateKeyDoc))]\r\n await saveKey(privateKeyDoc, [], add, webId)\r\n }\r\n if (!publicKey || !validPublicKey) {\r\n del = []\r\n // delete invalid public key\r\n if (publicKey) {\r\n del = [$rdf.st($rdf.sym(webId), $rdf.sym(CERT + 'PublicKey'), $rdf.lit(publicKey), $rdf.sym(publicKeyDoc))]\r\n debug.log(del)\r\n }\r\n // update new valid key\r\n const newPublicKey = generatePublicKey(privateKey)\r\n add = [$rdf.st($rdf.sym(webId), $rdf.sym(CERT + 'PublicKey'), $rdf.literal(newPublicKey), $rdf.sym(publicKeyDoc))]\r\n await saveKey(publicKeyDoc, del, add)\r\n }\r\n const keyContainer = privateKeyDoc.substring(0, privateKeyDoc.lastIndexOf('/') + 1)\r\n await setAcl(keyContainer, keyContainerAclBody(webId))\r\n /* debug.log('new key pair ' + webId)\r\n debug.log('newPrivateKey-1 ' + privateKey)\r\n debug.log('newPublicKey-1 ' + publicKey) */\r\n /* debug.log('del')\r\n debug.log(del)\r\n debug.log('add')\r\n debug.log(add) */\r\n // await store.updater.updateMany(del, add)\r\n // TODO create READ ACL's\r\n // await setAcl() // depends on which key has been updated\r\n }\r\n return privateKey as string\r\n}\r\n\r\nconst keyContainerAclBody = (me: string) => {\r\n const aclBody = `\r\n@prefix : <#>.\r\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\r\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\r\n@prefix key: <./>.\r\n\r\n:ReadWrite\r\n a acl:Authorization;\r\n acl:accessTo key:;\r\n acl:agent <${me}>;\r\n acl:mode acl:Read, acl:Write.\r\n:Read\r\n a acl:Authorization;\r\n acl:accessTo key:;\r\n acl:default key:;\r\n acl:agentClass foaf:Agent;\r\n acl:mode acl:Read.\r\n`\r\n return aclBody\r\n}\r\n\r\nconst keyAclBody = (keyDoc, me) => {\r\n let keyAgent = 'acl:agentClass foaf:Agent' // publicKey\r\n if (me?.length) keyAgent = `acl:agent <${me}>` // privateKey\r\n const aclBody = `\r\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\r\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\r\n<#Read>\r\n a acl:Authorization;\r\n ${keyAgent};\r\n acl:accessTo <${keyDoc.split('/').pop()}>;\r\n acl:mode acl:Read, acl:Control. # NSS issue: missing acl link header with READ only\r\n`\r\n return aclBody\r\n}\r\n\r\nasync function setAcl (keyDoc, aclBody) {\r\n // Some servers don't present a Link http response header\r\n // if the container doesn't exist yet, so refetch the container\r\n // now that it has been created:\r\n await store.fetcher.load(keyDoc)\r\n\r\n // FIXME: check the Why value on this quad:\r\n const keyAclDoc = store.any($rdf.sym(keyDoc), $rdf.sym('http://www.iana.org/assignments/link-relations/acl'))\r\n if (!keyAclDoc) {\r\n throw new Error('Key ACL doc not found!')\r\n }\r\n\r\n /* let keyAgent = `acl:agent <${me}>;\\n` // privateKey\r\n if (!me?.length) keyAgent = `acl:agent <${me}>;\\n` + ' acl:agentClass foaf:Agent' // publicKey NSS issue\r\n const aclBody = `\r\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\r\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\r\n<#Read>\r\n a acl:Authorization;\r\n acl:agent <${me}>;\r\n ${keyAgent};\r\n acl:accessTo <${keyDoc.split('/').pop()}>;\r\n acl:mode acl:Read, acl:Control. # NSS issue: missing acl link header with READ only\r\n` */\r\n const aclResponse = await store.fetcher.webOperation('PUT', keyAclDoc.value, {\r\n data: aclBody,\r\n contentType: 'text/turtle'\r\n })\r\n}\r\n\r\nasync function saveKey (keyDoc, del, add, me = '') {\r\n // save key\r\n await store.updater.updateMany(del, add) // or a promise store.updater.update ?\r\n await store.fetcher.load(keyDoc)\r\n\r\n try {\r\n // get keyAcldoc\r\n const keyAclDoc = store.any($rdf.sym(keyDoc), $rdf.sym('http://www.iana.org/assignments/link-relations/acl'))\r\n if (!keyAclDoc) {\r\n throw new Error(`${keyDoc} ACL doc not found!`)\r\n }\r\n // delete READ only keyAclDoc. This is possible if the webId is an owner\r\n try {\r\n const response = await store.fetcher.webOperation('DELETE', keyAclDoc.value) // this may fail if webId is not an owner\r\n debug.log('delete ' + keyAclDoc.value + ' ' + response.status) // should test 404 and 2xx\r\n } catch (err) {\r\n if (err.response.status !== 404) { throw new Error(err) }\r\n debug.log('delete ' + keyAclDoc.value + ' ' + err.response.status) // should test 404 and 2xx\r\n }\r\n\r\n // create READ only ACL\r\n const aclBody = keyAclBody(keyDoc, me)\r\n await setAcl(keyDoc, aclBody)\r\n } catch (err) { throw new Error(err) }\r\n}\r\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cryptoKeyHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/cryptoKeyHelpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cryptoKeyHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/cryptoKeyHelpers.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,SAAS,UAAW,MAAM,WAStC,CAAA;AAED,wBAAsB,eAAe,CAAE,KAAK,EAAE,MAAM,+BAInD;AAED,eAAO,MAAM,UAAU,UAAW,MAAM,WASvC,CAAA;AAED,wBAAsB,gBAAgB,CAAE,KAAK,EAAE,MAAM,+BAIpD"}
|
|
@@ -16,6 +16,18 @@ var _signature = require("../chat/signature");
|
|
|
16
16
|
var _solidLogic = require("solid-logic");
|
|
17
17
|
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); }
|
|
18
18
|
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; }
|
|
19
|
+
// find podRoot from space:storage for subdomain/suffix podServers
|
|
20
|
+
/* export const podRoot = (webId: string) => {
|
|
21
|
+
await store.fetcher.load(webId)
|
|
22
|
+
const url = new URL(webId)
|
|
23
|
+
// find storage in webId
|
|
24
|
+
const storage = store.each(store.sym(webId), store.sym('http://www.w3.org/ns/pim/space#storage'))
|
|
25
|
+
const pod = storage.length === 1 ? storage : storage.find(node => url.origin === new URL(node.value).origin)
|
|
26
|
+
const podRoot = Array.isArray(pod) ? pod[0] : pod
|
|
27
|
+
if (!podRoot?.value) throw Error('No space:storage in ' + webId)
|
|
28
|
+
return podRoot.value
|
|
29
|
+
} */
|
|
30
|
+
|
|
19
31
|
var pubKeyUrl = function pubKeyUrl(webId) {
|
|
20
32
|
var url = new URL(webId);
|
|
21
33
|
// find storage in webId
|
|
@@ -25,7 +37,7 @@ var pubKeyUrl = function pubKeyUrl(webId) {
|
|
|
25
37
|
});
|
|
26
38
|
var podUrl = Array.isArray(pod) ? pod[0] : pod;
|
|
27
39
|
if (!(podUrl !== null && podUrl !== void 0 && podUrl.value)) throw Error('No space:storage in ' + webId);
|
|
28
|
-
var publicKeyUrl = podUrl.value + 'profile/keys/publicKey.ttl';
|
|
40
|
+
var publicKeyUrl = (podUrl === null || podUrl === void 0 ? void 0 : podUrl.value) + 'profile/keys/publicKey.ttl';
|
|
29
41
|
return publicKeyUrl;
|
|
30
42
|
};
|
|
31
43
|
exports.pubKeyUrl = pubKeyUrl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cryptoKeyHelpers.js","names":["debug","_interopRequireWildcard","require","_signature","_solidLogic","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","pubKeyUrl","webId","url","URL","storage","store","each","sym","pod","length","find","node","origin","value","podUrl","Array","isArray","Error","publicKeyUrl","exports","publicKeyExists","_x","_publicKeyExists","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","keyExists","abrupt","sent","stop","privKeyUrl","privateKeyUrl","privateKeyExists","_x2","_privateKeyExists","_callee2","_callee2$","_context2","_x3","_x4","_x5","_keyExists","_callee3","keyUrl","keyType","_err$response","data","contentType","response","_callee3$","_context3","fetcher","load","any","CERT","t0","status","webOperation","t1","log","requested","undefined"],"sources":["../../src/utils/cryptoKeyHelpers.ts"],"sourcesContent":["import * as debug from '../debug'\nimport { CERT } from '../chat/signature'\nimport { store } from 'solid-logic'\n\nexport const pubKeyUrl = (webId: string) => {\n const url = new URL(webId)\n // find storage in webId\n const storage = store.each(store.sym(webId), store.sym('http://www.w3.org/ns/pim/space#storage'))\n const pod = storage.length === 1 ? storage : storage.find(node => url.origin === new URL(node.value).origin)\n const podUrl = Array.isArray(pod) ? pod[0] : pod\n if (!podUrl?.value) throw Error('No space:storage in ' + webId)\n const publicKeyUrl = podUrl
|
|
1
|
+
{"version":3,"file":"cryptoKeyHelpers.js","names":["debug","_interopRequireWildcard","require","_signature","_solidLogic","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","pubKeyUrl","webId","url","URL","storage","store","each","sym","pod","length","find","node","origin","value","podUrl","Array","isArray","Error","publicKeyUrl","exports","publicKeyExists","_x","_publicKeyExists","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","keyExists","abrupt","sent","stop","privKeyUrl","privateKeyUrl","privateKeyExists","_x2","_privateKeyExists","_callee2","_callee2$","_context2","_x3","_x4","_x5","_keyExists","_callee3","keyUrl","keyType","_err$response","data","contentType","response","_callee3$","_context3","fetcher","load","any","CERT","t0","status","webOperation","t1","log","requested","undefined"],"sources":["../../src/utils/cryptoKeyHelpers.ts"],"sourcesContent":["import * as debug from '../debug'\nimport { CERT } from '../chat/signature'\nimport { store } from 'solid-logic'\n\n// find podRoot from space:storage for subdomain/suffix podServers\n/* export const podRoot = (webId: string) => {\n await store.fetcher.load(webId)\n const url = new URL(webId)\n // find storage in webId\n const storage = store.each(store.sym(webId), store.sym('http://www.w3.org/ns/pim/space#storage'))\n const pod = storage.length === 1 ? storage : storage.find(node => url.origin === new URL(node.value).origin)\n const podRoot = Array.isArray(pod) ? pod[0] : pod\n if (!podRoot?.value) throw Error('No space:storage in ' + webId)\n return podRoot.value\n} */\n\nexport const pubKeyUrl = (webId: string) => {\n const url = new URL(webId)\n // find storage in webId\n const storage = store.each(store.sym(webId), store.sym('http://www.w3.org/ns/pim/space#storage'))\n const pod = storage.length === 1 ? storage : storage.find(node => url.origin === new URL(node.value).origin)\n const podUrl = Array.isArray(pod) ? pod[0] : pod\n if (!podUrl?.value) throw Error('No space:storage in ' + webId)\n const publicKeyUrl = podUrl?.value + 'profile/keys/publicKey.ttl'\n return publicKeyUrl\n}\n\nexport async function publicKeyExists (webId: string) {\n // find publickey\n const publicKeyUrl = pubKeyUrl(webId)\n return await keyExists(webId, publicKeyUrl, 'PublicKey')\n}\n\nexport const privKeyUrl = (webId: string) => {\n const url = new URL(webId)\n // find storage in webId\n const storage = store.each(store.sym(webId), store.sym('http://www.w3.org/ns/pim/space#storage'))\n const pod = storage.length === 1 ? storage : storage.find(node => url.origin === new URL(node.value).origin)\n const podUrl = Array.isArray(pod) ? pod[0] : pod\n if (!podUrl?.value) throw Error('Expected space:storage in ' + webId)\n const privateKeyUrl = podUrl?.value + 'profile/keys/privateKey.ttl'\n return privateKeyUrl\n}\n\nexport async function privateKeyExists (webId: string) {\n // find privateKey\n const privateKeyUrl = privKeyUrl(webId)\n return await keyExists(webId, privateKeyUrl, 'PrivateKey')\n}\n\ntype KeyType = 'PublicKey' | 'PrivateKey'\n\nasync function keyExists (webId, keyUrl, keyType: KeyType) {\n try {\n await store.fetcher.load(keyUrl)\n const key = store.any(store.sym(webId), store.sym(CERT + keyType))\n return key?.value // as NamedNode\n } catch (err) {\n if (err?.response?.status === 404) { // If PATCH on some server do not all create intermediate containers\n try {\n // create privateKey resource\n const data = ''\n const contentType = 'text/turtle'\n const response = await store.fetcher.webOperation('PUT', keyUrl, {\n data,\n contentType\n })\n } catch (err) {\n debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + err)\n throw err\n }\n delete store.fetcher.requested[keyUrl] // delete cached 404 error\n return undefined\n }\n debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + err)\n throw err\n }\n}\n"],"mappings":"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"}
|
package/lib/versionInfo.js
CHANGED
|
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.versionInfo = void 0;
|
|
7
7
|
var versionInfo = {
|
|
8
|
-
buildTime: '2023-04-
|
|
9
|
-
commit: '
|
|
8
|
+
buildTime: '2023-04-30T22:04:09Z',
|
|
9
|
+
commit: 'eed9bea818c9a1a52b4631274b5251b239530355',
|
|
10
10
|
npmInfo: {
|
|
11
11
|
'solid-ui': '2.4.27',
|
|
12
12
|
npm: '8.19.4',
|
package/lib/versionInfo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versionInfo.js","names":["versionInfo","buildTime","commit","npmInfo","npm","node","v8","uv","zlib","brotli","ares","modules","nghttp2","napi","llhttp","openssl","cldr","icu","tz","unicode","ngtcp2","nghttp3","exports"],"sources":["../src/versionInfo.ts"],"sourcesContent":["export const versionInfo = {\n buildTime: '2023-04-
|
|
1
|
+
{"version":3,"file":"versionInfo.js","names":["versionInfo","buildTime","commit","npmInfo","npm","node","v8","uv","zlib","brotli","ares","modules","nghttp2","napi","llhttp","openssl","cldr","icu","tz","unicode","ngtcp2","nghttp3","exports"],"sources":["../src/versionInfo.ts"],"sourcesContent":["export const versionInfo = {\n buildTime: '2023-04-30T22:04:09Z',\n commit: 'eed9bea818c9a1a52b4631274b5251b239530355',\n npmInfo:\n{\n 'solid-ui': '2.4.27',\n npm: '8.19.4',\n node: '16.20.0',\n v8: '9.4.146.26-node.26',\n uv: '1.43.0',\n zlib: '1.2.11',\n brotli: '1.0.9',\n ares: '1.19.0',\n modules: '93',\n nghttp2: '1.47.0',\n napi: '8',\n llhttp: '6.0.10',\n openssl: '1.1.1t+quic',\n cldr: '41.0',\n icu: '71.1',\n tz: '2022f',\n unicode: '14.0',\n ngtcp2: '0.8.1',\n nghttp3: '0.7.0'\n}\n}\n"],"mappings":";;;;;;AAAO,IAAMA,WAAW,GAAG;EACzBC,SAAS,EAAE,sBAAsB;EACjCC,MAAM,EAAE,0CAA0C;EAClDC,OAAO,EACT;IACE,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE,QAAQ;IACbC,IAAI,EAAE,SAAS;IACfC,EAAE,EAAE,oBAAoB;IACxBC,EAAE,EAAE,QAAQ;IACZC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE,OAAO;IACfC,IAAI,EAAE,QAAQ;IACdC,OAAO,EAAE,IAAI;IACbC,OAAO,EAAE,QAAQ;IACjBC,IAAI,EAAE,GAAG;IACTC,MAAM,EAAE,QAAQ;IAChBC,OAAO,EAAE,aAAa;IACtBC,IAAI,EAAE,MAAM;IACZC,GAAG,EAAE,MAAM;IACXC,EAAE,EAAE,OAAO;IACXC,OAAO,EAAE,MAAM;IACfC,MAAM,EAAE,OAAO;IACfC,OAAO,EAAE;EACX;AACA,CAAC;AAAAC,OAAA,CAAAtB,WAAA,GAAAA,WAAA"}
|