Improving X.509 certificate validation errors


I’m the lead of a university project investigating (and improving) the usability of certificate validation errors. Our goal is to simplify the ecosystem by consolidating the errors and their documentation in one place, providing replicable example certificates for all validation errors and by explaining better what the individual errors mean. The project is live at

Now we are reaching out to library developers and users (you) to ask for feedback.

Currently, we base the system on OpenSSL errors (as it’s the most common). We have example certificates for 30+ OpenSSL errors and in-progress mapping for corresponding errors error for OpenSSL, GnuTLS, Botan and MbedTLS.
In the future, we plan the possibility of web reorganization based on the other libraries (currently, the web is organized by OpenSSL), adding the error frequencies based on IP-wide scans and elaborating on the consequences of individual errors.
Ultimately, we want to propose better (ideally user-tested) errors and their documentation. (Just recently, we made a survey among 180 developers regarding their error documentation preference with good reception).

As developers/users of TLS libraries, what do you think of the idea?

  • Which part(s) do you find the most/least useful?
  • Is there anything you see missing?
  • What are your thoughts on unifying the error taxonomy? (a very long-term goal, if at all possible)

During spring, we would like to start creating pull requests improving the documentation and error messages in some of the libraries. Would you welcome such contributions?

For transparency: My PhD is done at Masaryk University (Czech Republic) and I’m partially supported by Red Hat Czech.

Hi @mukrop
Thank you for your suggestion, and I apologize for delayed reply.

Would you be wiling to post this suggestion in our github repository?
We believe this will get more traction in the repository issues, and the development team is uch more active there.
Mbed TLS Support

Thanks for the suggestion!
I’ve moved the discussion there.