The source project of this merge request has been removed.
Feat: regenerate key and decryption interoperability
-
Key regeneration (see also !46 (closed)):
- the current key pair is extended for 1 day if already expired
- the current private key is deactivated, the public key removed and a new key pair is generated
- the new key pair is signed with the old key pair
- all public keys in the storage are reset to have the flag 'sign_used' to be False
-
Decryption interoperability:
- get_key returns the active key and if queried, will return only one private inactive key that is the key expiring last among all inactive keys... although all private keys are kept and not deleted.
- If decryption fails with the current active key, then it is tried with the inactive key, if there is one.