Sure I know that x509 is international standard. And that HTTPS uses TLS.
This
is not my point, my point is that when we use HTTPS the developer
delegates certificates verification to the plateform he is running on,
so developer don't have to bother about it, making the implementation
safer and easier.
On the other hand, if you charge the
developer (and not the plateform) to check certificate validity, it
means that you have to develop a different codebase for all plateform
you are targeting, because each plateform store trusted root certificate
in a different manner with different APIs, and also have different
types representing a X509 Certificate.
So, let's say I
want to target IOS + WP + Android + WinRT + desktop win, I need to
develop 4 times chain verification and certificate parsing. (Because I
can't verify a certificate if it is not in the specific type of the
underlying plateform)
And since it would take too much time to do that, I end up delegating parsing and trust verification to a third party service.