How do I manage multiple e-mail addresses with GnuPG?

Solution 1:

OpenPGP has a primary key to glue "everything" together, namely subkeys and user IDs, which are two totally different concepts. For further reference in addition to this answer, you might want to have a look at a related, but not duplicate question I answered "How many GPG keys should I make" on the Information Security Stack Exchange, where I discussed reasons for and against having multiple primary keys.

Subkeys are used to limit possible breaches of the private key; they're not linked at all to mail addresses (although in some scenarios this would be something favorable). While the primary key is the entity that manages all the subkeys and user IDs (and certifications/signatures on other keys), consider subkeys the entity used in day to day work (like signing and encrypting messages and documents).

Each primary key can also have multiple user IDs. So one primary key can have different mail addresses attached, like your personal address, your work contact, the one you have at the political party. Consider a primary key an identity in the web of trust; if you want to split those roles, you'll have to use different key pairs. One example to do so might be a legislation enforcing you to hand over the "business" private keys to your employer if leaving the company (you wouldn't want to hand over your "private" private keys), or when having a pseudonymous OpenPGP key (which you don't want to have linked to your real identity).

So, when I send mail from my second account and sign it, I would not want it to show my primary email, but rather my second one. [...] Do I need to have multiple master keys for that or can I use one and add subkeys to it that have their own email addresses attached?

Due to technical limitations you cannot enforce a given user ID being displayed, nor can you bind user IDs to subkeys. If this is important, create multiple primary keys.