Path building should exclude candidates with the same (Subject + SPKI) |
||
Issue descriptionRight now, CertIssuersIter won't add new discovered issuers if the new certificate is present in the current certificate path. It does this by comparing the DER-encoded certificates in the current chain with those newly-discovered issuer certificates, and if they're a match, won't add. This logic is at https://cs.chromium.org/chromium/src/net/cert/internal/path_builder.cc?l=203&rcl=146f80904172432a90a2a8843e8ccc13a9928773 Rather than comparing based on full certificate, we should be comparing based on the (Subject + SPKI) tuple. That's because we should never see the same (Subject + SPKI) tuple duplicated in the current chain, as it would mean we've built a longer chain where the second instance would have sufficed as a shorter chain. This is covered at greater length in https://tools.ietf.org/html/rfc4158#section-2.4.2 to explain the reason for that. A similar issue was recently discussed in the context of Go - https://github.com/golang/go/issues/29233
,
Dec 14
Oh, thanks! I missed that logic. It was the context of AGL's CL that got me looking at this and thinking about it. In that case, I'm going to mark this as WontFix and apologize for the noise. Not checking during path building is definitely consistent with https://tools.ietf.org/html/rfc4158#section-3.2 , and the only other consideration might be https://tools.ietf.org/html/rfc4158#section-3.5.6 |
||
►
Sign in to add a comment |
||
Comment 1 by mattm@chromium.org
, Dec 14