NOTES:
Here's exactly what I did from start to finish in order to build a simple HTTPS client using openssl and Borland C++ Builder. Installing openssl is documented in INSTALL.W32, included in the source distribution, but I've documented my experience here.....
| #include 
          <openssl/crypto.h> #include <openssl/x509.h> #include <openssl/pem.h> #include <openssl/ssl.h> #include <openssl/err.h>  | 
      
 
          
           SOCKET sock;
           // build regular SOCK_STREAM sock and connect to server
           // ... (I'm not going into these details)
           // pretend sock is now connected....
           // here's the data items we'll use....
          char buf[1000];
           char request[1000];
           SSL_CTX *ctx;
           SSL *ssl;
           int err;
           // initialize SSL stuff
           //
           SSL_load_error_strings();
           SSL_library_init();
           // build the SSL objects...
           //
           ctx=SSL_CTX_new(SSLv2_client_method());
           ssl=SSL_new(ctx);          
           
           // assign the socket you created for SSL to use
           //
           SSL_set_fd(ssl, sock);
           // communicate!!
           /////////////////////////////////////////////
             err=SSL_connect(ssl);
             sprintf(request, 
                    "GET %s HTTP/1.0\r\nHost: %s\r\n\r\n","/" , 
                    "www.theserver.com");
             err=SSL_write(ssl, request, strlen(request));
             while(1)
             {
                int read_size;
                read_size=SSL_read(ssl, buf, sizeof(buf)-1);
                buf[read_size]='\0';
                if(read_size > 0)
               {
                     // I'm assuming you have a Memo object 
           |