All the API's are belong to #include OpenSSL exposes just about everthing via public header files. Lots of the API probably should not be used outside of the library but we can't know for sure. We are slowly finding out - through constant integration testing with our ports tree. We would like to put the exposed API on a diet, to allow us to remove the unused stuff, especially the stuff that is potentially dangerous. For the moment we are being very cautious with this to ensure we remain compatible with the rest of the ecosystem out there.