> we weren't compiling with OPENSSL_NO_FP_API or OPENSSL_NO_STDIO (and hence why we were seeing the prompt right?)

Right.  My point was that relying on the default implementation means more work when we turn on those defines. :-)

> I also figure that this callback can be passed to all the other pem_read* functions to prevent dropping to a prompt although I think this should be done separately from this PR?

You can do it in separate commits if that is what you mean, doesn't have to be a separate PR.