wbond / certvalidator

Python library for validating X.509 certificates and paths
MIT License
107 stars 31 forks source link

Potentially anomalous path-building results #47

Open woodruffw opened 5 months ago

woodruffw commented 5 months ago

Hi there! I'm opening this to help root-cause a handful of anomalous path-building results observed with certvalidator, which we found with x509-limbo.

As a disclaimer: many of these are likely to be non-issues from certvalidator's perspective, so please don't interpret this issue as a demand or expectation for everything on the linked results page to be fixed. X.509 validators have a huge range of behaviors in practice and many of the failures are either due to "pedantic" readings of RFC 5280 or explicitly unsupported features (e.g. Name Constraints, in certvalidator's case).

There are, however, some results for which certvalidator is an outlier or otherwise should probably consider some changes. A non-exhaustive sampling:

There are others as well, but these ones stood out as initial candidates for fixes.

Please let me know if there's any other information I can provide, or if I can help in any way! I'm not super familiar with certvalidator's internals, but I may be able to help resolve some of these with some guidance on the codebase 🙂

woodruffw commented 5 months ago

And for context, here's a similar issue we filed with another X.509 validator (Go's crypto/x509): https://github.com/golang/go/issues/65085.