The cl+ssl Reference Manual

This is the cl+ssl Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 14:55:02 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 cl+ssl

Common Lisp interface to OpenSSL.

Author

Eric Marsden, Jochen Schmidt, David Lichteblau

License

MIT

Dependencies
  • cl+ssl/config (system).
  • cffi (system).
  • trivial-gray-streams (system).
  • flexi-streams (system).
  • bordeaux-threads (system).
  • trivial-garbage (system).
  • uiop (system).
  • usocket (system).
  • alexandria (system).
  • trivial-features (system).
  • sb-posix (system)., for feature :sbcl
  • sb-bsd-sockets (system)., for feature (:and :sbcl :win32)
Source

cl+ssl.asd.

Child Component

src (module).


2.2 cl+ssl/config

Author

Eric Marsden, Jochen Schmidt, David Lichteblau

License

MIT

Dependency

cffi (system).

Source

cl+ssl.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


3.1 cl+ssl/src

Source

cl+ssl.asd.

Parent Component

cl+ssl (system).

Child Components

3.2 cl+ssl/config/src

Source

cl+ssl.asd.

Parent Component

cl+ssl/config (system).

Child Component

config.lisp (file).


4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 cl+ssl/cl+ssl.asd

Source

cl+ssl.asd.

Parent Component

cl+ssl (system).

ASDF Systems

4.1.2 cl+ssl/src/package.lisp

Source

cl+ssl.asd.

Parent Component

src (module).

Packages

cl+ssl.


4.1.3 cl+ssl/src/reload.lisp

Dependency

package.lisp (file).

Source

cl+ssl.asd.

Parent Component

src (module).

Internals

4.1.4 cl+ssl/src/ffi.lisp

Dependency

reload.lisp (file).

Source

cl+ssl.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.5 cl+ssl/src/bio.lisp

Dependency

ffi.lisp (file).

Source

cl+ssl.asd.

Parent Component

src (module).

Internals

4.1.6 cl+ssl/src/conditions.lisp

Dependency

bio.lisp (file).

Source

cl+ssl.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.7 cl+ssl/src/ssl-funcall.lisp

Dependency

conditions.lisp (file).

Source

cl+ssl.asd.

Parent Component

src (module).

Internals

4.1.8 cl+ssl/src/init.lisp

Dependency

ssl-funcall.lisp (file).

Source

cl+ssl.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.9 cl+ssl/src/ffi-buffer-all.lisp

Dependency

init.lisp (file).

Source

cl+ssl.asd.

Parent Component

src (module).


4.1.10 cl+ssl/src/ffi-buffer.lisp

If Feature

(:not :clisp)

Dependency

ffi-buffer-all.lisp (file).

Source

cl+ssl.asd.

Parent Component

src (module).

Internals

4.1.11 cl+ssl/src/ffi-buffer-clisp.lisp

If Feature

:clisp

Dependencies
Source

cl+ssl.asd.

Parent Component

src (module).


4.1.12 cl+ssl/src/streams.lisp

Dependencies
Source

cl+ssl.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.13 cl+ssl/src/x509.lisp

Dependency

streams.lisp (file).

Source

cl+ssl.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.14 cl+ssl/src/random.lisp

Dependency

x509.lisp (file).

Source

cl+ssl.asd.

Parent Component

src (module).

Public Interface

random-bytes (function).


4.1.15 cl+ssl/src/context.lisp

Dependency

random.lisp (file).

Source

cl+ssl.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.16 cl+ssl/src/verify-hostname.lisp

Dependency

context.lisp (file).

Source

cl+ssl.asd.

Parent Component

src (module).

Public Interface

verify-hostname (function).

Internals

4.1.17 cl+ssl/config/src/config.lisp

Source

cl+ssl.asd.

Parent Component

src (module).

Packages

cl+ssl/config.

Public Interface
Internals

5 Packages

Packages are listed by definition order.


5.1 cl+ssl/config

By default cl+ssl searches for OpenSSL shared libraries
in platform-dependent default locations.

To explicitly specify what to load, use the cl+ssl/config
module before loading cl+ssl:

(ql:quickload "cl+ssl/config")
(cl+ssl/config:define-libssl-path "/opt/local/lib/libssl.dylib") (cl+ssl/config:define-libcrypto-path "/opt/local/lib/libcrypto.dylib") (ql:quickload "cl+ssl")

The PATH parameter of those two macros is not evaluated.
This is dictated by CFFI. So either use a literal
or compute it at the macro-expansion time.

You may need to rebuild cl+ssl for the changed paths to have effect. This depends on CFFI and the FFI implementation of your Lisp.

Source

config.lisp.

Use List

common-lisp.

Public Interface
Internals

5.2 cl+ssl

Source

package.lisp.

Use List
  • common-lisp.
  • trivial-gray-streams.
Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


6.1 Public Interface


6.1.1 Constants

Constant: +ssl-op-no-sslv2+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-op-no-sslv3+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-op-no-tlsv1+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-op-no-tlsv1-1+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-op-no-tlsv1-2+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-sess-cache-both+

Enable both +SSL-SESS-CACHE-CLIENT+ and +SSL-SESS-CACHE-SERVER+ at the same time.

Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-sess-cache-client+

Client sessions are added to the session cache.
As there is no reliable way for the OpenSSL library to know whether a session should be reused or which session to choose (due to the abstract BIO layer the SSL engine does not have details about the connection), the application must select the session to be reused by using the SSL-SET-SESSION function. This option is not activated by default.

Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-sess-cache-no-auto-clear+

Normally the session cache is checked for expired sessions every 255 connections using the SSL-CTX-FLUSH-SESSIONS function. Since this may lead to a delay which cannot be controlled, the automatic flushing may be disabled and SSL-CTX-FLUSH-SESSIONS can be called explicitly by the application.

Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-sess-cache-no-internal+

Enable both +SSL-SESS-CACHE-NO-INTERNAL-LOOKUP+ and +SSL-SESS-CACHE-NO-INTERNAL-STORE+ at the same time.

Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-sess-cache-no-internal-lookup+

By setting this flag, session-resume operations in an SSL/TLS server will not automatically look up sessions in the internal cache, even if sessions are automatically stored there. If external session caching callbacks are in use, this flag guarantees that all lookups are directed to the external cache. As automatic lookup only applies for SSL/TLS servers, the flag has no effect on clients.

Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-sess-cache-no-internal-store+

Depending on the presence of +SSL-SESS-CACHE-CLIENT+ and/or +SSL-SESS-CACHE-SERVER+, sessions negotiated in an SSL/TLS handshake may be cached for possible reuse. Normally a new session is added to the internal cache as well as any external session caching (callback) that is configured for the SSL_CTX. This flag will prevent sessions being stored in the internal cache (though the application can add them manually using SSL-CTX-ADD-SESSION). Note: in any SSL/TLS servers where external caching is configured, any successful session lookups in the external cache (ie. for session-resume requests) would normally be copied into the local cache before processing continues - this flag prevents these additions to the internal cache as well.

Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-sess-cache-off+

No session caching for client or server takes place.

Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-sess-cache-server+

Server sessions are added to the session cache.
When a client proposes a session to be reused, the server looks for the corresponding session in (first) the internal session cache (unless +SSL-SESS-CACHE-NO-INTERNAL-LOOKUP+ is set), then (second) in the external cache if available. If the session is found, the server will try to reuse the session. This is the default.

Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-verify-client-once+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-verify-fail-if-no-peer-cert+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-verify-none+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-verify-peer+
Package

cl+ssl.

Source

ffi.lisp.


6.1.2 Special variables

Special Variable: *default-buffer-size*

The default size for input and output buffers of SSL-STREAM objects

Package

cl+ssl.

Source

streams.lisp.

Special Variable: *default-cipher-list*
Package

cl+ssl.

Source

streams.lisp.

Special Variable: *default-unwrap-stream-p*

Default value for UNWRAP-STREAM-P function parameter.

If true (the default), cl+ssl will try to extract file descriptor from the given TCP Lisp stream and tell OpenSSL to use a socket BIO based on that file descriptor;
otherwise use a Lisp BIO wrapping the TCP Lisp stream.

Package

cl+ssl.

Source

streams.lisp.

Special Variable: *make-ssl-client-stream-verify-default*

Helps to mitigate the change in default behaviour of MAKE-SSL-CLIENT-STREAM - previously it worked as if :VERIFY NIL
but then :VERIFY :REQUIRED became the default on non-Windows platforms. Change this variable if you want the previous behaviour.

Package

cl+ssl.

Source

streams.lisp.


6.1.3 Macros

Macro: define-libcrypto-path (path)

Define the path where libcrypto resides to be PATH (not evaluated). This macro should be used before loading CL+SSL.

Package

cl+ssl/config.

Source

config.lisp.

Macro: define-libssl-path (path)

Define the path where libssl resides to be PATH (not evaluated). This macro should be used before loading CL+SSL.

Package

cl+ssl/config.

Source

config.lisp.

Macro: with-global-context ((ssl-ctx &key auto-free-p) &body body)

Executes the BODY with *SSL-GLOBAL-CONTEXT* bound to the SSL-CTX.
If AUTO-FREE-P is true the context is freed using SSL-CTX-FREE before exit.

Package

cl+ssl.

Source

context.lisp.

Macro: with-pem-password ((password) &body body)
Package

cl+ssl.

Source

init.lisp.


6.1.4 Ordinary functions

Function: certificate-fingerprint (certificate &optional algorithm)

Return the fingerprint of CERTIFICATE as a byte-vector. ALGORITHM is a string designator for the digest algorithm to use (it defaults to SHA-1).

Package

cl+ssl.

Source

x509.lisp.

Function: certificate-not-after-time (certificate)

Returns a universal-time representing the time after which the CERTIFICATE is not valid. Signals an ERROR if the CERTIFICATE does not have a properly formatted time.

Package

cl+ssl.

Source

x509.lisp.

Function: certificate-not-before-time (certificate)

Returns a universal-time representing the time before which the CERTIFICATE is not valid. Signals an ERROR if the CERTIFICATE does not have a properly formatted time.

Package

cl+ssl.

Source

x509.lisp.

Function: certificate-subject-common-names (cert)
Package

cl+ssl.

Source

x509.lisp.

Function: decode-certificate-from-file (path &key format)
Package

cl+ssl.

Source

x509.lisp.

Function: ensure-initialized (&key method rand-seed)

In most cases you do *not* need to call this function, because it is called automatically by all other functions. The only reason to call it explicitly is to supply the RAND-SEED parameter. In this case do it before calling any other functions.

Keyword arguments:

METHOD - just leave the default value.

RAND-SEED - an octet sequence to initialize OpenSSL random number generator. On many platforms, including Linux and Windows, it may be left NIL (default), because OpenSSL initializes the random number generator from OS specific service. But, for example, on Solaris it may be necessary to supply this value. The minimum length required by OpenSSL is 128 bits.
See http://www.openssl.org/support/faq.html#USER1 for details.

Hint: do not use Common Lisp RANDOM function to generate the RAND-SEED, because the function usually returns predictable values.

Package

cl+ssl.

Source

init.lisp.

Function: get-selected-alpn-protocol (ssl-stream)

A wrapper around SSL_get0_alpn_selected.
Returns the ALPN protocol selected by server, or NIL if none was selected.

SSL-STREAM is the client ssl stream returned by make-ssl-client-stream.

Package

cl+ssl.

Source

streams.lisp.

Function: make-context (&key method disabled-protocols options min-proto-version session-cache-mode verify-location verify-depth verify-mode verify-callback cipher-list pem-password-callback certificate-chain-file private-key-file private-key-password private-key-file-type)

Creates a new SSL_CTX using SSL_CTX_new and initializes it according to
the specified parameters.

After you’re done using the context, don’t forget to free it using SSL-CTX-FREE.

Exceptions:

SSL-ERROR-INITIALIZE. When underlying SSL_CTX_new fails.

Keyword arguments:

METHOD. Specifies which supported SSL/TLS to use.
If not specified then TLS_method is used on OpenSSL
versions supporing it (on legacy versions SSLv23_method is used).

DISABLED-PROTOCOLS. List of +SSL-OP-NO-* constants. Denotes
disabled SSL/TLS versions. When METHOD not specified
defaults to (LIST +SSL-OP-NO-SSLV2+ +SSL-OP-NO-SSLV3+)

OPTIONS. SSL context options list. Defaults to (list +SSL-OP-ALL+)

SESSION-CACHE-MODE. Enable/Disable session caching.
Defaults to +SSL-SESS-CACHE-SERVER+

VERIFY-LOCATION. Location(s) to load CA from.

Possible values:
:DEFAULT - SSL_CTX_set_default_verify_paths will be called.
:DEFAULT-FILE - SSL_CTX_set_default_verify_file will be called. Requires OpenSSL >= 1.1.0. :DEFAULT-DIR - SSL_CTX_set_default_verify_dir will be called. Requires OpenSSL >= 1.1.0. A STRING or a PATHNAME - will be passed to SSL_CTX_load_verify_locations
as file or dir argument depending on wether it’s really
a file or a dir. Must exist on the file system and be available.
A LIST - each value assumed to be either a STRING or a PATHNAME and
will be passed to SSL_CTX_load_verify_locations as described above.

VERIFY-DEPTH. Sets the maximum depth for the certificate chain verification
that shall be allowed for context. Defaults to 100.

VERIFY-MODE. The mode parameter to SSL_CTX_set_verify.
Defaults to +VERIFY-PEER+

VERIFY-CALLBACK. The verify_callback parameter to SSL_CTX_set_verify.
Please note: if specified, must be a CFFI callback i.e. defined as
(DEFCALLBACK :INT ((OK :INT) (SSL-CTX :POINTER)) .. ).

CIPHER-LIST. If specified, must be a string to pass to SSL_CTX_set_cipher_list.
An ERROR is signalled if SSL_CTX_set_cipher_list fails.

PEM-PASSWORD-CALLBACK. Sets the default password callback called when
loading/storing a PEM certificate with encryption.
Please note: this must be CFFI callback i.e. defined as
(CFFI:DEFCALLBACK :INT ((BUF :POINTER) (SIZE :INT) (RWFLAG :INT) (UNUSED :POINTER)) .. ). Defaults to PEM-PASSWORD-CALLBACK which simply uses password
provided by WITH-PEM-PASSWORD.

Package

cl+ssl.

Source

context.lisp.

Function: make-ssl-client-stream (socket &key unwrap-stream-p hostname close-callback external-format verify alpn-protocols certificate key password cipher-list method buffer-size input-buffer-size output-buffer-size)

Performs TLS/SSL handshake over the specified SOCKET using
the SSL_connect OpenSSL function and returns a Lisp stream that
uses OpenSSL library to encrypt the output data when sending
it to the socket and to decrypt the input received.

Uses a global SSL_CTX instance, which can be overriden
by WITH-GLOBAL-CONTEXT. (The global SSL_CTX is
passed as a parameter to an internall call of SSL_new.)

SOCKET - represents the socket to be wrapped into an SSL stream.
Can be either a Lisp stream (of an implementation-dependent type) for that socket, or an integer file descriptor of that socket. If that’s a stream, it will be closed automatically when the SSL stream
is closed. Also, on CCL, (CCL:STREAM-DEADLINE SOCKET) will be used
as a deadline for ’socket BIO’ mode.
See README.md / Usage / Timeouts and Deadlines for more information. If that’s a file descriptor, it is not closed automatically
(you can use CLOSE-CALLBACK to arrange for that).

UNWRAP-STREAM-P - if true, (STREAM-FD SOCKET) will be attempted
to extract the file descriptor. Otherwise the SOCKET
is left as is. Anyway, if in result we end up with an integer
file descriptor, a socket BIO is used; if we end up with a
stream - Lisp BIO is used. This parameter defaults to *DEFAULT-UNWRAP-STREAM-P* which is initalized to true.
See README.md / Usage for more information on BIO types.

HOSTNAME if specified, will be sent by client during TLS negotiation, according to the Server Name Indication (SNI) extension to the TLS.
If we connect to a server handling multiple domain names,
this extension enables such server to choose certificate for the
right domain. Also the HOSTNAME is used for hostname verification
(if verification is enabled by VERIFY).

CLOSE-CALLBACK - a function to be called when the created
ssl stream is CL:CLOSE’ed. The only argument is this ssl stream.

EXTERNAL-FORMAT - if NIL (the default), a plain (UNSIGNED-BYTE 8)
ssl stream is returned. With a non-NIL external-format, a flexi-stream capable of character I/O will be returned instead, with the specified value as its initial external format.

VERIFY can be specified either as NIL if no check should be performed, :OPTIONAL to verify the server’s certificate if server presents one or :REQUIRED to verify the server’s certificate and fail if an invalid
or no certificate was presented. Defaults to *MAKE-SSL-CLIENT-STREAM-VERIFY-DEFAULT* which is initialized
to :REQUIRED

The verification includes verifying the HOSTNAME against the server ceritificate, using the VERIFY-HOSTNAME function.

An error is signalled in case of the certificate or hostname verification failure.

Note, the VERIFY logic expects that the global
SSL_CTX object does not have the SSL_VERIFY_PEER
flag enabled - the default for the cl+ssl’s global SSL_CTX.
If the current global SSL_CTX object has SSL_VERIFY_PEER enabled,
the SSL_Connect will perform certificate (but not hostname) verification on its own, and an error will be signalled for a
bad certificate even with :VERIFY NIL.

ALPN-PROTOCOLS, if specified, should be a list of alpn protocol names, such as "h2", that will be offered to the server. The protocol selected by the server can be retrieved with GET-SELECTED-ALPN-PROTOCOL.

CERTIFICATE is the path to a file containing a PEM-encoded certificate. Note, if one certificate will be used for multiple TLS connections, it’s better to load it into a common SSL_CTX (context) object rather than reading it for every new connection.

KEY is the path to a PEM-encoded private key file of that certificate.

PASSWORD the password to use for decryptipon of the KEY (if encrypted).

CIPHER-LIST - If not NIL, must be a string to pass to SSL_set_cipher_list. An ERROR is signalled if SSL_CTX_set_cipher_list fails.
Defaults to *DEFAULT-CIPHER-LIST* which is initialized to NIL.

METHOD - usually you want to leave the default value. It is used
to compute the parameter for OpenSSL function SSL_CTX_new when creating the global SSL_CTX object for cl+ssl. This parameter only has effect on the first call, when the global SSL_CTX is not yet created. The default value is TLS_method on OpenSSL > 1.1.0 and SSLv23_method for older OpenSSL versions.

BUFFER-SIZE - default value for both the INPUT-BUFFER-SIZE and OUTPUT-BUFFER-SIZE parameters. In turn defaults to the *DEFAULT-BUFFER-SIZE* special variable.

INPUT-BUFFER-SIZE - size of the input buffer of the ssl stream.
Defaults to the BUFFER-SIZE parameter.

OUTPUT-BUFFER-SIZE - size of the output buffer of the ssl stream.
Defaults to the BUFFER-SIZE parameter.

Package

cl+ssl.

Source

streams.lisp.

Function: make-ssl-server-stream (socket &key unwrap-stream-p close-callback external-format certificate key password cipher-list method buffer-size input-buffer-size output-buffer-size)

Performs server-side TLS handshake over the specified SOCKET using the SSL_accept OpenSSL function and returns a Lisp stream that uses OpenSSL library to encrypt the output data when sending it to the socket and to decrypt the input received.

Uses a global SSL_CTX instance, which can be overriden
by WITH-GLOBAL-CONTEXT. (The global SSL_CTX is
passed as a parameter to an internall call of SSL_new.)

All parameters have the same meaning as documented
for MAKE-SSL-CLIENT-STREAM.

Package

cl+ssl.

Source

streams.lisp.

Function: random-bytes (count)

Generates COUNT cryptographically strong pseudo-random bytes. Returns the bytes as a SIMPLE-ARRAY with ELEMENT-TYPE ’(UNSIGNED-BYTE 8). Signals an ERROR in case of problems; for example, when the OpenSSL random number generator has not been seeded with enough randomness to ensure an unpredictable byte sequence.

Package

cl+ssl.

Source

random.lisp.

Function: reload ()

If you save your application as a Lisp image,
call this function when that image is loaded,
to perform the necessary CL+SSL re-initialization (unless your lisp implementation automatically re-loads foreign libraries and preserves their
memory accross image reloads).

This should work fine if the location and version of the OpenSSL shared libraries have not changed.
If they have changed, you may get errors, as users report: https://github.com/cl-plus-ssl/cl-plus-ssl/issues/167

Package

cl+ssl.

Source

init.lisp.

Function: ssl-check-verify-p ()

DEPRECATED. Use the (MAKE-SSL-CLIENT-STREAM .. :VERIFY ?) to enable/disable verification. Also, MAKE-CONTEXT has :VERIFY-MODE option.

Return true if SSL connections will error if the certificate doesn’t verify.

Package

cl+ssl.

Source

streams.lisp.

Function: (setf ssl-check-verify-p) ()

DEPRECATED. Use the (MAKE-SSL-CLIENT-STREAM .. :VERIFY ?) to enable/disable verification. Also, MAKE-CONTEXT has :VERIFY-MODE option.

If CHECK-VERIFY-P is true, signal connection errors if the server certificate doesn’t verify.

Package

cl+ssl.

Source

streams.lisp.

Function: ssl-ctx-free (ctx)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-load-global-verify-locations (&rest pathnames)

PATHNAMES is a list of pathnames to PEM files containing server and CA certificates. Install these certificates to use for verifying on all SSL connections.
After RELOAD, you need to call this again.

Package

cl+ssl.

Source

streams.lisp.

Function: ssl-set-global-default-verify-paths ()

Load the system default verification certificates. After RELOAD, you need to call this again.

Package

cl+ssl.

Source

streams.lisp.

Function: ssl-stream-x509-certificate (ssl-stream)
Package

cl+ssl.

Source

streams.lisp.

Function: use-certificate-chain-file (certificate-chain-file)

Applies OpenSSL function SSL_CTX_use_certificate_chain_file
to the cl+ssl’s global SSL_CTX object and the specified CERTIFICATE-CHAIN-FILE.

OpenSSL requires the certificates in the file to be sorted starting with the subject’s certificate (actual client or
server certificate), followed by intermediate CA certificates
if applicable, and ending at the highest level (root) CA.

Note: the RELOAD function clears the global context and in particular the loaded certificate chain.

Package

cl+ssl.

Source

init.lisp.

Function: verify-hostname (cert hostname)

Verifies the HOSTNAME against the specified
CERT. Implemented for all OpenSSL versions,
using custom Lisp code (without relying on the functions provided by newer OpenSSl versions, like SSL_set_verify).

Signals an error in case of verification failure.

Otherwise returns true

Package

cl+ssl.

Source

verify-hostname.lisp.

Function: x509-free (x509)
Package

cl+ssl.

Source

ffi.lisp.


6.1.5 Generic functions

Generic Function: decode-certificate (format bytes)

The BYTES must be created by CFFI:MAKE-SHAREABLE-BYTE-VECTOR (because we are going to pass them to CFFI:WITH-POINTER-TO-VECTOR-DATA)

Package

cl+ssl.

Source

x509.lisp.

Methods
Method: decode-certificate ((format (eql :der)) bytes)
Generic Reader: ssl-error-code (condition)
Package

cl+ssl.

Methods
Reader Method: ssl-error-code ((condition ssl-error-verify))
Source

conditions.lisp.

Target Slot

error-code.

Generic Reader: ssl-error-stream (condition)
Package

cl+ssl.

Methods
Reader Method: ssl-error-stream ((condition ssl-error-verify))
Source

conditions.lisp.

Target Slot

stream.

Generic Function: stream-fd (stream)

The STREAM’s file descriptor as an integer,
if known / implemented for the current lisp.
Otherwise the STREAM itself. The result of this function can be passed to MAKE-SSL-CLIENT-STREAM and MAKE-SSL-SERVER-STREAM.

Package

cl+ssl.

Source

streams.lisp.

Methods
Method: stream-fd ((stream fd-stream))
Method: stream-fd (stream)

6.1.6 Standalone methods

Method: close ((stream ssl-stream) &key abort)
Source

streams.lisp.

Method: initialize-instance :after ((stream ssl-stream) &key buffer-size input-buffer-size output-buffer-size &allow-other-keys)
Source

streams.lisp.

Method: open-stream-p ((stream ssl-stream))
Source

streams.lisp.

Method: print-object ((object ssl-stream) stream)
Source

streams.lisp.

Method: stream-element-type ((stream ssl-stream))
Source

streams.lisp.

Method: stream-finish-output ((stream ssl-stream))
Package

sb-gray.

Source

streams.lisp.

Method: stream-force-output ((stream ssl-stream))
Package

sb-gray.

Source

streams.lisp.

Method: stream-listen ((stream ssl-stream))
Package

sb-gray.

Source

streams.lisp.

Method: stream-read-byte ((stream ssl-stream))
Package

sb-gray.

Source

streams.lisp.

Method: stream-read-sequence ((stream ssl-stream) seq start end &key)
Package

trivial-gray-streams.

Source

streams.lisp.

Method: stream-write-byte ((stream ssl-stream) b)
Package

sb-gray.

Source

streams.lisp.

Method: stream-write-sequence ((stream ssl-stream) seq start end &key)
Package

trivial-gray-streams.

Source

streams.lisp.


6.1.7 Conditions

Condition: ssl-error-initialize
Package

cl+ssl.

Source

conditions.lisp.

Direct superclasses

ssl-error.

Direct methods

ssl-error-reason.

Direct slots
Slot: reason
Initargs

:reason

Readers

ssl-error-reason.

Writers

This slot is read-only.

Condition: ssl-error-verify

This condition is signalled on SSL connection when a peer certificate doesn’t verify.

Package

cl+ssl.

Source

conditions.lisp.

Direct superclasses

ssl-error.

Direct methods
Direct slots
Slot: stream

The SSL stream whose peer certificate didn’t verify.

Package

common-lisp.

Initargs

:stream

Readers

ssl-error-stream.

Writers

This slot is read-only.

Slot: error-code

The peer certificate verification error code
(as returned by functions like SSL_get_verify_result or X509_STORE_CTX_get_error).

Initargs

:error-code

Readers

ssl-error-code.

Writers

This slot is read-only.


6.2 Internals


6.2.1 Constants

Constant: +bio-type-socket+
Package

cl+ssl.

Source

bio.lisp.

Constant: +bio_ctrl_eof+
Package

cl+ssl.

Source

bio.lisp.

Constant: +bio_ctrl_flush+
Package

cl+ssl.

Source

bio.lisp.

Constant: +bio_flags_in_eof+
Package

cl+ssl.

Source

bio.lisp.

Constant: +bio_flags_io_special+
Package

cl+ssl.

Source

bio.lisp.

Constant: +bio_flags_read+
Package

cl+ssl.

Source

bio.lisp.

Constant: +bio_flags_rws+
Package

cl+ssl.

Source

bio.lisp.

Constant: +bio_flags_should_retry+
Package

cl+ssl.

Source

bio.lisp.

Constant: +bio_flags_write+
Package

cl+ssl.

Source

bio.lisp.

Constant: +bio_type_descriptor+
Package

cl+ssl.

Source

bio.lisp.

Constant: +bio_type_source_sink+
Package

cl+ssl.

Source

bio.lisp.

Constant: +crypto-lock+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +crypto-read+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +crypto-unlock+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +crypto-write+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +dtls1-2-version+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +dtls1-version+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +err_lib_none+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +err_r_fatal+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +err_r_internal_error+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +gen-dirname+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +gen-dns+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +gen-ediparty+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +gen-email+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +gen-ipadd+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +gen-othername+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +gen-rid+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +gen-uri+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +gen-x400+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +nid-commonname+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +nid-subject-alt-name+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +rsa_f4+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-ctrl-options+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-ctrl-set-max-proto-version+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-ctrl-set-min-proto-version+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-error-none+
Package

cl+ssl.

Source

conditions.lisp.

Constant: +ssl-error-ssl+
Package

cl+ssl.

Source

conditions.lisp.

Constant: +ssl-error-syscall+
Package

cl+ssl.

Source

conditions.lisp.

Constant: +ssl-error-want-connect+
Package

cl+ssl.

Source

conditions.lisp.

Constant: +ssl-error-want-read+
Package

cl+ssl.

Source

conditions.lisp.

Constant: +ssl-error-want-write+
Package

cl+ssl.

Source

conditions.lisp.

Constant: +ssl-error-want-x509-lookup+
Package

cl+ssl.

Source

conditions.lisp.

Constant: +ssl-error-zero-return+
Package

cl+ssl.

Source

conditions.lisp.

Constant: +ssl-filetype-asn1+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-filetype-default+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-filetype-pem+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-op-all+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl-op-ignore-unexpected-eof+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl3-version+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl_ctrl_mode+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl_ctrl_set_sess_cache_mode+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +ssl_mode_accept_moving_write_buffer+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +tls1-1-version+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +tls1-2-version+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +tls1-3-version+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +tls1-version+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +v-asn1-bmpstring+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +v-asn1-iastring+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +v-asn1-octet-string+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +v-asn1-printablestring+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +v-asn1-teletexstring+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +v-asn1-universalstring+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +v-asn1-utf8string+
Package

cl+ssl.

Source

ffi.lisp.

Constant: +x509-v-ok+
Package

cl+ssl.

Source

ffi.lisp.


6.2.2 Special variables

Special Variable: *bio-blockp*
Package

cl+ssl.

Source

bio.lisp.

Special Variable: *bio-is-opaque*
Package

cl+ssl.

Source

bio.lisp.

Special Variable: *bio-lisp-method*
Package

cl+ssl.

Source

bio.lisp.

Special Variable: *bio-socket*
Package

cl+ssl.

Source

bio.lisp.

Special Variable: *cl+ssl-crypto-foreign-function-names*
Package

cl+ssl.

Source

ffi.lisp.

Special Variable: *cl+ssl-ssl-foreign-function-names*
Package

cl+ssl.

Source

ffi.lisp.

Special Variable: *file-name*
Package

cl+ssl.

Source

bio.lisp.

Special Variable: *global-lock*
Package

cl+ssl.

Source

init.lisp.

Special Variable: *late-bound-foreign-function-pointers*
Package

cl+ssl.

Source

ffi.lisp.

Special Variable: *lib-num-for-errors*
Package

cl+ssl.

Source

bio.lisp.

Special Variable: *libcrypto-override*
Package

cl+ssl/config.

Source

config.lisp.

Special Variable: *libssl-override*
Package

cl+ssl/config.

Source

config.lisp.

Special Variable: *lisp-bio-type*
Package

cl+ssl.

Source

bio.lisp.

Special Variable: *locks*
Package

cl+ssl.

Source

init.lisp.

Special Variable: *pem-password*

The callback registered with SSL_CTX_set_default_passwd_cb will use this value.

Package

cl+ssl.

Source

init.lisp.

Special Variable: *ssl-check-verify-p*

DEPRECATED.
Use the (MAKE-SSL-CLIENT-STREAM .. :VERIFY ?) to enable/disable verification. MAKE-CONTEXT also allows to enab/disable verification.

Package

cl+ssl.

Source

init.lisp.

Special Variable: *ssl-global-context*
Package

cl+ssl.

Source

init.lisp.

Special Variable: *ssl-global-method*
Package

cl+ssl.

Source

init.lisp.

Special Variable: *ssl-verify-error-alist*
Package

cl+ssl.

Source

conditions.lisp.

Special Variable: *thread-counter*
Package

cl+ssl.

Source

init.lisp.

Special Variable: *threads*
Package

cl+ssl.

Source

init.lisp.

Special Variable: *tmp-rsa-key-1024*
Package

cl+ssl.

Source

init.lisp.

Special Variable: *tmp-rsa-key-2048*
Package

cl+ssl.

Source

init.lisp.

Special Variable: *tmp-rsa-key-512*
Package

cl+ssl.

Source

init.lisp.

Special Variable: +openssl-version-patch-characters+
Package

cl+ssl.

Source

ffi.lisp.

Special Variable: +openssl-version-status-strings+
Package

cl+ssl.

Source

ffi.lisp.


6.2.3 Macros

Macro: collecting-verify-error ((handle) &body body)
Package

cl+ssl.

Source

conditions.lisp.

Macro: defcfun-late-bound (name-and-options &body body)
Package

cl+ssl.

Source

ffi.lisp.

Macro: defcfun-versioned ((&key since vanished) name-and-options &body body)
Package

cl+ssl.

Source

ffi.lisp.

Macro: define-crypto-function (name-and-options &body body)
Package

cl+ssl.

Source

ffi.lisp.

Macro: define-crypto-function-ex ((&key since vanished) name-and-options &body body)
Package

cl+ssl.

Source

ffi.lisp.

Macro: define-ssl-function (name-and-options &body body)
Package

cl+ssl.

Source

ffi.lisp.

Macro: define-ssl-function-ex ((&key since vanished) name-and-options &body body)
Package

cl+ssl.

Source

ffi.lisp.

Macro: err-add-error-data (num &rest varargs0)
Package

cl+ssl.

Source

ffi.lisp.

Macro: err-set-error (lib reason fmt &rest varargs0)
Package

cl+ssl.

Source

ffi.lisp.

Macro: while (cond &body body)
Package

cl+ssl.

Source

streams.lisp.

Macro: with-bio-input-from-string ((bio string &key transformer) &body body)

Evaluate BODY with BIO bound to a SSL BIO structure that reads from a Common Lisp STRING.

Package

cl+ssl.

Source

bio.lisp.

Macro: with-bio-output-to-string ((bio &key element-type transformer) &body body)

Evaluate BODY with BIO bound to a SSL BIO structure that writes to a Common Lisp string. The string is returned.

Package

cl+ssl.

Source

bio.lisp.

Macro: with-new-ssl ((var) &body body)
Package

cl+ssl.

Source

streams.lisp.

Macro: with-pointer-to-vector-data ((ptr buf) &body body)
Package

cl+ssl.

Source

ffi-buffer.lisp.


6.2.4 Setf expanders

Setf Expander: (setf buffer-elt) (buf index)
Package

cl+ssl.

Source

ffi-buffer.lisp.

Reader

buffer-elt (function).

Writer

set-buffer-elt (function).


6.2.5 Ordinary functions

Function: add-verify-locations (ssl-ctx locations)
Package

cl+ssl.

Source

context.lisp.

Function: asn1-iastring-char-p (byte)
Package

cl+ssl.

Source

x509.lisp.

Function: asn1-iastring-p (bytes)
Package

cl+ssl.

Source

x509.lisp.

Function: asn1-printable-char-p (byte)
Package

cl+ssl.

Source

x509.lisp.

Function: asn1-printable-string-p (bytes)
Package

cl+ssl.

Source

x509.lisp.

Function: asn1-string-bytes-vector (asn1-string)
Package

cl+ssl.

Source

x509.lisp.

Function: asn1-string-data (asn1-string)
Package

cl+ssl.

Source

ffi.lisp.

Function: asn1-string-length (asn1-string)
Package

cl+ssl.

Source

ffi.lisp.

Function: asn1-string-type (asn1-string)
Package

cl+ssl.

Source

ffi.lisp.

Function: asn1-teletex-char-p (byte)
Package

cl+ssl.

Source

x509.lisp.

Function: asn1-teletex-string-p (bytes)
Package

cl+ssl.

Source

x509.lisp.

Function: asn1-time-check (asn1-string)
Package

cl+ssl.

Source

ffi.lisp.

Function: asn1-utctime-check (asn1-string)
Package

cl+ssl.

Source

ffi.lisp.

Function: b/s-replace (buf seq &key start1 end1 start2 end2)
Package

cl+ssl.

Source

ffi-buffer.lisp.

Function: bio-clear-flags (meth value)
Package

cl+ssl.

Source

ffi.lisp.

Function: bio-clear-flags-slots (bio &rest flags)
Package

cl+ssl.

Source

bio.lisp.

Function: bio-free (method)
Package

cl+ssl.

Source

ffi.lisp.

Function: bio-init ()
Package

cl+ssl.

Source

bio.lisp.

Function: bio-meth-new (type name)
Package

cl+ssl.

Source

ffi.lisp.

Function: bio-new (method)
Package

cl+ssl.

Source

ffi.lisp.

Function: bio-new-index ()
Package

cl+ssl.

Source

ffi.lisp.

Function: bio-new-lisp ()
Package

cl+ssl.

Source

bio.lisp.

Function: bio-new-socket (fd close-flag)
Package

cl+ssl.

Source

ffi.lisp.

Function: bio-set-create (meth read)
Package

cl+ssl.

Source

ffi.lisp.

Function: bio-set-ctrl (meth read)
Package

cl+ssl.

Source

ffi.lisp.

Function: bio-set-destroy (meth read)
Package

cl+ssl.

Source

ffi.lisp.

Function: bio-set-fd (bio cmd larg parg)
Package

cl+ssl.

Source

ffi.lisp.

Function: bio-set-flags (meth value)
Package

cl+ssl.

Source

ffi.lisp.

Function: bio-set-flags-slots (bio &rest flags)
Package

cl+ssl.

Source

bio.lisp.

Function: bio-set-gets (meth read)
Package

cl+ssl.

Source

ffi.lisp.

Function: bio-set-init (meth value)
Package

cl+ssl.

Source

ffi.lisp.

Function: bio-set-puts (meth puts)
Package

cl+ssl.

Source

ffi.lisp.

Function: bio-set-read (meth read)
Package

cl+ssl.

Source

ffi.lisp.

Function: bio-set-write (meth puts)
Package

cl+ssl.

Source

ffi.lisp.

Function: bio-test-flags (meth value)
Package

cl+ssl.

Source

ffi.lisp.

Function: bio-test-flags-slots (bio &rest flags)
Package

cl+ssl.

Source

bio.lisp.

Function: buffer-elt (buf index)
Package

cl+ssl.

Source

ffi-buffer.lisp.

Setf expander for this function

(setf buffer-elt).

Function: buffer-length (buf)
Package

cl+ssl.

Source

ffi-buffer.lisp.

Function: call-with-global-context (ssl-ctx auto-free-p body-fn)
Package

cl+ssl.

Source

context.lisp.

Function: case-insensitive-match (name hostname)
Package

cl+ssl.

Source

verify-hostname.lisp.

Function: cert-format-from-path (path)
Package

cl+ssl.

Source

x509.lisp.

Function: certificate-alt-names (cert)
Package

cl+ssl.

Source

x509.lisp.

Function: certificate-dns-alt-names (cert)
Package

cl+ssl.

Source

x509.lisp.

Function: certificate-pem (x509)
Package

cl+ssl.

Source

x509.lisp.

Function: check-single-wildcard (identifier wildcard-pos)
Package

cl+ssl.

Source

verify-hostname.lisp.

Function: check-two-labels-after-wildcard (after-wildcard)
Package

cl+ssl.

Source

verify-hostname.lisp.

Function: check-wildcard-in-leftmost-label (identifier wildcard-pos)
Package

cl+ssl.

Source

verify-hostname.lisp.

Function: clear-retry-flags (bio)
Package

cl+ssl.

Source

bio.lisp.

Function: close-socket (socket)
Package

cl+ssl.

Source

ffi.lisp.

Function: collect-verify-error (ssl-error-ssl-condition handle)
Package

cl+ssl.

Source

conditions.lisp.

Function: collecting-verify-error-impl (handle body-fn)
Package

cl+ssl.

Source

conditions.lisp.

Function: compat-bio-clear-flags (bio &rest flags)
Package

cl+ssl.

Source

bio.lisp.

Function: compat-bio-set-flags (bio &rest flags)
Package

cl+ssl.

Source

bio.lisp.

Function: compat-bio-test-flags (bio &rest flags)
Package

cl+ssl.

Source

bio.lisp.

Function: compat-openssl-version ()
Package

cl+ssl.

Source

ffi.lisp.

Function: compat-ssl-get1-peer-certificate (handle)
Package

cl+ssl.

Source

ffi.lisp.

Function: copy-bytes-to-lisp-vector (src-ptr vector count)
Package

cl+ssl.

Source

x509.lisp.

Function: crypto-num-locks ()
Package

cl+ssl.

Source

ffi.lisp.

Function: crypto-set-id-callback (fun)
Package

cl+ssl.

Source

ffi.lisp.

Function: crypto-set-locking-callback (fun)
Package

cl+ssl.

Source

ffi.lisp.

Function: d2i-x509 (*px in len)
Package

cl+ssl.

Source

ffi.lisp.

Function: decode-asn1-time (asn1-time)
Package

cl+ssl.

Source

x509.lisp.

Function: default-ssl-method ()
Package

cl+ssl.

Source

init.lisp.

Function: detect-custom-openssl-installations-if-macos ()
Package

cl+ssl.

Source

reload.lisp.

Function: detect-macos-custom-openssl-installations ()
Package

cl+ssl.

Source

reload.lisp.

Function: encode-openssl-version (major minor &optional patch-or-fix)

Builds a version number to compare with the version returned by OpenSSL.

The integer representation of OpenSSL version has bit fields
for major, minor, fix, patch and status varlues.

Versions before OpenSSL 3 have user readable representations
for all those fields. For example, 0.9.6b beta 3. Here
0 - major, 9 - minor, 6 - fix, b - patch, beta 3 - status. https://www.openssl.org/docs/man1.1.1/man3/OPENSSL_VERSION_NUMBER.html

Since OpenSSL 3, the third number in user readable repersentation
is patch. The fix and status are not used and have 0 in the corresponding bit fields. https://www.openssl.org/docs/man3.0/man3/OPENSSL_VERSION_NUMBER.html https://www.openssl.org/policies/general/versioning-policy.html

As usually with OpenSSL docs, if the above links disappear becuase those OpenSSL versions are out of maintenance, use the Wayback Machine.

Note: the _really_ old formats (<= 0.9.4) are not supported.

Package

cl+ssl.

Source

ffi.lisp.

Function: encode-openssl-version-impl (major minor &optional fix patch status)
Package

cl+ssl.

Source

ffi.lisp.

Function: ensure-ssl-funcall (stream success-test func handle &rest other-args)
Package

cl+ssl.

Source

ssl-funcall.lisp.

Function: err-add-error-txt (sep txt)
Package

cl+ssl.

Source

ffi.lisp.

Function: err-error-string (e buf)
Package

cl+ssl.

Source

ffi.lisp.

Function: err-get-error ()
Package

cl+ssl.

Source

ffi.lisp.

Function: err-get-next-error-library ()
Package

cl+ssl.

Source

ffi.lisp.

Function: err-new ()
Package

cl+ssl.

Source

ffi.lisp.

Function: err-print-errors (bio)
Package

cl+ssl.

Source

ffi.lisp.

Function: err-print-errors-to-string ()
Package

cl+ssl.

Source

conditions.lisp.

Function: err-put-error (lib func reason file line)
Package

cl+ssl.

Source

ffi.lisp.

Function: err-set-debug (file line func)
Package

cl+ssl.

Source

ffi.lisp.

Function: evp-get-digest-by-name (name)
Package

cl+ssl.

Source

ffi.lisp.

Function: evp-md-get-size (evp)
Package

cl+ssl.

Source

ffi.lisp.

Function: evp-md-size (evp)
Package

cl+ssl.

Source

ffi.lisp.

Function: format-ssl-error-queue (stream-designator queue-designator)

STREAM-DESIGNATOR is the same as CL:FORMAT accepts: T, NIL, or a stream. QUEUE-DESIGNATOR is either a list of error codes (as returned
by READ-SSL-ERROR-QUEUE) or an SSL-ERROR condition.

Package

cl+ssl.

Source

conditions.lisp.

Function: general-names-free (general-names)
Package

cl+ssl.

Source

ffi.lisp.

Function: handle-external-format (stream ef)
Package

cl+ssl.

Source

streams.lisp.

Function: init-prng (seed-byte-sequence)
Package

cl+ssl.

Source

init.lisp.

Function: initialize (&key method rand-seed)
Package

cl+ssl.

Source

init.lisp.

Function: input-wait (stream fd deadline)
Package

cl+ssl.

Source

ssl-funcall.lisp.

Function: install-handle-and-bio (stream handle socket unwrap-stream-p)
Package

cl+ssl.

Source

streams.lisp.

Function: install-key-and-cert (handle key certificate)
Package

cl+ssl.

Source

streams.lisp.

Function: install-nonblock-flag (fd)
Package

cl+ssl.

Source

streams.lisp.

Function: libresslp ()
Package

cl+ssl.

Source

ffi.lisp.

Function: lisp-bio-type ()
Package

cl+ssl.

Source

bio.lisp.

Function: make-alpn-proto-string (protocols)

Convert list of protocol names to the wire-format byte string.

Package

cl+ssl.

Source

streams.lisp.

Function: make-bio-lisp-method ()
Package

cl+ssl.

Source

bio.lisp.

Function: make-bio-lisp-method-opaque ()
Package

cl+ssl.

Source

bio.lisp.

Function: make-bio-lisp-method-slots ()
Package

cl+ssl.

Source

bio.lisp.

Function: make-buffer (size)
Package

cl+ssl.

Source

ffi-buffer.lisp.

Function: maybe-try-match-wildcard (name hostname)
Package

cl+ssl.

Source

verify-hostname.lisp.

Function: maybe-verify-client-stream (ssl-stream verify-mode hostname)
Package

cl+ssl.

Source

streams.lisp.

Function: nonblocking-ssl-funcall (stream success-test func handle &rest other-args)
Package

cl+ssl.

Source

ssl-funcall.lisp.

Function: openssl-add-all-digests ()
Package

cl+ssl.

Source

ffi.lisp.

Function: openssl-is-at-least (major minor &optional patch-or-fix)
Package

cl+ssl.

Source

ffi.lisp.

Function: openssl-is-not-even (major minor &optional patch-or-fix)
Package

cl+ssl.

Source

ffi.lisp.

Function: openssl-sk-num (stack)
Package

cl+ssl.

Source

ffi.lisp.

Function: openssl-sk-value (stack index)
Package

cl+ssl.

Source

ffi.lisp.

Function: openssl-version-num ()
Package

cl+ssl.

Source

ffi.lisp.

Function: openssl-version-status-p (status)
Package

cl+ssl.

Source

ffi.lisp.

Function: output-wait (stream fd deadline)
Package

cl+ssl.

Source

ssl-funcall.lisp.

Function: pem-read-x509 (bio x509 callback passphrase)
Package

cl+ssl.

Source

ffi.lisp.

Function: pem-write-x509 (bio x509)
Package

cl+ssl.

Source

ffi.lisp.

Function: put-to-openssl-error-queue (condition)
Package

cl+ssl.

Source

bio.lisp.

Function: rand-bytes (buf num)
Package

cl+ssl.

Source

ffi.lisp.

Function: rand-seed (buf num)
Package

cl+ssl.

Source

ffi.lisp.

Function: read-ssl-error-queue ()
Package

cl+ssl.

Source

conditions.lisp.

Function: remove-trailing-dot (string)
Package

cl+ssl.

Source

verify-hostname.lisp.

Function: rsa-free (rsa)
Package

cl+ssl.

Source

ffi.lisp.

Function: rsa-generate-key (num e callback opt)
Package

cl+ssl.

Source

ffi.lisp.

Function: s/b-replace (seq buf &key start1 end1 start2 end2)
Package

cl+ssl.

Source

ffi-buffer.lisp.

Function: seconds-until-deadline (deadline)
Package

cl+ssl.

Source

ssl-funcall.lisp.

Function: set-buffer-elt (buf index val)
Package

cl+ssl.

Source

ffi-buffer.lisp.

Setf expanders to this function

(setf buffer-elt).

Function: set-retry-read (bio)
Package

cl+ssl.

Source

bio.lisp.

Function: sk-general-name-num (names)
Package

cl+ssl.

Source

ffi.lisp.

Function: sk-general-name-value (names index)
Package

cl+ssl.

Source

ffi.lisp.

Function: sk-num (stack)
Package

cl+ssl.

Source

ffi.lisp.

Function: sk-value (stack index)
Package

cl+ssl.

Source

ffi.lisp.

Function: slurp-stream (stream)

Returns a sequence containing the STREAM bytes; the sequence is created by CFFI:MAKE-SHAREABLE-BYTE-VECTOR, therefore it can safely be passed to CFFI:WITH-POINTER-TO-VECTOR-DATA.

Package

cl+ssl.

Source

x509.lisp.

Function: ssl-accept (ssl)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-connect (ssl)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-ctrl (ssl cmd larg parg)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-ctx-ctrl (ctx cmd larg parg)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-ctx-load-verify-locations (ctx cafile capath)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-ctx-new (method)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-ctx-set-cipher-list (ctx ciphers)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-ctx-set-ciphersuites (ctx ciphersuites)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-ctx-set-client-ca-list (ctx list)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-ctx-set-default-passwd-cb (ctx pem_passwd_cb)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-ctx-set-default-verify-dir (ctx)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-ctx-set-default-verify-file (ctx)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-ctx-set-default-verify-paths (ctx)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-ctx-set-max-proto-version (ctx version)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-ctx-set-min-proto-version (ctx version)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-ctx-set-options (ctx options)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-ctx-set-session-cache-mode (ctx mode)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-ctx-set-tmp-rsa-callback (ctx callback)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-ctx-set-verify (ctx mode verify-callback)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-ctx-set-verify-depth (ctx depth)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-ctx-set-verify-location (ssl-ctx location)
Package

cl+ssl.

Source

context.lisp.

Function: ssl-ctx-use-certificate-chain-file (ctx str)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-ctx-use-privatekey-file (ctx file type)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-ctx-use-rsa-privatekey-file (ctx type)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-eay ()
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-free (ssl)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-get-error (ssl ret)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-get-fd (ssl)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-get-peer-certificate (ssl)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-get-verify-result (ssl)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-get-version (ssl)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-get0-alpn-selected (ssl text len)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-get1-peer-certificate (ssl)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-initialized-p ()
Package

cl+ssl.

Source

init.lisp.

Function: ssl-library-init ()
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-load-client-ca-file (file)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-load-error-strings ()
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-new (ctx)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-read (ssl buf num)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-set-accept-state (ssl)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-set-alpn-protos (ssl text len)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-set-bio (ssl rbio wbio)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-set-cipher-list (ssl str)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-set-ciphersuites (ssl str)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-set-connect-state (ssl)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-set-fd (ssl fd)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-set-tlsext-host-name (ctx hostname)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-shutdown (ssl)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-signal-error (handle syscall error-code ret)

RET is return value of the failed SYSCALL (like SSL_read, SSL_connect, SSL_shutdown, etc - most of them designate failure by returning
RET <= 0, althought SSL_shutdow fails with RET < 0.

ERROR-CODE is return value of SSL_get_error - an explanation of the failure.

Package

cl+ssl.

Source

conditions.lisp.

Function: ssl-tlsv1-1-client-method ()
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-tlsv1-1-method ()
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-tlsv1-1-server-method ()
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-tlsv1-2-client-method ()
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-tlsv1-2-method ()
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-tlsv1-2-server-method ()
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-tlsv1-client-method ()
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-tlsv1-method ()
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-tlsv1-server-method ()
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-use-certificate-file (ssl str type)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-use-privatekey-file (ssl str type)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-use-rsa-privatekey-file (ssl str type)
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-v23-client-method ()
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-v23-method ()
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-v23-server-method ()
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-v3-client-method ()
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-v3-method ()
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-v3-server-method ()
Package

cl+ssl.

Source

ffi.lisp.

Function: ssl-verify-error-code (keyword)
Package

cl+ssl.

Source

conditions.lisp.

Function: ssl-verify-error-keyword (code)
Package

cl+ssl.

Source

conditions.lisp.

Function: ssl-verify-init (&key verify-depth verify-locations)

DEPRECATED.
Use the (MAKE-SSL-CLIENT-STREAM .. :VERIFY ?) to enable/disable verification.
Use (MAKE-CONTEXT ... :VERIFY-LOCATION ? :VERIFY-DEPTH ?) to control the verification depth and locations. MAKE-CONTEXT also allows to enab/disable verification.

Package

cl+ssl.

Source

streams.lisp.

Function: ssl-write (ssl buf num)
Package

cl+ssl.

Source

ffi.lisp.

Function: tls-method ()
Package

cl+ssl.

Source

ffi.lisp.

Function: try-get-asn1-string-data (asn1-string allowed-types)
Package

cl+ssl.

Source

x509.lisp.

Function: try-match-hostname (name hostname)
Package

cl+ssl.

Source

verify-hostname.lisp.

Function: try-match-hostnames (names hostname)
Package

cl+ssl.

Source

verify-hostname.lisp.

Function: try-match-wildcard (before-wildcard after-wildcard single-char-wildcard pattern)
Package

cl+ssl.

Source

verify-hostname.lisp.

Function: validate-and-parse-wildcard-identifier (identifier hostname)
Package

cl+ssl.

Source

verify-hostname.lisp.

Function: validate-verify-location (location)
Package

cl+ssl.

Source

context.lisp.

Function: wildcard-not-in-a-label (before-wildcard after-wildcard)
Package

cl+ssl.

Source

verify-hostname.lisp.

Function: x509-cert-from-pem (pem)
Package

cl+ssl.

Source

x509.lisp.

Function: x509-certificate-names (x509-certificate)
Package

cl+ssl.

Source

streams.lisp.

Function: x509-digest (cert type buf *len)
Package

cl+ssl.

Source

ffi.lisp.

Function: x509-get-ext-d2i (cert nid crit idx)
Package

cl+ssl.

Source

ffi.lisp.

Function: x509-get-issuer-name (x509)
Package

cl+ssl.

Source

ffi.lisp.

Function: x509-get-subject-name (x509)
Package

cl+ssl.

Source

ffi.lisp.

Function: x509-get0-not-after (x509)
Package

cl+ssl.

Source

ffi.lisp.

Function: x509-get0-not-before (x509)
Package

cl+ssl.

Source

ffi.lisp.

Function: x509-name-entry-get-data (name-entry)
Package

cl+ssl.

Source

ffi.lisp.

Function: x509-name-get-entry (name log)
Package

cl+ssl.

Source

ffi.lisp.

Function: x509-name-get-index-by-nid (name nid lastpos)
Package

cl+ssl.

Source

ffi.lisp.

Function: x509-name-oneline (x509-name buf size)
Package

cl+ssl.

Source

ffi.lisp.

Function: x509-store-ctx-get-error (ctx)
Package

cl+ssl.

Source

ffi.lisp.


6.2.6 Generic functions

Generic Function: decode-asn1-string (asn1-string type)
Package

cl+ssl.

Source

x509.lisp.

Methods
Method: decode-asn1-string (asn1-string (type (eql 30)))
Method: decode-asn1-string (asn1-string (type (eql 20)))
Method: decode-asn1-string (asn1-string (type (eql 28)))
Method: decode-asn1-string (asn1-string (type (eql 12)))
Method: decode-asn1-string (asn1-string (type (eql 19)))
Method: decode-asn1-string (asn1-string (type (eql 22)))
Generic Reader: printed-queue (condition)
Package

cl+ssl.

Methods
Reader Method: printed-queue ((condition ssl-error))
Source

conditions.lisp.

Target Slot

printed-queue.

Generic Reader: ssl-close-callback (object)
Package

cl+ssl.

Methods
Reader Method: ssl-close-callback ((ssl-stream ssl-stream))

automatically generated reader method

Source

streams.lisp.

Target Slot

close-callback.

Generic Writer: (setf ssl-close-callback) (object)
Package

cl+ssl.

Methods
Writer Method: (setf ssl-close-callback) ((ssl-stream ssl-stream))

automatically generated writer method

Source

streams.lisp.

Target Slot

close-callback.

Generic Reader: ssl-error-handle (condition)
Package

cl+ssl.

Methods
Reader Method: ssl-error-handle ((condition ssl-error/handle))
Source

conditions.lisp.

Target Slot

handle.

Generic Reader: ssl-error-queue (condition)
Package

cl+ssl.

Methods
Reader Method: ssl-error-queue ((condition ssl-error))
Source

conditions.lisp.

Target Slot

queue.

Generic Reader: ssl-error-reason (condition)
Package

cl+ssl.

Methods
Reader Method: ssl-error-reason ((condition ssl-error-initialize))
Source

conditions.lisp.

Target Slot

reason.

Generic Reader: ssl-error-ret (condition)
Package

cl+ssl.

Methods
Reader Method: ssl-error-ret ((condition ssl-error/handle))
Source

conditions.lisp.

Target Slot

ret.

Generic Reader: ssl-error-ssl-verify-error (condition)
Generic Writer: (setf ssl-error-ssl-verify-error) (condition)
Package

cl+ssl.

Methods
Reader Method: ssl-error-ssl-verify-error ((condition ssl-error-ssl))
Writer Method: (setf ssl-error-ssl-verify-error) ((condition ssl-error-ssl))
Source

conditions.lisp.

Target Slot

verify-error.

Generic Reader: ssl-stream-certificate (object)
Package

cl+ssl.

Methods
Reader Method: ssl-stream-certificate ((ssl-server-stream ssl-server-stream))

automatically generated reader method

Source

streams.lisp.

Target Slot

certificate.

Generic Writer: (setf ssl-stream-certificate) (object)
Package

cl+ssl.

Methods
Writer Method: (setf ssl-stream-certificate) ((ssl-server-stream ssl-server-stream))

automatically generated writer method

Source

streams.lisp.

Target Slot

certificate.

Generic Reader: ssl-stream-deadline (object)
Package

cl+ssl.

Methods
Reader Method: ssl-stream-deadline ((ssl-stream ssl-stream))

automatically generated reader method

Source

streams.lisp.

Target Slot

deadline.

Generic Writer: (setf ssl-stream-deadline) (object)
Package

cl+ssl.

Methods
Writer Method: (setf ssl-stream-deadline) ((ssl-stream ssl-stream))

automatically generated writer method

Source

streams.lisp.

Target Slot

deadline.

Generic Function: ssl-stream-handle (object)
Package

cl+ssl.

Methods
Method: ssl-stream-handle ((stream flexi-stream))
Source

streams.lisp.

Reader Method: ssl-stream-handle ((ssl-stream ssl-stream))

automatically generated reader method

Source

streams.lisp.

Target Slot

handle.

Generic Writer: (setf ssl-stream-handle) (object)
Package

cl+ssl.

Methods
Writer Method: (setf ssl-stream-handle) ((ssl-stream ssl-stream))

automatically generated writer method

Source

streams.lisp.

Target Slot

handle.

Generic Reader: ssl-stream-input-buffer (object)
Package

cl+ssl.

Methods
Reader Method: ssl-stream-input-buffer ((ssl-stream ssl-stream))

automatically generated reader method

Source

streams.lisp.

Target Slot

input-buffer.

Generic Writer: (setf ssl-stream-input-buffer) (object)
Package

cl+ssl.

Methods
Writer Method: (setf ssl-stream-input-buffer) ((ssl-stream ssl-stream))

automatically generated writer method

Source

streams.lisp.

Target Slot

input-buffer.

Generic Reader: ssl-stream-key (object)
Package

cl+ssl.

Methods
Reader Method: ssl-stream-key ((ssl-server-stream ssl-server-stream))

automatically generated reader method

Source

streams.lisp.

Target Slot

key.

Generic Writer: (setf ssl-stream-key) (object)
Package

cl+ssl.

Methods
Writer Method: (setf ssl-stream-key) ((ssl-server-stream ssl-server-stream))

automatically generated writer method

Source

streams.lisp.

Target Slot

key.

Generic Reader: ssl-stream-output-buffer (object)
Package

cl+ssl.

Methods
Reader Method: ssl-stream-output-buffer ((ssl-stream ssl-stream))

automatically generated reader method

Source

streams.lisp.

Target Slot

output-buffer.

Generic Writer: (setf ssl-stream-output-buffer) (object)
Package

cl+ssl.

Methods
Writer Method: (setf ssl-stream-output-buffer) ((ssl-stream ssl-stream))

automatically generated writer method

Source

streams.lisp.

Target Slot

output-buffer.

Generic Reader: ssl-stream-output-pointer (object)
Package

cl+ssl.

Methods
Reader Method: ssl-stream-output-pointer ((ssl-stream ssl-stream))

automatically generated reader method

Source

streams.lisp.

Target Slot

output-pointer.

Generic Writer: (setf ssl-stream-output-pointer) (object)
Package

cl+ssl.

Methods
Writer Method: (setf ssl-stream-output-pointer) ((ssl-stream ssl-stream))

automatically generated writer method

Source

streams.lisp.

Target Slot

output-pointer.

Generic Reader: ssl-stream-peeked-byte (object)
Package

cl+ssl.

Methods
Reader Method: ssl-stream-peeked-byte ((ssl-stream ssl-stream))

automatically generated reader method

Source

streams.lisp.

Target Slot

peeked-byte.

Generic Writer: (setf ssl-stream-peeked-byte) (object)
Package

cl+ssl.

Methods
Writer Method: (setf ssl-stream-peeked-byte) ((ssl-stream ssl-stream))

automatically generated writer method

Source

streams.lisp.

Target Slot

peeked-byte.

Generic Reader: ssl-stream-socket (object)
Package

cl+ssl.

Methods
Reader Method: ssl-stream-socket ((ssl-stream ssl-stream))

automatically generated reader method

Source

streams.lisp.

Target Slot

ssl-stream-socket.

Generic Writer: (setf ssl-stream-socket) (object)
Package

cl+ssl.

Methods
Writer Method: (setf ssl-stream-socket) ((ssl-stream ssl-stream))

automatically generated writer method

Source

streams.lisp.

Target Slot

ssl-stream-socket.


6.2.7 Conditions

Condition: asn1-error

Asn1 syntax error

Package

cl+ssl.

Source

conditions.lisp.

Direct superclasses

cl+ssl-error.

Condition: cl+ssl-error
Package

cl+ssl.

Source

conditions.lisp.

Direct superclasses

error.

Direct subclasses
Condition: hostname-verification-error
Package

cl+ssl.

Source

verify-hostname.lisp.

Direct superclasses

error.

Direct subclasses
Condition: invalid-asn1-string

ASN.1 string parsing/validation error

Package

cl+ssl.

Source

conditions.lisp.

Direct superclasses

cl+ssl-error.

Direct slots
Slot: type
Package

common-lisp.

Initform

(quote nil)

Initargs

:type

Condition: server-certificate-missing

SSL server didn’t present a certificate

Package

cl+ssl.

Source

conditions.lisp.

Direct superclasses
Condition: ssl-error
Package

cl+ssl.

Source

conditions.lisp.

Direct superclasses

cl+ssl-error.

Direct subclasses
Direct methods
Direct slots
Slot: queue
Initform

(quote nil)

Initargs

:queue

Readers

ssl-error-queue.

Writers

This slot is read-only.

Slot: printed-queue
Initform

(quote nil)

Initargs

:printed-queue

Readers

printed-queue.

Writers

This slot is read-only.

Condition: ssl-error-call

A failure in the SSL library occurred..

Package

cl+ssl.

Source

conditions.lisp.

Direct superclasses

ssl-error.

Direct slots
Slot: message
Initargs

:message

Condition: ssl-error-none

The TLS/SSL I/O operation completed. This result code is returned if and only if ret > 0.

Package

cl+ssl.

Source

conditions.lisp.

Direct superclasses

ssl-error/handle.

Condition: ssl-error-ssl

A failure in the SSL library occurred, usually a protocol error. The OpenSSL error queue contains more information on the error.

Package

cl+ssl.

Source

conditions.lisp.

Direct superclasses

ssl-error/handle.

Direct methods
Direct slots
Slot: verify-error
Initform

(quote nil)

Readers

ssl-error-ssl-verify-error.

Writers

(setf ssl-error-ssl-verify-error).

Condition: ssl-error-syscall

Some I/O error occurred. The OpenSSL error queue may contain more
information on the error. If the error queue is empty (i.e. ERR_get_error() returns 0), ret can be used to find out more about the error: If ret == 0, an EOF was observed that violates the protocol. If ret == -1, the underlying BIO reported an I/O error (for socket I/O on Unix systems, consult errno for details).

Package

cl+ssl.

Source

conditions.lisp.

Direct superclasses

ssl-error/handle.

Direct slots
Slot: syscall
Initargs

:syscall

Condition: ssl-error-want-connect

The operation did not complete; the same TLS/SSL I/O function should be called again later. The underlying BIO was not connected yet to the peer and the call would block in connect()/accept(). The SSL
function should be called again when the connection is established. These messages can only appear with a BIO_s_connect() or
BIO_s_accept() BIO, respectively. In order to find out, when
the connection has been successfully established, on many platforms select() or poll() for writing on the socket file
descriptor can be used.

Package

cl+ssl.

Source

conditions.lisp.

Direct superclasses

ssl-error-want-something.

Condition: ssl-error-want-read

The operation did not complete; the same TLS/SSL I/O function should be called again later. If, by then, the underlying BIO has data available for reading (if the result code is SSL_ERROR_WANT_READ) or allows writing data (SSL_ERROR_WANT_WRITE), then some TLS/SSL protocol progress will take place, i.e. at least part of an TLS/SSL record will be read or written. Note that the retry may again lead to a SSL_ERROR_WANT_READ or SSL_ERROR_WANT_WRITE condition. There is no fixed upper limit for the number of iterations that may be necessary until progress becomes visible at application protocol level.

Package

cl+ssl.

Source

conditions.lisp.

Direct superclasses

ssl-error-want-something.

Condition: ssl-error-want-something
Package

cl+ssl.

Source

conditions.lisp.

Direct superclasses

ssl-error/handle.

Direct subclasses
Condition: ssl-error-want-write

The operation did not complete; the same TLS/SSL I/O function should be called again later. If, by then, the underlying BIO has data available for reading (if the result code is SSL_ERROR_WANT_READ) or allows writing data (SSL_ERROR_WANT_WRITE), then some TLS/SSL protocol progress will take place, i.e. at least part of an TLS/SSL record will be read or written. Note that the retry may again lead to a SSL_ERROR_WANT_READ or SSL_ERROR_WANT_WRITE condition. There is no fixed upper limit for the number of iterations that may be necessary until progress becomes visible at application protocol level.

Package

cl+ssl.

Source

conditions.lisp.

Direct superclasses

ssl-error-want-something.

Condition: ssl-error-want-x509-lookup

The operation did not complete because an application callback set by SSL_CTX_set_client_cert_cb() has asked to be called again. The TLS/SSL I/O function should be called again later. Details depend on the application.

Package

cl+ssl.

Source

conditions.lisp.

Direct superclasses

ssl-error-want-something.

Condition: ssl-error-zero-return

The TLS/SSL connection has been closed. If the protocol version is SSL 3.0 or TLS 1.0, this result code is returned only if a closure alert has occurred in the protocol, i.e. if the connection has been closed cleanly. Note that in this case SSL_ERROR_ZERO_RETURN
does not necessarily indicate that the underlying transport has been closed.

Package

cl+ssl.

Source

conditions.lisp.

Direct superclasses

ssl-error/handle.

Condition: ssl-error/handle

Base condition for lisp wrappers of SSL_get_error return values.

Package

cl+ssl.

Source

conditions.lisp.

Direct superclasses

ssl-error.

Direct subclasses
Direct methods
Direct slots
Slot: ret

The error code returned by SSL_get_error.

Initargs

:ret

Readers

ssl-error-ret.

Writers

This slot is read-only.

Slot: handle
Initargs

:handle

Readers

ssl-error-handle.

Writers

This slot is read-only.

Condition: unable-to-decode-common-name
Package

cl+ssl.

Source

verify-hostname.lisp.

Direct superclasses

hostname-verification-error.

Condition: unable-to-match-altnames
Package

cl+ssl.

Source

verify-hostname.lisp.

Direct superclasses

hostname-verification-error.

Condition: unable-to-match-common-name
Package

cl+ssl.

Source

verify-hostname.lisp.

Direct superclasses

hostname-verification-error.

Condition: verify-location-not-found-error

Unable to find verify locations

Package

cl+ssl.

Source

context.lisp.

Direct superclasses

ssl-error.

Direct slots
Slot: location
Initargs

:location


6.2.8 Classes

Class: asn1_string_st-tclass
Package

cl+ssl.

Source

ffi.lisp.

Direct superclasses
  • foreign-struct-type.
  • translatable-foreign-type.
Class: bio-method-tclass
Package

cl+ssl.

Source

bio.lisp.

Direct superclasses
  • foreign-struct-type.
  • translatable-foreign-type.
Class: bio-tclass
Package

cl+ssl.

Source

bio.lisp.

Direct superclasses
  • foreign-struct-type.
  • translatable-foreign-type.
Class: general-name-tclass
Package

cl+ssl.

Source

ffi.lisp.

Direct superclasses
  • foreign-struct-type.
  • translatable-foreign-type.
Class: ssl-server-stream
Package

cl+ssl.

Source

streams.lisp.

Direct superclasses

ssl-stream.

Direct methods
Direct slots
Slot: certificate
Initargs

:certificate

Readers

ssl-stream-certificate.

Writers

(setf ssl-stream-certificate).

Slot: key
Initargs

:key

Readers

ssl-stream-key.

Writers

(setf ssl-stream-key).

Class: ssl-stream
Package

cl+ssl.

Source

streams.lisp.

Direct superclasses
  • fundamental-binary-input-stream.
  • fundamental-binary-output-stream.
  • trivial-gray-stream-mixin.
Direct subclasses

ssl-server-stream.

Direct methods
Direct slots
Slot: ssl-stream-socket
Initargs

:socket

Readers

ssl-stream-socket.

Writers

(setf ssl-stream-socket).

Slot: close-callback
Initargs

:close-callback

Readers

ssl-close-callback.

Writers

(setf ssl-close-callback).

Slot: handle
Readers

ssl-stream-handle.

Writers

(setf ssl-stream-handle).

Slot: deadline
Initargs

:deadline

Readers

ssl-stream-deadline.

Writers

(setf ssl-stream-deadline).

Slot: output-buffer
Readers

ssl-stream-output-buffer.

Writers

(setf ssl-stream-output-buffer).

Slot: output-pointer
Initform

0

Readers

ssl-stream-output-pointer.

Writers

(setf ssl-stream-output-pointer).

Slot: input-buffer
Readers

ssl-stream-input-buffer.

Writers

(setf ssl-stream-input-buffer).

Slot: peeked-byte
Readers

ssl-stream-peeked-byte.

Writers

(setf ssl-stream-peeked-byte).


6.2.9 Types

Type: openssl-version-patch ()
Package

cl+ssl.

Source

ffi.lisp.

Type: openssl-version-status ()
Package

cl+ssl.

Source

ffi.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
A   B   C   D   E   F   G   H   I   L   M   N   O   P   R   S   T   U   V   W   X  
Index Entry  Section

(
(setf buffer-elt): Private setf expanders
(setf ssl-check-verify-p): Public ordinary functions
(setf ssl-close-callback): Private generic functions
(setf ssl-close-callback): Private generic functions
(setf ssl-error-ssl-verify-error): Private generic functions
(setf ssl-error-ssl-verify-error): Private generic functions
(setf ssl-stream-certificate): Private generic functions
(setf ssl-stream-certificate): Private generic functions
(setf ssl-stream-deadline): Private generic functions
(setf ssl-stream-deadline): Private generic functions
(setf ssl-stream-handle): Private generic functions
(setf ssl-stream-handle): Private generic functions
(setf ssl-stream-input-buffer): Private generic functions
(setf ssl-stream-input-buffer): Private generic functions
(setf ssl-stream-key): Private generic functions
(setf ssl-stream-key): Private generic functions
(setf ssl-stream-output-buffer): Private generic functions
(setf ssl-stream-output-buffer): Private generic functions
(setf ssl-stream-output-pointer): Private generic functions
(setf ssl-stream-output-pointer): Private generic functions
(setf ssl-stream-peeked-byte): Private generic functions
(setf ssl-stream-peeked-byte): Private generic functions
(setf ssl-stream-socket): Private generic functions
(setf ssl-stream-socket): Private generic functions

A
add-verify-locations: Private ordinary functions
asn1-iastring-char-p: Private ordinary functions
asn1-iastring-p: Private ordinary functions
asn1-printable-char-p: Private ordinary functions
asn1-printable-string-p: Private ordinary functions
asn1-string-bytes-vector: Private ordinary functions
asn1-string-data: Private ordinary functions
asn1-string-length: Private ordinary functions
asn1-string-type: Private ordinary functions
asn1-teletex-char-p: Private ordinary functions
asn1-teletex-string-p: Private ordinary functions
asn1-time-check: Private ordinary functions
asn1-utctime-check: Private ordinary functions

B
b/s-replace: Private ordinary functions
bio-clear-flags: Private ordinary functions
bio-clear-flags-slots: Private ordinary functions
bio-free: Private ordinary functions
bio-init: Private ordinary functions
bio-meth-new: Private ordinary functions
bio-new: Private ordinary functions
bio-new-index: Private ordinary functions
bio-new-lisp: Private ordinary functions
bio-new-socket: Private ordinary functions
bio-set-create: Private ordinary functions
bio-set-ctrl: Private ordinary functions
bio-set-destroy: Private ordinary functions
bio-set-fd: Private ordinary functions
bio-set-flags: Private ordinary functions
bio-set-flags-slots: Private ordinary functions
bio-set-gets: Private ordinary functions
bio-set-init: Private ordinary functions
bio-set-puts: Private ordinary functions
bio-set-read: Private ordinary functions
bio-set-write: Private ordinary functions
bio-test-flags: Private ordinary functions
bio-test-flags-slots: Private ordinary functions
buffer-elt: Private ordinary functions
buffer-length: Private ordinary functions

C
call-with-global-context: Private ordinary functions
case-insensitive-match: Private ordinary functions
cert-format-from-path: Private ordinary functions
certificate-alt-names: Private ordinary functions
certificate-dns-alt-names: Private ordinary functions
certificate-fingerprint: Public ordinary functions
certificate-not-after-time: Public ordinary functions
certificate-not-before-time: Public ordinary functions
certificate-pem: Private ordinary functions
certificate-subject-common-names: Public ordinary functions
check-single-wildcard: Private ordinary functions
check-two-labels-after-wildcard: Private ordinary functions
check-wildcard-in-leftmost-label: Private ordinary functions
clear-retry-flags: Private ordinary functions
close: Public standalone methods
close-socket: Private ordinary functions
collect-verify-error: Private ordinary functions
collecting-verify-error: Private macros
collecting-verify-error-impl: Private ordinary functions
compat-bio-clear-flags: Private ordinary functions
compat-bio-set-flags: Private ordinary functions
compat-bio-test-flags: Private ordinary functions
compat-openssl-version: Private ordinary functions
compat-ssl-get1-peer-certificate: Private ordinary functions
copy-bytes-to-lisp-vector: Private ordinary functions
crypto-num-locks: Private ordinary functions
crypto-set-id-callback: Private ordinary functions
crypto-set-locking-callback: Private ordinary functions

D
d2i-x509: Private ordinary functions
decode-asn1-string: Private generic functions
decode-asn1-string: Private generic functions
decode-asn1-string: Private generic functions
decode-asn1-string: Private generic functions
decode-asn1-string: Private generic functions
decode-asn1-string: Private generic functions
decode-asn1-string: Private generic functions
decode-asn1-time: Private ordinary functions
decode-certificate: Public generic functions
decode-certificate: Public generic functions
decode-certificate-from-file: Public ordinary functions
default-ssl-method: Private ordinary functions
defcfun-late-bound: Private macros
defcfun-versioned: Private macros
define-crypto-function: Private macros
define-crypto-function-ex: Private macros
define-libcrypto-path: Public macros
define-libssl-path: Public macros
define-ssl-function: Private macros
define-ssl-function-ex: Private macros
detect-custom-openssl-installations-if-macos: Private ordinary functions
detect-macos-custom-openssl-installations: Private ordinary functions

E
encode-openssl-version: Private ordinary functions
encode-openssl-version-impl: Private ordinary functions
ensure-initialized: Public ordinary functions
ensure-ssl-funcall: Private ordinary functions
err-add-error-data: Private macros
err-add-error-txt: Private ordinary functions
err-error-string: Private ordinary functions
err-get-error: Private ordinary functions
err-get-next-error-library: Private ordinary functions
err-new: Private ordinary functions
err-print-errors: Private ordinary functions
err-print-errors-to-string: Private ordinary functions
err-put-error: Private ordinary functions
err-set-debug: Private ordinary functions
err-set-error: Private macros
evp-get-digest-by-name: Private ordinary functions
evp-md-get-size: Private ordinary functions
evp-md-size: Private ordinary functions

F
format-ssl-error-queue: Private ordinary functions
Function, (setf ssl-check-verify-p): Public ordinary functions
Function, add-verify-locations: Private ordinary functions
Function, asn1-iastring-char-p: Private ordinary functions
Function, asn1-iastring-p: Private ordinary functions
Function, asn1-printable-char-p: Private ordinary functions
Function, asn1-printable-string-p: Private ordinary functions
Function, asn1-string-bytes-vector: Private ordinary functions
Function, asn1-string-data: Private ordinary functions
Function, asn1-string-length: Private ordinary functions
Function, asn1-string-type: Private ordinary functions
Function, asn1-teletex-char-p: Private ordinary functions
Function, asn1-teletex-string-p: Private ordinary functions
Function, asn1-time-check: Private ordinary functions
Function, asn1-utctime-check: Private ordinary functions
Function, b/s-replace: Private ordinary functions
Function, bio-clear-flags: Private ordinary functions
Function, bio-clear-flags-slots: Private ordinary functions
Function, bio-free: Private ordinary functions
Function, bio-init: Private ordinary functions
Function, bio-meth-new: Private ordinary functions
Function, bio-new: Private ordinary functions
Function, bio-new-index: Private ordinary functions
Function, bio-new-lisp: Private ordinary functions
Function, bio-new-socket: Private ordinary functions
Function, bio-set-create: Private ordinary functions
Function, bio-set-ctrl: Private ordinary functions
Function, bio-set-destroy: Private ordinary functions
Function, bio-set-fd: Private ordinary functions
Function, bio-set-flags: Private ordinary functions
Function, bio-set-flags-slots: Private ordinary functions
Function, bio-set-gets: Private ordinary functions
Function, bio-set-init: Private ordinary functions
Function, bio-set-puts: Private ordinary functions
Function, bio-set-read: Private ordinary functions
Function, bio-set-write: Private ordinary functions
Function, bio-test-flags: Private ordinary functions
Function, bio-test-flags-slots: Private ordinary functions
Function, buffer-elt: Private ordinary functions
Function, buffer-length: Private ordinary functions
Function, call-with-global-context: Private ordinary functions
Function, case-insensitive-match: Private ordinary functions
Function, cert-format-from-path: Private ordinary functions
Function, certificate-alt-names: Private ordinary functions
Function, certificate-dns-alt-names: Private ordinary functions
Function, certificate-fingerprint: Public ordinary functions
Function, certificate-not-after-time: Public ordinary functions
Function, certificate-not-before-time: Public ordinary functions
Function, certificate-pem: Private ordinary functions
Function, certificate-subject-common-names: Public ordinary functions
Function, check-single-wildcard: Private ordinary functions
Function, check-two-labels-after-wildcard: Private ordinary functions
Function, check-wildcard-in-leftmost-label: Private ordinary functions
Function, clear-retry-flags: Private ordinary functions
Function, close-socket: Private ordinary functions
Function, collect-verify-error: Private ordinary functions
Function, collecting-verify-error-impl: Private ordinary functions
Function, compat-bio-clear-flags: Private ordinary functions
Function, compat-bio-set-flags: Private ordinary functions
Function, compat-bio-test-flags: Private ordinary functions
Function, compat-openssl-version: Private ordinary functions
Function, compat-ssl-get1-peer-certificate: Private ordinary functions
Function, copy-bytes-to-lisp-vector: Private ordinary functions
Function, crypto-num-locks: Private ordinary functions
Function, crypto-set-id-callback: Private ordinary functions
Function, crypto-set-locking-callback: Private ordinary functions
Function, d2i-x509: Private ordinary functions
Function, decode-asn1-time: Private ordinary functions
Function, decode-certificate-from-file: Public ordinary functions
Function, default-ssl-method: Private ordinary functions
Function, detect-custom-openssl-installations-if-macos: Private ordinary functions
Function, detect-macos-custom-openssl-installations: Private ordinary functions
Function, encode-openssl-version: Private ordinary functions
Function, encode-openssl-version-impl: Private ordinary functions
Function, ensure-initialized: Public ordinary functions
Function, ensure-ssl-funcall: Private ordinary functions
Function, err-add-error-txt: Private ordinary functions
Function, err-error-string: Private ordinary functions
Function, err-get-error: Private ordinary functions
Function, err-get-next-error-library: Private ordinary functions
Function, err-new: Private ordinary functions
Function, err-print-errors: Private ordinary functions
Function, err-print-errors-to-string: Private ordinary functions
Function, err-put-error: Private ordinary functions
Function, err-set-debug: Private ordinary functions
Function, evp-get-digest-by-name: Private ordinary functions
Function, evp-md-get-size: Private ordinary functions
Function, evp-md-size: Private ordinary functions
Function, format-ssl-error-queue: Private ordinary functions
Function, general-names-free: Private ordinary functions
Function, get-selected-alpn-protocol: Public ordinary functions
Function, handle-external-format: Private ordinary functions
Function, init-prng: Private ordinary functions
Function, initialize: Private ordinary functions
Function, input-wait: Private ordinary functions
Function, install-handle-and-bio: Private ordinary functions
Function, install-key-and-cert: Private ordinary functions
Function, install-nonblock-flag: Private ordinary functions
Function, libresslp: Private ordinary functions
Function, lisp-bio-type: Private ordinary functions
Function, make-alpn-proto-string: Private ordinary functions
Function, make-bio-lisp-method: Private ordinary functions
Function, make-bio-lisp-method-opaque: Private ordinary functions
Function, make-bio-lisp-method-slots: Private ordinary functions
Function, make-buffer: Private ordinary functions
Function, make-context: Public ordinary functions
Function, make-ssl-client-stream: Public ordinary functions
Function, make-ssl-server-stream: Public ordinary functions
Function, maybe-try-match-wildcard: Private ordinary functions
Function, maybe-verify-client-stream: Private ordinary functions
Function, nonblocking-ssl-funcall: Private ordinary functions
Function, openssl-add-all-digests: Private ordinary functions
Function, openssl-is-at-least: Private ordinary functions
Function, openssl-is-not-even: Private ordinary functions
Function, openssl-sk-num: Private ordinary functions
Function, openssl-sk-value: Private ordinary functions
Function, openssl-version-num: Private ordinary functions
Function, openssl-version-status-p: Private ordinary functions
Function, output-wait: Private ordinary functions
Function, pem-read-x509: Private ordinary functions
Function, pem-write-x509: Private ordinary functions
Function, put-to-openssl-error-queue: Private ordinary functions
Function, rand-bytes: Private ordinary functions
Function, rand-seed: Private ordinary functions
Function, random-bytes: Public ordinary functions
Function, read-ssl-error-queue: Private ordinary functions
Function, reload: Public ordinary functions
Function, remove-trailing-dot: Private ordinary functions
Function, rsa-free: Private ordinary functions
Function, rsa-generate-key: Private ordinary functions
Function, s/b-replace: Private ordinary functions
Function, seconds-until-deadline: Private ordinary functions
Function, set-buffer-elt: Private ordinary functions
Function, set-retry-read: Private ordinary functions
Function, sk-general-name-num: Private ordinary functions
Function, sk-general-name-value: Private ordinary functions
Function, sk-num: Private ordinary functions
Function, sk-value: Private ordinary functions
Function, slurp-stream: Private ordinary functions
Function, ssl-accept: Private ordinary functions
Function, ssl-check-verify-p: Public ordinary functions
Function, ssl-connect: Private ordinary functions
Function, ssl-ctrl: Private ordinary functions
Function, ssl-ctx-ctrl: Private ordinary functions
Function, ssl-ctx-free: Public ordinary functions
Function, ssl-ctx-load-verify-locations: Private ordinary functions
Function, ssl-ctx-new: Private ordinary functions
Function, ssl-ctx-set-cipher-list: Private ordinary functions
Function, ssl-ctx-set-ciphersuites: Private ordinary functions
Function, ssl-ctx-set-client-ca-list: Private ordinary functions
Function, ssl-ctx-set-default-passwd-cb: Private ordinary functions
Function, ssl-ctx-set-default-verify-dir: Private ordinary functions
Function, ssl-ctx-set-default-verify-file: Private ordinary functions
Function, ssl-ctx-set-default-verify-paths: Private ordinary functions
Function, ssl-ctx-set-max-proto-version: Private ordinary functions
Function, ssl-ctx-set-min-proto-version: Private ordinary functions
Function, ssl-ctx-set-options: Private ordinary functions
Function, ssl-ctx-set-session-cache-mode: Private ordinary functions
Function, ssl-ctx-set-tmp-rsa-callback: Private ordinary functions
Function, ssl-ctx-set-verify: Private ordinary functions
Function, ssl-ctx-set-verify-depth: Private ordinary functions
Function, ssl-ctx-set-verify-location: Private ordinary functions
Function, ssl-ctx-use-certificate-chain-file: Private ordinary functions
Function, ssl-ctx-use-privatekey-file: Private ordinary functions
Function, ssl-ctx-use-rsa-privatekey-file: Private ordinary functions
Function, ssl-eay: Private ordinary functions
Function, ssl-free: Private ordinary functions
Function, ssl-get-error: Private ordinary functions
Function, ssl-get-fd: Private ordinary functions
Function, ssl-get-peer-certificate: Private ordinary functions
Function, ssl-get-verify-result: Private ordinary functions
Function, ssl-get-version: Private ordinary functions
Function, ssl-get0-alpn-selected: Private ordinary functions
Function, ssl-get1-peer-certificate: Private ordinary functions
Function, ssl-initialized-p: Private ordinary functions
Function, ssl-library-init: Private ordinary functions
Function, ssl-load-client-ca-file: Private ordinary functions
Function, ssl-load-error-strings: Private ordinary functions
Function, ssl-load-global-verify-locations: Public ordinary functions
Function, ssl-new: Private ordinary functions
Function, ssl-read: Private ordinary functions
Function, ssl-set-accept-state: Private ordinary functions
Function, ssl-set-alpn-protos: Private ordinary functions
Function, ssl-set-bio: Private ordinary functions
Function, ssl-set-cipher-list: Private ordinary functions
Function, ssl-set-ciphersuites: Private ordinary functions
Function, ssl-set-connect-state: Private ordinary functions
Function, ssl-set-fd: Private ordinary functions
Function, ssl-set-global-default-verify-paths: Public ordinary functions
Function, ssl-set-tlsext-host-name: Private ordinary functions
Function, ssl-shutdown: Private ordinary functions
Function, ssl-signal-error: Private ordinary functions
Function, ssl-stream-x509-certificate: Public ordinary functions
Function, ssl-tlsv1-1-client-method: Private ordinary functions
Function, ssl-tlsv1-1-method: Private ordinary functions
Function, ssl-tlsv1-1-server-method: Private ordinary functions
Function, ssl-tlsv1-2-client-method: Private ordinary functions
Function, ssl-tlsv1-2-method: Private ordinary functions
Function, ssl-tlsv1-2-server-method: Private ordinary functions
Function, ssl-tlsv1-client-method: Private ordinary functions
Function, ssl-tlsv1-method: Private ordinary functions
Function, ssl-tlsv1-server-method: Private ordinary functions
Function, ssl-use-certificate-file: Private ordinary functions
Function, ssl-use-privatekey-file: Private ordinary functions
Function, ssl-use-rsa-privatekey-file: Private ordinary functions
Function, ssl-v23-client-method: Private ordinary functions
Function, ssl-v23-method: Private ordinary functions
Function, ssl-v23-server-method: Private ordinary functions
Function, ssl-v3-client-method: Private ordinary functions
Function, ssl-v3-method: Private ordinary functions
Function, ssl-v3-server-method: Private ordinary functions
Function, ssl-verify-error-code: Private ordinary functions
Function, ssl-verify-error-keyword: Private ordinary functions
Function, ssl-verify-init: Private ordinary functions
Function, ssl-write: Private ordinary functions
Function, tls-method: Private ordinary functions
Function, try-get-asn1-string-data: Private ordinary functions
Function, try-match-hostname: Private ordinary functions
Function, try-match-hostnames: Private ordinary functions
Function, try-match-wildcard: Private ordinary functions
Function, use-certificate-chain-file: Public ordinary functions
Function, validate-and-parse-wildcard-identifier: Private ordinary functions
Function, validate-verify-location: Private ordinary functions
Function, verify-hostname: Public ordinary functions
Function, wildcard-not-in-a-label: Private ordinary functions
Function, x509-cert-from-pem: Private ordinary functions
Function, x509-certificate-names: Private ordinary functions
Function, x509-digest: Private ordinary functions
Function, x509-free: Public ordinary functions
Function, x509-get-ext-d2i: Private ordinary functions
Function, x509-get-issuer-name: Private ordinary functions
Function, x509-get-subject-name: Private ordinary functions
Function, x509-get0-not-after: Private ordinary functions
Function, x509-get0-not-before: Private ordinary functions
Function, x509-name-entry-get-data: Private ordinary functions
Function, x509-name-get-entry: Private ordinary functions
Function, x509-name-get-index-by-nid: Private ordinary functions
Function, x509-name-oneline: Private ordinary functions
Function, x509-store-ctx-get-error: Private ordinary functions

G
general-names-free: Private ordinary functions
Generic Function, (setf ssl-close-callback): Private generic functions
Generic Function, (setf ssl-error-ssl-verify-error): Private generic functions
Generic Function, (setf ssl-stream-certificate): Private generic functions
Generic Function, (setf ssl-stream-deadline): Private generic functions
Generic Function, (setf ssl-stream-handle): Private generic functions
Generic Function, (setf ssl-stream-input-buffer): Private generic functions
Generic Function, (setf ssl-stream-key): Private generic functions
Generic Function, (setf ssl-stream-output-buffer): Private generic functions
Generic Function, (setf ssl-stream-output-pointer): Private generic functions
Generic Function, (setf ssl-stream-peeked-byte): Private generic functions
Generic Function, (setf ssl-stream-socket): Private generic functions
Generic Function, decode-asn1-string: Private generic functions
Generic Function, decode-certificate: Public generic functions
Generic Function, printed-queue: Private generic functions
Generic Function, ssl-close-callback: Private generic functions
Generic Function, ssl-error-code: Public generic functions
Generic Function, ssl-error-handle: Private generic functions
Generic Function, ssl-error-queue: Private generic functions
Generic Function, ssl-error-reason: Private generic functions
Generic Function, ssl-error-ret: Private generic functions
Generic Function, ssl-error-ssl-verify-error: Private generic functions
Generic Function, ssl-error-stream: Public generic functions
Generic Function, ssl-stream-certificate: Private generic functions
Generic Function, ssl-stream-deadline: Private generic functions
Generic Function, ssl-stream-handle: Private generic functions
Generic Function, ssl-stream-input-buffer: Private generic functions
Generic Function, ssl-stream-key: Private generic functions
Generic Function, ssl-stream-output-buffer: Private generic functions
Generic Function, ssl-stream-output-pointer: Private generic functions
Generic Function, ssl-stream-peeked-byte: Private generic functions
Generic Function, ssl-stream-socket: Private generic functions
Generic Function, stream-fd: Public generic functions
get-selected-alpn-protocol: Public ordinary functions

H
handle-external-format: Private ordinary functions

I
init-prng: Private ordinary functions
initialize: Private ordinary functions
initialize-instance: Public standalone methods
input-wait: Private ordinary functions
install-handle-and-bio: Private ordinary functions
install-key-and-cert: Private ordinary functions
install-nonblock-flag: Private ordinary functions

L
libresslp: Private ordinary functions
lisp-bio-type: Private ordinary functions

M
Macro, collecting-verify-error: Private macros
Macro, defcfun-late-bound: Private macros
Macro, defcfun-versioned: Private macros
Macro, define-crypto-function: Private macros
Macro, define-crypto-function-ex: Private macros
Macro, define-libcrypto-path: Public macros
Macro, define-libssl-path: Public macros
Macro, define-ssl-function: Private macros
Macro, define-ssl-function-ex: Private macros
Macro, err-add-error-data: Private macros
Macro, err-set-error: Private macros
Macro, while: Private macros
Macro, with-bio-input-from-string: Private macros
Macro, with-bio-output-to-string: Private macros
Macro, with-global-context: Public macros
Macro, with-new-ssl: Private macros
Macro, with-pem-password: Public macros
Macro, with-pointer-to-vector-data: Private macros
make-alpn-proto-string: Private ordinary functions
make-bio-lisp-method: Private ordinary functions
make-bio-lisp-method-opaque: Private ordinary functions
make-bio-lisp-method-slots: Private ordinary functions
make-buffer: Private ordinary functions
make-context: Public ordinary functions
make-ssl-client-stream: Public ordinary functions
make-ssl-server-stream: Public ordinary functions
maybe-try-match-wildcard: Private ordinary functions
maybe-verify-client-stream: Private ordinary functions
Method, (setf ssl-close-callback): Private generic functions
Method, (setf ssl-error-ssl-verify-error): Private generic functions
Method, (setf ssl-stream-certificate): Private generic functions
Method, (setf ssl-stream-deadline): Private generic functions
Method, (setf ssl-stream-handle): Private generic functions
Method, (setf ssl-stream-input-buffer): Private generic functions
Method, (setf ssl-stream-key): Private generic functions
Method, (setf ssl-stream-output-buffer): Private generic functions
Method, (setf ssl-stream-output-pointer): Private generic functions
Method, (setf ssl-stream-peeked-byte): Private generic functions
Method, (setf ssl-stream-socket): Private generic functions
Method, close: Public standalone methods
Method, decode-asn1-string: Private generic functions
Method, decode-asn1-string: Private generic functions
Method, decode-asn1-string: Private generic functions
Method, decode-asn1-string: Private generic functions
Method, decode-asn1-string: Private generic functions
Method, decode-asn1-string: Private generic functions
Method, decode-certificate: Public generic functions
Method, initialize-instance: Public standalone methods
Method, open-stream-p: Public standalone methods
Method, print-object: Public standalone methods
Method, printed-queue: Private generic functions
Method, ssl-close-callback: Private generic functions
Method, ssl-error-code: Public generic functions
Method, ssl-error-handle: Private generic functions
Method, ssl-error-queue: Private generic functions
Method, ssl-error-reason: Private generic functions
Method, ssl-error-ret: Private generic functions
Method, ssl-error-ssl-verify-error: Private generic functions
Method, ssl-error-stream: Public generic functions
Method, ssl-stream-certificate: Private generic functions
Method, ssl-stream-deadline: Private generic functions
Method, ssl-stream-handle: Private generic functions
Method, ssl-stream-handle: Private generic functions
Method, ssl-stream-input-buffer: Private generic functions
Method, ssl-stream-key: Private generic functions
Method, ssl-stream-output-buffer: Private generic functions
Method, ssl-stream-output-pointer: Private generic functions
Method, ssl-stream-peeked-byte: Private generic functions
Method, ssl-stream-socket: Private generic functions
Method, stream-element-type: Public standalone methods
Method, stream-fd: Public generic functions
Method, stream-fd: Public generic functions
Method, stream-finish-output: Public standalone methods
Method, stream-force-output: Public standalone methods
Method, stream-listen: Public standalone methods
Method, stream-read-byte: Public standalone methods
Method, stream-read-sequence: Public standalone methods
Method, stream-write-byte: Public standalone methods
Method, stream-write-sequence: Public standalone methods

N
nonblocking-ssl-funcall: Private ordinary functions

O
open-stream-p: Public standalone methods
openssl-add-all-digests: Private ordinary functions
openssl-is-at-least: Private ordinary functions
openssl-is-not-even: Private ordinary functions
openssl-sk-num: Private ordinary functions
openssl-sk-value: Private ordinary functions
openssl-version-num: Private ordinary functions
openssl-version-status-p: Private ordinary functions
output-wait: Private ordinary functions

P
pem-read-x509: Private ordinary functions
pem-write-x509: Private ordinary functions
print-object: Public standalone methods
printed-queue: Private generic functions
printed-queue: Private generic functions
put-to-openssl-error-queue: Private ordinary functions

R
rand-bytes: Private ordinary functions
rand-seed: Private ordinary functions
random-bytes: Public ordinary functions
read-ssl-error-queue: Private ordinary functions
reload: Public ordinary functions
remove-trailing-dot: Private ordinary functions
rsa-free: Private ordinary functions
rsa-generate-key: Private ordinary functions

S
s/b-replace: Private ordinary functions
seconds-until-deadline: Private ordinary functions
set-buffer-elt: Private ordinary functions
set-retry-read: Private ordinary functions
Setf Expander, (setf buffer-elt): Private setf expanders
sk-general-name-num: Private ordinary functions
sk-general-name-value: Private ordinary functions
sk-num: Private ordinary functions
sk-value: Private ordinary functions
slurp-stream: Private ordinary functions
ssl-accept: Private ordinary functions
ssl-check-verify-p: Public ordinary functions
ssl-close-callback: Private generic functions
ssl-close-callback: Private generic functions
ssl-connect: Private ordinary functions
ssl-ctrl: Private ordinary functions
ssl-ctx-ctrl: Private ordinary functions
ssl-ctx-free: Public ordinary functions
ssl-ctx-load-verify-locations: Private ordinary functions
ssl-ctx-new: Private ordinary functions
ssl-ctx-set-cipher-list: Private ordinary functions
ssl-ctx-set-ciphersuites: Private ordinary functions
ssl-ctx-set-client-ca-list: Private ordinary functions
ssl-ctx-set-default-passwd-cb: Private ordinary functions
ssl-ctx-set-default-verify-dir: Private ordinary functions
ssl-ctx-set-default-verify-file: Private ordinary functions
ssl-ctx-set-default-verify-paths: Private ordinary functions
ssl-ctx-set-max-proto-version: Private ordinary functions
ssl-ctx-set-min-proto-version: Private ordinary functions
ssl-ctx-set-options: Private ordinary functions
ssl-ctx-set-session-cache-mode: Private ordinary functions
ssl-ctx-set-tmp-rsa-callback: Private ordinary functions
ssl-ctx-set-verify: Private ordinary functions
ssl-ctx-set-verify-depth: Private ordinary functions
ssl-ctx-set-verify-location: Private ordinary functions
ssl-ctx-use-certificate-chain-file: Private ordinary functions
ssl-ctx-use-privatekey-file: Private ordinary functions
ssl-ctx-use-rsa-privatekey-file: Private ordinary functions
ssl-eay: Private ordinary functions
ssl-error-code: Public generic functions
ssl-error-code: Public generic functions
ssl-error-handle: Private generic functions
ssl-error-handle: Private generic functions
ssl-error-queue: Private generic functions
ssl-error-queue: Private generic functions
ssl-error-reason: Private generic functions
ssl-error-reason: Private generic functions
ssl-error-ret: Private generic functions
ssl-error-ret: Private generic functions
ssl-error-ssl-verify-error: Private generic functions
ssl-error-ssl-verify-error: Private generic functions
ssl-error-stream: Public generic functions
ssl-error-stream: Public generic functions
ssl-free: Private ordinary functions
ssl-get-error: Private ordinary functions
ssl-get-fd: Private ordinary functions
ssl-get-peer-certificate: Private ordinary functions
ssl-get-verify-result: Private ordinary functions
ssl-get-version: Private ordinary functions
ssl-get0-alpn-selected: Private ordinary functions
ssl-get1-peer-certificate: Private ordinary functions
ssl-initialized-p: Private ordinary functions
ssl-library-init: Private ordinary functions
ssl-load-client-ca-file: Private ordinary functions
ssl-load-error-strings: Private ordinary functions
ssl-load-global-verify-locations: Public ordinary functions
ssl-new: Private ordinary functions
ssl-read: Private ordinary functions
ssl-set-accept-state: Private ordinary functions
ssl-set-alpn-protos: Private ordinary functions
ssl-set-bio: Private ordinary functions
ssl-set-cipher-list: Private ordinary functions
ssl-set-ciphersuites: Private ordinary functions
ssl-set-connect-state: Private ordinary functions
ssl-set-fd: Private ordinary functions
ssl-set-global-default-verify-paths: Public ordinary functions
ssl-set-tlsext-host-name: Private ordinary functions
ssl-shutdown: Private ordinary functions
ssl-signal-error: Private ordinary functions
ssl-stream-certificate: Private generic functions
ssl-stream-certificate: Private generic functions
ssl-stream-deadline: Private generic functions
ssl-stream-deadline: Private generic functions
ssl-stream-handle: Private generic functions
ssl-stream-handle: Private generic functions
ssl-stream-handle: Private generic functions
ssl-stream-input-buffer: Private generic functions
ssl-stream-input-buffer: Private generic functions
ssl-stream-key: Private generic functions
ssl-stream-key: Private generic functions
ssl-stream-output-buffer: Private generic functions
ssl-stream-output-buffer: Private generic functions
ssl-stream-output-pointer: Private generic functions
ssl-stream-output-pointer: Private generic functions
ssl-stream-peeked-byte: Private generic functions
ssl-stream-peeked-byte: Private generic functions
ssl-stream-socket: Private generic functions
ssl-stream-socket: Private generic functions
ssl-stream-x509-certificate: Public ordinary functions
ssl-tlsv1-1-client-method: Private ordinary functions
ssl-tlsv1-1-method: Private ordinary functions
ssl-tlsv1-1-server-method: Private ordinary functions
ssl-tlsv1-2-client-method: Private ordinary functions
ssl-tlsv1-2-method: Private ordinary functions
ssl-tlsv1-2-server-method: Private ordinary functions
ssl-tlsv1-client-method: Private ordinary functions
ssl-tlsv1-method: Private ordinary functions
ssl-tlsv1-server-method: Private ordinary functions
ssl-use-certificate-file: Private ordinary functions
ssl-use-privatekey-file: Private ordinary functions
ssl-use-rsa-privatekey-file: Private ordinary functions
ssl-v23-client-method: Private ordinary functions
ssl-v23-method: Private ordinary functions
ssl-v23-server-method: Private ordinary functions
ssl-v3-client-method: Private ordinary functions
ssl-v3-method: Private ordinary functions
ssl-v3-server-method: Private ordinary functions
ssl-verify-error-code: Private ordinary functions
ssl-verify-error-keyword: Private ordinary functions
ssl-verify-init: Private ordinary functions
ssl-write: Private ordinary functions
stream-element-type: Public standalone methods
stream-fd: Public generic functions
stream-fd: Public generic functions
stream-fd: Public generic functions
stream-finish-output: Public standalone methods
stream-force-output: Public standalone methods
stream-listen: Public standalone methods
stream-read-byte: Public standalone methods
stream-read-sequence: Public standalone methods
stream-write-byte: Public standalone methods
stream-write-sequence: Public standalone methods

T
tls-method: Private ordinary functions
try-get-asn1-string-data: Private ordinary functions
try-match-hostname: Private ordinary functions
try-match-hostnames: Private ordinary functions
try-match-wildcard: Private ordinary functions

U
use-certificate-chain-file: Public ordinary functions

V
validate-and-parse-wildcard-identifier: Private ordinary functions
validate-verify-location: Private ordinary functions
verify-hostname: Public ordinary functions

W
while: Private macros
wildcard-not-in-a-label: Private ordinary functions
with-bio-input-from-string: Private macros
with-bio-output-to-string: Private macros
with-global-context: Public macros
with-new-ssl: Private macros
with-pem-password: Public macros
with-pointer-to-vector-data: Private macros

X
x509-cert-from-pem: Private ordinary functions
x509-certificate-names: Private ordinary functions
x509-digest: Private ordinary functions
x509-free: Public ordinary functions
x509-get-ext-d2i: Private ordinary functions
x509-get-issuer-name: Private ordinary functions
x509-get-subject-name: Private ordinary functions
x509-get0-not-after: Private ordinary functions
x509-get0-not-before: Private ordinary functions
x509-name-entry-get-data: Private ordinary functions
x509-name-get-entry: Private ordinary functions
x509-name-get-index-by-nid: Private ordinary functions
x509-name-oneline: Private ordinary functions
x509-store-ctx-get-error: Private ordinary functions


A.3 Variables

Jump to:   *   +  
C   D   E   H   I   K   L   M   O   P   Q   R   S   T   V  
Index Entry  Section

*
*bio-blockp*: Private special variables
*bio-is-opaque*: Private special variables
*bio-lisp-method*: Private special variables
*bio-socket*: Private special variables
*cl+ssl-crypto-foreign-function-names*: Private special variables
*cl+ssl-ssl-foreign-function-names*: Private special variables
*default-buffer-size*: Public special variables
*default-cipher-list*: Public special variables
*default-unwrap-stream-p*: Public special variables
*file-name*: Private special variables
*global-lock*: Private special variables
*late-bound-foreign-function-pointers*: Private special variables
*lib-num-for-errors*: Private special variables
*libcrypto-override*: Private special variables
*libssl-override*: Private special variables
*lisp-bio-type*: Private special variables
*locks*: Private special variables
*make-ssl-client-stream-verify-default*: Public special variables
*pem-password*: Private special variables
*ssl-check-verify-p*: Private special variables
*ssl-global-context*: Private special variables
*ssl-global-method*: Private special variables
*ssl-verify-error-alist*: Private special variables
*thread-counter*: Private special variables
*threads*: Private special variables
*tmp-rsa-key-1024*: Private special variables
*tmp-rsa-key-2048*: Private special variables
*tmp-rsa-key-512*: Private special variables

+
+bio-type-socket+: Private constants
+bio_ctrl_eof+: Private constants
+bio_ctrl_flush+: Private constants
+bio_flags_in_eof+: Private constants
+bio_flags_io_special+: Private constants
+bio_flags_read+: Private constants
+bio_flags_rws+: Private constants
+bio_flags_should_retry+: Private constants
+bio_flags_write+: Private constants
+bio_type_descriptor+: Private constants
+bio_type_source_sink+: Private constants
+crypto-lock+: Private constants
+crypto-read+: Private constants
+crypto-unlock+: Private constants
+crypto-write+: Private constants
+dtls1-2-version+: Private constants
+dtls1-version+: Private constants
+err_lib_none+: Private constants
+err_r_fatal+: Private constants
+err_r_internal_error+: Private constants
+gen-dirname+: Private constants
+gen-dns+: Private constants
+gen-ediparty+: Private constants
+gen-email+: Private constants
+gen-ipadd+: Private constants
+gen-othername+: Private constants
+gen-rid+: Private constants
+gen-uri+: Private constants
+gen-x400+: Private constants
+nid-commonname+: Private constants
+nid-subject-alt-name+: Private constants
+openssl-version-patch-characters+: Private special variables
+openssl-version-status-strings+: Private special variables
+rsa_f4+: Private constants
+ssl-ctrl-options+: Private constants
+ssl-ctrl-set-max-proto-version+: Private constants
+ssl-ctrl-set-min-proto-version+: Private constants
+ssl-error-none+: Private constants
+ssl-error-ssl+: Private constants
+ssl-error-syscall+: Private constants
+ssl-error-want-connect+: Private constants
+ssl-error-want-read+: Private constants
+ssl-error-want-write+: Private constants
+ssl-error-want-x509-lookup+: Private constants
+ssl-error-zero-return+: Private constants
+ssl-filetype-asn1+: Private constants
+ssl-filetype-default+: Private constants
+ssl-filetype-pem+: Private constants
+ssl-op-all+: Private constants
+ssl-op-ignore-unexpected-eof+: Private constants
+ssl-op-no-sslv2+: Public constants
+ssl-op-no-sslv3+: Public constants
+ssl-op-no-tlsv1+: Public constants
+ssl-op-no-tlsv1-1+: Public constants
+ssl-op-no-tlsv1-2+: Public constants
+ssl-sess-cache-both+: Public constants
+ssl-sess-cache-client+: Public constants
+ssl-sess-cache-no-auto-clear+: Public constants
+ssl-sess-cache-no-internal+: Public constants
+ssl-sess-cache-no-internal-lookup+: Public constants
+ssl-sess-cache-no-internal-store+: Public constants
+ssl-sess-cache-off+: Public constants
+ssl-sess-cache-server+: Public constants
+ssl-verify-client-once+: Public constants
+ssl-verify-fail-if-no-peer-cert+: Public constants
+ssl-verify-none+: Public constants
+ssl-verify-peer+: Public constants
+ssl3-version+: Private constants
+ssl_ctrl_mode+: Private constants
+ssl_ctrl_set_sess_cache_mode+: Private constants
+ssl_mode_accept_moving_write_buffer+: Private constants
+tls1-1-version+: Private constants
+tls1-2-version+: Private constants
+tls1-3-version+: Private constants
+tls1-version+: Private constants
+v-asn1-bmpstring+: Private constants
+v-asn1-iastring+: Private constants
+v-asn1-octet-string+: Private constants
+v-asn1-printablestring+: Private constants
+v-asn1-teletexstring+: Private constants
+v-asn1-universalstring+: Private constants
+v-asn1-utf8string+: Private constants
+x509-v-ok+: Private constants

C
certificate: Private classes
close-callback: Private classes
Constant, +bio-type-socket+: Private constants
Constant, +bio_ctrl_eof+: Private constants
Constant, +bio_ctrl_flush+: Private constants
Constant, +bio_flags_in_eof+: Private constants
Constant, +bio_flags_io_special+: Private constants
Constant, +bio_flags_read+: Private constants
Constant, +bio_flags_rws+: Private constants
Constant, +bio_flags_should_retry+: Private constants
Constant, +bio_flags_write+: Private constants
Constant, +bio_type_descriptor+: Private constants
Constant, +bio_type_source_sink+: Private constants
Constant, +crypto-lock+: Private constants
Constant, +crypto-read+: Private constants
Constant, +crypto-unlock+: Private constants
Constant, +crypto-write+: Private constants
Constant, +dtls1-2-version+: Private constants
Constant, +dtls1-version+: Private constants
Constant, +err_lib_none+: Private constants
Constant, +err_r_fatal+: Private constants
Constant, +err_r_internal_error+: Private constants
Constant, +gen-dirname+: Private constants
Constant, +gen-dns+: Private constants
Constant, +gen-ediparty+: Private constants
Constant, +gen-email+: Private constants
Constant, +gen-ipadd+: Private constants
Constant, +gen-othername+: Private constants
Constant, +gen-rid+: Private constants
Constant, +gen-uri+: Private constants
Constant, +gen-x400+: Private constants
Constant, +nid-commonname+: Private constants
Constant, +nid-subject-alt-name+: Private constants
Constant, +rsa_f4+: Private constants
Constant, +ssl-ctrl-options+: Private constants
Constant, +ssl-ctrl-set-max-proto-version+: Private constants
Constant, +ssl-ctrl-set-min-proto-version+: Private constants
Constant, +ssl-error-none+: Private constants
Constant, +ssl-error-ssl+: Private constants
Constant, +ssl-error-syscall+: Private constants
Constant, +ssl-error-want-connect+: Private constants
Constant, +ssl-error-want-read+: Private constants
Constant, +ssl-error-want-write+: Private constants
Constant, +ssl-error-want-x509-lookup+: Private constants
Constant, +ssl-error-zero-return+: Private constants
Constant, +ssl-filetype-asn1+: Private constants
Constant, +ssl-filetype-default+: Private constants
Constant, +ssl-filetype-pem+: Private constants
Constant, +ssl-op-all+: Private constants
Constant, +ssl-op-ignore-unexpected-eof+: Private constants
Constant, +ssl-op-no-sslv2+: Public constants
Constant, +ssl-op-no-sslv3+: Public constants
Constant, +ssl-op-no-tlsv1+: Public constants
Constant, +ssl-op-no-tlsv1-1+: Public constants
Constant, +ssl-op-no-tlsv1-2+: Public constants
Constant, +ssl-sess-cache-both+: Public constants
Constant, +ssl-sess-cache-client+: Public constants
Constant, +ssl-sess-cache-no-auto-clear+: Public constants
Constant, +ssl-sess-cache-no-internal+: Public constants
Constant, +ssl-sess-cache-no-internal-lookup+: Public constants
Constant, +ssl-sess-cache-no-internal-store+: Public constants
Constant, +ssl-sess-cache-off+: Public constants
Constant, +ssl-sess-cache-server+: Public constants
Constant, +ssl-verify-client-once+: Public constants
Constant, +ssl-verify-fail-if-no-peer-cert+: Public constants
Constant, +ssl-verify-none+: Public constants
Constant, +ssl-verify-peer+: Public constants
Constant, +ssl3-version+: Private constants
Constant, +ssl_ctrl_mode+: Private constants
Constant, +ssl_ctrl_set_sess_cache_mode+: Private constants
Constant, +ssl_mode_accept_moving_write_buffer+: Private constants
Constant, +tls1-1-version+: Private constants
Constant, +tls1-2-version+: Private constants
Constant, +tls1-3-version+: Private constants
Constant, +tls1-version+: Private constants
Constant, +v-asn1-bmpstring+: Private constants
Constant, +v-asn1-iastring+: Private constants
Constant, +v-asn1-octet-string+: Private constants
Constant, +v-asn1-printablestring+: Private constants
Constant, +v-asn1-teletexstring+: Private constants
Constant, +v-asn1-universalstring+: Private constants
Constant, +v-asn1-utf8string+: Private constants
Constant, +x509-v-ok+: Private constants

D
deadline: Private classes

E
error-code: Public conditions

H
handle: Private conditions
handle: Private classes

I
input-buffer: Private classes

K
key: Private classes

L
location: Private conditions

M
message: Private conditions

O
output-buffer: Private classes
output-pointer: Private classes

P
peeked-byte: Private classes
printed-queue: Private conditions

Q
queue: Private conditions

R
reason: Public conditions
ret: Private conditions

S
Slot, certificate: Private classes
Slot, close-callback: Private classes
Slot, deadline: Private classes
Slot, error-code: Public conditions
Slot, handle: Private conditions
Slot, handle: Private classes
Slot, input-buffer: Private classes
Slot, key: Private classes
Slot, location: Private conditions
Slot, message: Private conditions
Slot, output-buffer: Private classes
Slot, output-pointer: Private classes
Slot, peeked-byte: Private classes
Slot, printed-queue: Private conditions
Slot, queue: Private conditions
Slot, reason: Public conditions
Slot, ret: Private conditions
Slot, ssl-stream-socket: Private classes
Slot, stream: Public conditions
Slot, syscall: Private conditions
Slot, type: Private conditions
Slot, verify-error: Private conditions
Special Variable, *bio-blockp*: Private special variables
Special Variable, *bio-is-opaque*: Private special variables
Special Variable, *bio-lisp-method*: Private special variables
Special Variable, *bio-socket*: Private special variables
Special Variable, *cl+ssl-crypto-foreign-function-names*: Private special variables
Special Variable, *cl+ssl-ssl-foreign-function-names*: Private special variables
Special Variable, *default-buffer-size*: Public special variables
Special Variable, *default-cipher-list*: Public special variables
Special Variable, *default-unwrap-stream-p*: Public special variables
Special Variable, *file-name*: Private special variables
Special Variable, *global-lock*: Private special variables
Special Variable, *late-bound-foreign-function-pointers*: Private special variables
Special Variable, *lib-num-for-errors*: Private special variables
Special Variable, *libcrypto-override*: Private special variables
Special Variable, *libssl-override*: Private special variables
Special Variable, *lisp-bio-type*: Private special variables
Special Variable, *locks*: Private special variables
Special Variable, *make-ssl-client-stream-verify-default*: Public special variables
Special Variable, *pem-password*: Private special variables
Special Variable, *ssl-check-verify-p*: Private special variables
Special Variable, *ssl-global-context*: Private special variables
Special Variable, *ssl-global-method*: Private special variables
Special Variable, *ssl-verify-error-alist*: Private special variables
Special Variable, *thread-counter*: Private special variables
Special Variable, *threads*: Private special variables
Special Variable, *tmp-rsa-key-1024*: Private special variables
Special Variable, *tmp-rsa-key-2048*: Private special variables
Special Variable, *tmp-rsa-key-512*: Private special variables
Special Variable, +openssl-version-patch-characters+: Private special variables
Special Variable, +openssl-version-status-strings+: Private special variables
ssl-stream-socket: Private classes
stream: Public conditions
syscall: Private conditions

T
type: Private conditions

V
verify-error: Private conditions


A.4 Data types

Jump to:   A   B   C   F   G   H   I   M   O   P   R   S   T   U   V   X  
Index Entry  Section

A
asn1-error: Private conditions
asn1_string_st-tclass: Private classes

B
bio-method-tclass: Private classes
bio-tclass: Private classes
bio.lisp: The cl+ssl/src/bio․lisp file

C
cl+ssl: The cl+ssl system
cl+ssl: The cl+ssl package
cl+ssl-error: Private conditions
cl+ssl.asd: The cl+ssl/cl+ssl․asd file
cl+ssl/config: The cl+ssl/config system
cl+ssl/config: The cl+ssl/config package
Class, asn1_string_st-tclass: Private classes
Class, bio-method-tclass: Private classes
Class, bio-tclass: Private classes
Class, general-name-tclass: Private classes
Class, ssl-server-stream: Private classes
Class, ssl-stream: Private classes
Condition, asn1-error: Private conditions
Condition, cl+ssl-error: Private conditions
Condition, hostname-verification-error: Private conditions
Condition, invalid-asn1-string: Private conditions
Condition, server-certificate-missing: Private conditions
Condition, ssl-error: Private conditions
Condition, ssl-error-call: Private conditions
Condition, ssl-error-initialize: Public conditions
Condition, ssl-error-none: Private conditions
Condition, ssl-error-ssl: Private conditions
Condition, ssl-error-syscall: Private conditions
Condition, ssl-error-verify: Public conditions
Condition, ssl-error-want-connect: Private conditions
Condition, ssl-error-want-read: Private conditions
Condition, ssl-error-want-something: Private conditions
Condition, ssl-error-want-write: Private conditions
Condition, ssl-error-want-x509-lookup: Private conditions
Condition, ssl-error-zero-return: Private conditions
Condition, ssl-error/handle: Private conditions
Condition, unable-to-decode-common-name: Private conditions
Condition, unable-to-match-altnames: Private conditions
Condition, unable-to-match-common-name: Private conditions
Condition, verify-location-not-found-error: Private conditions
conditions.lisp: The cl+ssl/src/conditions․lisp file
config.lisp: The cl+ssl/config/src/config․lisp file
context.lisp: The cl+ssl/src/context․lisp file

F
ffi-buffer-all.lisp: The cl+ssl/src/ffi-buffer-all․lisp file
ffi-buffer-clisp.lisp: The cl+ssl/src/ffi-buffer-clisp․lisp file
ffi-buffer.lisp: The cl+ssl/src/ffi-buffer․lisp file
ffi.lisp: The cl+ssl/src/ffi․lisp file
File, bio.lisp: The cl+ssl/src/bio․lisp file
File, cl+ssl.asd: The cl+ssl/cl+ssl․asd file
File, conditions.lisp: The cl+ssl/src/conditions․lisp file
File, config.lisp: The cl+ssl/config/src/config․lisp file
File, context.lisp: The cl+ssl/src/context․lisp file
File, ffi-buffer-all.lisp: The cl+ssl/src/ffi-buffer-all․lisp file
File, ffi-buffer-clisp.lisp: The cl+ssl/src/ffi-buffer-clisp․lisp file
File, ffi-buffer.lisp: The cl+ssl/src/ffi-buffer․lisp file
File, ffi.lisp: The cl+ssl/src/ffi․lisp file
File, init.lisp: The cl+ssl/src/init․lisp file
File, package.lisp: The cl+ssl/src/package․lisp file
File, random.lisp: The cl+ssl/src/random․lisp file
File, reload.lisp: The cl+ssl/src/reload․lisp file
File, ssl-funcall.lisp: The cl+ssl/src/ssl-funcall․lisp file
File, streams.lisp: The cl+ssl/src/streams․lisp file
File, verify-hostname.lisp: The cl+ssl/src/verify-hostname․lisp file
File, x509.lisp: The cl+ssl/src/x509․lisp file

G
general-name-tclass: Private classes

H
hostname-verification-error: Private conditions

I
init.lisp: The cl+ssl/src/init․lisp file
invalid-asn1-string: Private conditions

M
Module, src: The cl+ssl/src module
Module, src: The cl+ssl/config/src module

O
openssl-version-patch: Private types
openssl-version-status: Private types

P
Package, cl+ssl: The cl+ssl package
Package, cl+ssl/config: The cl+ssl/config package
package.lisp: The cl+ssl/src/package․lisp file

R
random.lisp: The cl+ssl/src/random․lisp file
reload.lisp: The cl+ssl/src/reload․lisp file

S
server-certificate-missing: Private conditions
src: The cl+ssl/src module
src: The cl+ssl/config/src module
ssl-error: Private conditions
ssl-error-call: Private conditions
ssl-error-initialize: Public conditions
ssl-error-none: Private conditions
ssl-error-ssl: Private conditions
ssl-error-syscall: Private conditions
ssl-error-verify: Public conditions
ssl-error-want-connect: Private conditions
ssl-error-want-read: Private conditions
ssl-error-want-something: Private conditions
ssl-error-want-write: Private conditions
ssl-error-want-x509-lookup: Private conditions
ssl-error-zero-return: Private conditions
ssl-error/handle: Private conditions
ssl-funcall.lisp: The cl+ssl/src/ssl-funcall․lisp file
ssl-server-stream: Private classes
ssl-stream: Private classes
streams.lisp: The cl+ssl/src/streams․lisp file
System, cl+ssl: The cl+ssl system
System, cl+ssl/config: The cl+ssl/config system

T
Type, openssl-version-patch: Private types
Type, openssl-version-status: Private types

U
unable-to-decode-common-name: Private conditions
unable-to-match-altnames: Private conditions
unable-to-match-common-name: Private conditions

V
verify-hostname.lisp: The cl+ssl/src/verify-hostname․lisp file
verify-location-not-found-error: Private conditions

X
x509.lisp: The cl+ssl/src/x509․lisp file