Make isValid*KeyPacket inner functions
This commit is contained in:
parent
bbcdacef8d
commit
ac6b57781b
40
src/key.js
40
src/key.js
|
@ -283,17 +283,6 @@ async function getLatestValidSignature(signatures, primaryKey, dataToVerify, dat
|
||||||
return signature;
|
return signature;
|
||||||
}
|
}
|
||||||
|
|
||||||
function isValidSigningKeyPacket(keyPacket, signature) {
|
|
||||||
if (!signature.verified || signature.revoked !== false) { // Sanity check
|
|
||||||
throw new Error('Signature not verified');
|
|
||||||
}
|
|
||||||
return keyPacket.algorithm !== enums.read(enums.publicKey, enums.publicKey.rsa_encrypt) &&
|
|
||||||
keyPacket.algorithm !== enums.read(enums.publicKey, enums.publicKey.elgamal) &&
|
|
||||||
keyPacket.algorithm !== enums.read(enums.publicKey, enums.publicKey.ecdh) &&
|
|
||||||
(!signature.keyFlags ||
|
|
||||||
(signature.keyFlags[0] & enums.keyFlags.sign_data) !== 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns last created key or key by given keyId that is available for signing and verification
|
* Returns last created key or key by given keyId that is available for signing and verification
|
||||||
* @param {module:type/keyid} keyId, optional
|
* @param {module:type/keyid} keyId, optional
|
||||||
|
@ -324,20 +313,18 @@ Key.prototype.getSigningKey = async function (keyId=null, date=new Date(), userI
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
};
|
|
||||||
|
|
||||||
function isValidEncryptionKeyPacket(keyPacket, signature) {
|
function isValidSigningKeyPacket(keyPacket, signature) {
|
||||||
if (!signature.verified || signature.revoked !== false) { // Sanity check
|
if (!signature.verified || signature.revoked !== false) { // Sanity check
|
||||||
throw new Error('Signature not verified');
|
throw new Error('Signature not verified');
|
||||||
}
|
}
|
||||||
return keyPacket.algorithm !== enums.read(enums.publicKey, enums.publicKey.dsa) &&
|
return keyPacket.algorithm !== enums.read(enums.publicKey, enums.publicKey.rsa_encrypt) &&
|
||||||
keyPacket.algorithm !== enums.read(enums.publicKey, enums.publicKey.rsa_sign) &&
|
keyPacket.algorithm !== enums.read(enums.publicKey, enums.publicKey.elgamal) &&
|
||||||
keyPacket.algorithm !== enums.read(enums.publicKey, enums.publicKey.ecdsa) &&
|
keyPacket.algorithm !== enums.read(enums.publicKey, enums.publicKey.ecdh) &&
|
||||||
keyPacket.algorithm !== enums.read(enums.publicKey, enums.publicKey.eddsa) &&
|
|
||||||
(!signature.keyFlags ||
|
(!signature.keyFlags ||
|
||||||
(signature.keyFlags[0] & enums.keyFlags.encrypt_communication) !== 0 ||
|
(signature.keyFlags[0] & enums.keyFlags.sign_data) !== 0);
|
||||||
(signature.keyFlags[0] & enums.keyFlags.encrypt_storage) !== 0);
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns last created key or key by given keyId that is available for encryption or decryption
|
* Returns last created key or key by given keyId that is available for encryption or decryption
|
||||||
|
@ -371,6 +358,19 @@ Key.prototype.getEncryptionKey = async function(keyId, date=new Date(), userId={
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
|
function isValidEncryptionKeyPacket(keyPacket, signature) {
|
||||||
|
if (!signature.verified || signature.revoked !== false) { // Sanity check
|
||||||
|
throw new Error('Signature not verified');
|
||||||
|
}
|
||||||
|
return keyPacket.algorithm !== enums.read(enums.publicKey, enums.publicKey.dsa) &&
|
||||||
|
keyPacket.algorithm !== enums.read(enums.publicKey, enums.publicKey.rsa_sign) &&
|
||||||
|
keyPacket.algorithm !== enums.read(enums.publicKey, enums.publicKey.ecdsa) &&
|
||||||
|
keyPacket.algorithm !== enums.read(enums.publicKey, enums.publicKey.eddsa) &&
|
||||||
|
(!signature.keyFlags ||
|
||||||
|
(signature.keyFlags[0] & enums.keyFlags.encrypt_communication) !== 0 ||
|
||||||
|
(signature.keyFlags[0] & enums.keyFlags.encrypt_storage) !== 0);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue
Block a user