Don't use assert for handling errors
Put OpenSSL error strings in exceptions
Handle multiple errors on the stack