MCPcopy Index your code
hub / github.com/mailvelope/mailvelope / encryptSyncMessage

Function encryptSyncMessage

src/modules/pgpModel.js:436–457  ·  view source on GitHub ↗
(key, changeLog, keyringId)

Source from the content-addressed store, hash-verified

434 * @return {Promise<Object, Error>} - the encrypted message and the own public key
435 */
436export async function encryptSyncMessage(key, changeLog, keyringId) {
437 let syncData = {};
438 syncData.insertedKeys = {};
439 syncData.deletedKeys = {};
440 const keyStore = (await getKeyringById(keyringId)).keystore;
441 keyStore.publicKeys.keys.forEach(pubKey => {
442 convertChangeLog(pubKey, changeLog, syncData);
443 });
444 keyStore.privateKeys.keys.forEach(privKey => {
445 convertChangeLog(privKey.toPublic(), changeLog, syncData);
446 });
447 for (const fingerprint in changeLog) {
448 if (changeLog[fingerprint].type === keyringSync.DELETE) {
449 syncData.deletedKeys[fingerprint] = {
450 time: changeLog[fingerprint].time
451 };
452 }
453 }
454 syncData = JSON.stringify(syncData);
455 const message = await createMessage({text: syncData});
456 return pgpEncrypt({message, encryptionKeys: key, signingKeys: key});
457}
458
459function convertChangeLog(key, changeLog, syncData) {
460 const fingerprint = key.getFingerprint();

Callers 2

pgpModel-test.jsFile · 0.90
uploadSyncMessageMethod · 0.90

Calls 1

convertChangeLogFunction · 0.85

Tested by

no test coverage detected