Table of Contents


sslc - routines useful for SSL clients


const char *setMyId(const char *myname)
int    sslc_init(const char *cert_file,
       const char *key_file,
       const char *cipher_list,
       int verify_flag, int flags)
int    sslc_start_cb(int fd, int active,
       int flags, int (*cb)(), int vf)
int    sslc_start(int fd, int active, int flags)


These routines are intended for use by SSL based clients. Routines which are shared between clients and servers are documented in sslfd(3).

setMyId() should be called before anything else, as it sets the prompt that SSLeay will use to prompt for passwords. The aim is that the client will tell the user what its name and process id are so that the user knows to ignore any important message that does not include that tag - such as a prompt for their certificate password.

A typical client then calls:

sslc_init(cert_file, key_file, cipher_list, verify_flag, init_flags);

which calls

ssl_init(cert_file, key_file, cipher_list, verify_flag, verify_cb, log_lev, init_flags):

and provides appropriate callback and log_lev arguments. The client can then call one of:

sslc_start(sock, active, flags)
sslc_start_cb(sock, active, flags, verify_cb,
ssl_start_cb(sock, log_lev, active, verify_cb,

The only feature that the sslc_start() routines have over ssl_start_cb() is that if bit one of flags is set, they issue a status message indicating that SSL is established and which cipher is being used.


ssld(3), ssl_rcmd(3), ssl(3), netio(3).


The current version of SSLeay can be obtained from:

The SSLeay FAQ by Tim Hudson <> can be found at


Simon J. Gerraty <>

Table of Contents