I know that in local PGP keyrings, there's an idea of trust: I trust this key ultimately, this key less than that, etc.

Is this web-of-trust exportable? For example, if I trust someone@openssl.org and they trust someoneelse@openssl.org, can I import their web of trust?


Someone could send you their trustdb, but I'm not sure if you can merge them. (I've only backed up my trustdb so I wouldn't have to reset trust levels on the keys I trust.)

Regardless, it sounds like what you're after is transitivity: that if you trust A and A trusts B, then you trust B. That exists, but only to a single level.

When you mark that you trust a key, you're indicating how much you trust that key to verify other keys. (Usually, how much you trust the owner of that key to make certifications about the legitimacy of other keys.) The GNU Privacy Handbook describes the OpenPGP trust model and how trusting a key allows you to ascertain the validity of the keys in your keyring. At the bottom, there's a graph and example that's particularly helpful. Note that Alice trusts a handful of keys, and then that trust is used to ascertain the validity of keys signed by them.

So, in your original example, if you (fully) trust someone@openssl.org and they've signed the key for someoneelse@openssl.org, then the pgp trust model considers someoneelse@openssl.org a valid key, but does not use signatures made by that key for any validity calculations. (Unless, of course, you've trusted that key as well.)

Note that marginal trust requires 2 trust paths to a key to consider it valid: this is useful for people who are not extremely careful about the keys they sign, or even if you're just paranoid and want 2 sources of truth.


There are two kinds of trust required: trust in the authenticity of others (named signing in OpenPGP) and trust in a kind of "vouching capabilities", so if you trust in signatures somebody else issued (named trust in OpenPGP).

A Trust Example

A simple example can make these categories clearer: there are some people of certain authority in the free software world, consider Linus Torvalds, Richard Stallman, or the PGP "inventor" Phil Zimmermann. Very likely you never met them for key signing, but still you might put trust in their signatures – you read of their qualities, their objectives. If you trust their keys (gpg --edit-key [key-id], then trust), nothing is won yet. Anybody could have uploaded a key with their name. But if you can create some kind of signature and trust chain to one of them, you'd be able to verify all keys they signed. Maybe you once signed a Debian developer who met Torvalds for key exchange?

Public and Private Data

Signatures are public. They're usually referred to if somebody's talking about the (OpenPGP) Web of Trust. You can either download all (publically known) signatures on a given key using gpg --recv-keys [key-id] from some key server, or even fetch a full key server dump (in 2014, about 6GB). keysigning.org lists a few of mirrors.

Trust is maintained locally and not shared on key servers. Whom you trust is much more sensitive. Signing somebody might occur with anybody you met on a conference or wherever, it does not necessarily reveal your social network. Trust would – and a friend of yours might criticize you didn't trust him. You might like him, but is he doing a good job at verifying IDs?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.