The function socket-stream-handshake
performs a handshake on stream, which must be attached to SSL.
socket-stream-handshake
returns false if the handshake does not finish in timeout seconds or if the SSL connection was cleanly closed by the other side. Other failures cause an error to be signaled.
The other socket-stream interface functions signal errors if the handshake fail for any reason, including timeout or clean close.
If SSL was attached with ssl-side :both
, then you will need to specify which side to take in the handshake by calling ssl-set-accept-state
or ssl-set-connect-state
with the ssl-pointer return by socket-stream-ssl.
LispWorks User Guide and Reference Manual - 20 Sep 2017