Hello there,
I am new to GnuPG and have been gradually incorporating it into my workflow for securing communications and managing cryptographic keys. I am working on several projects; each with its own set of collaborators and security requirements.
As my involvement in these projects grows; I find myself in need of some advice on best practices for managing multiple keys effectively.
Is it advisable to use separate key pairs for each project; or is it generally acceptable to use a single key pair across multiple projects? What are the pros and cons of each approach?
What are the recommended methods for securely storing multiple private keys? I am aware of hardware security modules (HSMs) and USB security tokens; but I am curious about any other strategies or tools that the community might recommend.
How should I handle key expiration and revocation when managing multiple keys? Should I set a shorter expiration date for keys used in more transient projects? How do I efficiently manage the process of renewing and distributing updated keys to collaborators?
What are the best practices for backing up multiple keys to ensure they can be recovered in case of loss or hardware failure? Are there specific tools or techniques that the community finds particularly effective?
Also, I have gone through this post; https://forum.gnupg.org/t/issue-with-encryption-and-multiple-keys-mlops/ which definitely helped me out a lot.
Are there any scripts or tools that can help automate the process of key management, especially when dealing with multiple projects? I am particularly interested in solutions that can integrate with CI/CD pipelines.
Thank you in advance for your help and assistance.