(chibi ssl)

Basic bindings for establishing SSL connections.

(ssl-method protocol [server?])

A utility to generate the appropriate method for the protocol, as a client unless the optional server? is true. Protocol should be one of the symbols 'sslv2-or-v3, 'sslv2, 'sslv3 or 'tls.

(ssl-ctx-new protocol [server?])

A wrapper around SSL_CTX_new for the given protocol, as symbol as in ssl-method, setting SSL_MODE_ENABLE_PARTIAL_WRITE and SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER by default.

(ssl-new x . o)

Wrapper around SSL_new. Creates a new SSL structure which is needed to hold the data for a TLS/SSL connection. Takes settings from an ssl-context, which can either be provided directly as x, or created implicitly using the same signature as ssl-ctx-new.

(ssl-make-i/o-ports ssl fd in out)

Given the ssl context ssl, as created with ssl-new, establishes an SSL connection on ports in and out from file descriptor fd and returns a list of two new ports, the wrapped input and output of the SSL connection.

(ssl-method? obj)

(SSLv23_server_method)

(SSLv23_client_method)

(SSLv2_server_method)

(SSLv2_client_method)

(SSLv3_server_method)

(SSLv3_client_method)

(TLSv1_server_method)

(TLSv1_client_method)

(ssl-context? obj)

(ssl-ctx-set-mode! SSL_CTX long)

(ssl? obj)

(ssl-set-fd! SSL int)

(ssl-do-handshake SSL)

(ssl-shutdown SSL)

(ssl-write SSL bytevector int)

(ssl-read SSL bytevector int)