Page MenuHome GnuPG

WoT: adding a marginal trustsig reduces the validity of a downstream certificate
Open, Needs TriagePublic

Description

Heiko Schaefer suggested to me that there was some strange things happening in GnuPG's "Web of Trust" calculations.

Running the above script we see:

$ ./wot-strangeness
: Alice trust-signs   Bob with     full (depth 2)
:   Bob trust-signs Carol with     full (depth 1)
:  Bill trust-signs Carol with marginal (depth 1)
: Carol  certifies  Dave

Alice's view of Dave:
pub   ed25519 2025-04-16 [SC] [expires: 2028-04-15]
      A4D12801C5F7AA0F815B04B1207C982395DCA708
uid           [  full  ] Dave

: Alice trust-signs  Bill with marginal (depth 2)

Alice's revised view of Dave:
pub   ed25519 2025-04-16 [SC] [expires: 2028-04-15]
      A4D12801C5F7AA0F815B04B1207C982395DCA708
uid           [marginal] Dave

$ 

Specifically: Alice tsigning Bill *reduces* her confidence in the validity of Dave's certificate. How is it possible that adding a trust-signature would reduce validity?

Before that final tsign, the graph looks like this:

      ⓕ2    ⓕ1
Alice —→ Bob —→ Carol → Dave [full]
              🡕ⓜ1
         Bill

and Dave's certificate is considered fully valid.

But after Alice adds the marginal tsig to Bill, Dave's certificate is only marginally valid:

      ⓕ2    ⓕ1
Alice —→ Bob —→ Carol → Dave [marginal]
  ⓜ2 🡖        🡕ⓜ1
         Bill

What's going on here? Is there something i'm misunderstanding about how GnuPG evaluates marginal trust signatures?

Details

Version
2.4.7