When attempting to verify Paypal's cert for EV, I was calling PKIX_VerifyCert.
Even when called with minimal options, the function returned a verification failure.
It turns out the implementation of PKIX_VerifyCert missed to pass on the requested usage to the context object... What an obvious and unnecessary mistake. It took me 1.5 days of tracing through libpkix internals to understand where this failed.
Created attachment 288549 [details] [diff] [review]
Comment on attachment 288549 [details] [diff] [review]
> What an obvious and unnecessary mistake.
As opposed to a necessary mistake? :)
(In reply to comment #4)
> > What an obvious and unnecessary mistake.
> As opposed to a necessary mistake? :)
It was obvious that this function must care for the usage parameter, which we changed in the design phase to be an always-required parameter. It frustrated me to see it got silently ignored and that I wasted so much time to finding this . Sorry for ranting, I felt better afterwards :-)
I'm making mistakes, too, so I'll shut up now :-)