MCPcopy
hub / github.com/mailvelope/mailvelope / updateKeyBinding

Function updateKeyBinding

src/modules/keyBinding.js:28–45  ·  view source on GitHub ↗
(keyring, signerEmail, signatures)

Source from the content-addressed store, hash-verified

26 * @param {Array<{valid, created, fingerprint}>} signatures
27 */
28export async function updateKeyBinding(keyring, signerEmail, signatures) {
29 if (!signerEmail) {
30 return;
31 }
32 const validSig = signatures.filter(sig => sig.valid === true);
33 if (!validSig.length) {
34 return;
35 }
36 const {fingerprint, created} = validSig[0];
37 const last_seen = created.getTime();
38 const keyBindingMap = await getKeyringAttr(keyring.id, KEY_BINDING) || {};
39 const keyBinding = keyBindingMap[signerEmail];
40 if (keyBinding && keyBinding.last_seen >= last_seen) {
41 return;
42 }
43 keyBindingMap[signerEmail] = {fingerprint, last_seen};
44 await setKeyringAttr(keyring.id, {[KEY_BINDING]: keyBindingMap});
45}
46
47export async function getKeyBinding(keyring, email) {
48 const keyBindingMap = await getKeyringAttr(keyring.id, KEY_BINDING) || {};

Callers 3

decryptMessageFunction · 0.90
verifyMessageFunction · 0.90
verifyDetachedSignatureFunction · 0.90

Calls 2

getKeyringAttrFunction · 0.90
setKeyringAttrFunction · 0.90

Tested by

no test coverage detected