support encryption subkeys with future signature dates
This commit is contained in:
@@ -18,6 +18,7 @@ CREATE TABLE IF NOT EXISTS keys (
|
||||
is_secure INTEGER AS Boolean NOT NULL,
|
||||
creation INTEGER NOT NULL,
|
||||
expiry INTEGER,
|
||||
validFrom INTEGER NOT NULL,
|
||||
PRIMARY KEY(master_key_id, rank),
|
||||
FOREIGN KEY(master_key_id) REFERENCES
|
||||
keyrings_public(master_key_id) ON DELETE CASCADE
|
||||
@@ -27,8 +28,8 @@ insertKey:
|
||||
INSERT INTO keys (
|
||||
master_key_id, rank, key_id, key_size, key_curve_oid, algorithm, fingerprint,
|
||||
can_certify, can_sign, can_encrypt, can_authenticate,
|
||||
is_revoked, has_secret, is_secure, creation, expiry
|
||||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);
|
||||
is_revoked, has_secret, is_secure, creation, expiry, validFrom
|
||||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);
|
||||
|
||||
updateHasSecretByMasterKeyId:
|
||||
UPDATE keys
|
||||
@@ -91,7 +92,7 @@ SELECT master_key_id
|
||||
WHERE key_id = ?;
|
||||
|
||||
selectSubkeysByMasterKeyId:
|
||||
SELECT master_key_id, rank, key_id, key_size, key_curve_oid, algorithm, fingerprint, can_certify, can_sign, can_encrypt, can_authenticate, is_revoked, has_secret, is_secure, creation, expiry
|
||||
SELECT master_key_id, rank, key_id, key_size, key_curve_oid, algorithm, fingerprint, can_certify, can_sign, can_encrypt, can_authenticate, is_revoked, has_secret, is_secure, creation, expiry, validFrom
|
||||
FROM keys
|
||||
WHERE master_key_id = ?
|
||||
ORDER BY rank ASC;
|
||||
@@ -106,6 +107,12 @@ SELECT fingerprint
|
||||
FROM keys
|
||||
WHERE key_id = ?;
|
||||
|
||||
selectEffectiveEncryptionKeyIdsByMasterKeyId:
|
||||
SELECT key_id
|
||||
FROM keys
|
||||
WHERE is_revoked = 0 AND is_secure = 1 AND ( expiry IS NULL OR expiry >= strftime('%s', 'now') ) AND validFrom <= strftime('%s', 'now')
|
||||
AND can_encrypt = 1 AND master_key_id = ?;
|
||||
|
||||
selectEffectiveSignKeyIdByMasterKeyId:
|
||||
SELECT key_id
|
||||
FROM keys
|
||||
|
||||
Reference in New Issue
Block a user