The vague error was the result of a nonresponse from an improperly formed ezic-gateway package post via ssl to the merchant gateway. ns_openssl 2.x expects some kind of ssl response from an ssl outbound post, and thus the vague error when there was no response.
I had a similar problem using ns_httpopen and trying to read from the channel, specifically trying to read graphics. What fixed the problem for me was giving read the value of the content-length header. Perhaps the connection was confused about the EOF character so it kept trying to read past the end of the file.