NextPrevUpTopContentsIndex

20.3.3 Direct calls to OpenSSL

The following functions map directly to the OpenSSL functions. Check the OpenSSL documentation for details.

Where an OpenSSL function takes an SSL* or SSL_CTX*, the Lisp function's argument must be a foreign pointer of type ssl-pointer or ssl-ctx-pointer . Where an OpenSSL function takes a char* or int , the Lisp function's argument must be a string or integer. Where an OpenSSL function takes other kinds of pointers, the Lisp function's argument must be a foreign pointer. The return values are integers or foreign pointers.

If an error occurs in one of these functions, an error code is returned. They do not signal an Common Lisp conditions and so you should check the return value carefully.

 

 

Direct calls to OpenSSL

ssl-ctx-ctrl

ssl-ctrl

ssl-ctx-use-certificate-chain-file

ssl-ctx-use-certificate-file

ssl-use-certificate-file

ssl-ctx-use-rsaprivatekey-file

ssl-ctx-use-privatekey-file

ssl-use-rsaprivatekey-file

ssl-use-privatekey-file

ssl-ctx-set-client-ca-list

ssl-ctx-add-client-ca

ssl-set-client-ca-list

ssl-add-client-ca

ssl-load-client-ca-file

ssl-ctx-load-verify-locations

ssl-ctx-set-options

ssl-set-options

ssl-ctx-get-options

ssl-get-options

ssl-ctx-set-mode

ssl-set-mode

ssl-ctx-get-mode

ssl-get-mode

ssl-session-reused

ssl-num-renegotiations

ssl-clear-num-renegotiations

ssl-total-renegotiations

ssl-need-tmp-rsa

ssl-ctx-need-tmp-rsa

ssl-ctx-set-tmp-rsa

ssl-ctx-set-tmp-dh

ssl-ctx-add-extra-chain-cert

ssl-set-tmp-rsa

ssl-set-tmp-dh

ssl-ctx-sess-set-cache-size

ssl-ctx-sess-get-cache-size

ssl-ctx-sess-set-cache-mode

ssl-ctx-sess-get-cache-mode

ssl-ctx-set-read-ahead

ssl-ctx-get-read-ahead

ssl-ctx-set-max-cert-list

ssl-ctx-get-max-cert-list

ssl-set-max-cert-list

ssl-get-max-cert-list

If you need OpenSSL functionality that is not provided here, you can define your own foreign functions via the LispWorks Foreign Language Interface.

If you do this, an important point to note is that on Windows, the :calling-convention must be :cdecl (it defaults to :stdcall ). If using OpenSSL suddenly causes mysterious crashes, the calling-convention in your foreign function definitions is the first thing to check.


LispWorks User Guide - 21 Jul 2006

NextPrevUpTopContentsIndex