> 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]

Reply via email to