Signatures on UIDs are used to acknowledge trust on other people's identity. If you sign another key's UID, you acknowledge you're sure about this identity.
Signatures on keys are used to bind subkeys and UIDs to your primary key. They're not issued to other keys.
Local signatures are signatures that will not get exported. For example, when syncing a key with keyservers or exporting using
gpg --export. They're helpful if
- You want to put trust on a key, but not tell anybody about it (eg. you're afraid of government knowing about some relation)
- You want to put trust on a key, but aren't too sure about it (eg. for private package repositories -- you will realize when a key changes, but haven't been able to verify it in a secure manner)
OpenPGP/GnuPG trust model: If you want to make use of the web of trust (thus also have GnuPG trust the identities of the "friends of your friends"), you need to give another kind of trust into your friends: trust in their ability and reliability for verifying other's identities. This can be changed by using the
trust command in