Hi David thanks very much for the reply. Your response has actually provided me the insight in to the solution that I was looking for. I actually wnted to replace the socket calls with the bios abstracted on memory buffers.
Regards, Prashanth. On Fri, Sep 26, 2008 at 8:34 PM, David Schwartz <[EMAIL PROTECTED]>wrote: > > > > Hi SSL experts, > > I am using the s_client.c and the s_server.c for my ssl client and > > server. I need to find the socket calls such as send and recv. ie > > SSL_write( ), SSL_read( ), bio_read( ), bio( ) write etc will > > finally have to make a call to the socket calls such as send and > > recv as I guess. I need to access these socket calls. But I dont > > know how to find them. Can anyone please could help me? > > > Thanks, > > Prashanth > > Is your question, "How can I use OpenSSL but not have it do the socket > operations?" If so, look into "bio pairs". The 'ssltest.c' program in the > 'ssl' directory is an example of how to do this. > > It looks like this: > > Other SSL connection <-> IO bio <-> SSL state <-> SSL bio <-> Application > > And the terms means: > > Other SSL connection: The other end of the SSL connection. > IO bio: Whatever you have to do to act like a socket connected to the other > SSL connection. > SSL state: The SSL connection on your end. > SSL bio: The buffer between the SSL engine and the application. > Application: The part that sends and receives plaintext that needs to be > exchanged with the other end. > > Just remember, if you use BIO pairs, there are four things you have to do: > > 1) If you receive anything from the other SSL endpoint, you need to give it > to the IO BIO. > > 2) If any data appears on the IO BIO, you have to send it to the other SSL > endpoint. > > 3) If your application wants to send anything to the other SSL endpoint, > you > need to give it to the SSL bio. > > 4) If any data appears on the SSL bio, you need to process it as received > data. > > Do not assume that these operations will associate. That is, do not assume > that just because you received data from the other SSL endpoint and gave it > to the IO BIO, data will appear on the SSL bio. > > In this case, OpenSSL manages the SSL connection as a state machine hooked > up to two BIOs. You are responsible for sending to and receiving from both > BIOs as the SSL engine operates between them. > > DS > > > ______________________________________________________________________ > OpenSSL Project http://www.openssl.org > User Support Mailing List openssl-users@openssl.org > Automated List Manager [EMAIL PROTECTED] >