- ext
- ssl
- ssl.pl -- Secure Socket Layer (SSL) library
- ssl_context/3
- ssl_upgrade_legacy_options/2
- ssl_add_certificate_key/4
- ssl_set_options/3
- ssl_property/2
- ssl_negotiate/5
- ssl_peer_certificate/2
- ssl_peer_certificate_chain/2
- ssl_session/2
- load_certificate/2
- write_certificate/3
- load_crl/2
- system_root_certificates/1
- load_private_key/3
- load_public_key/2
- cert_accept_any/5
- same_certificate/2
- verify_certificate_issuer/2
- verify_certificate/3
- certificate_field/2
- ssl_secure_ciphers/1
- crypto.pl -- Cryptography and authentication library
- xmldsig.pl -- XML Digital signature
- xmlenc.pl -- XML encryption library
- ssl.pl -- Secure Socket Layer (SSL) library
- ssl
- ssl_negotiate(+SSL, +PlainRead, +PlainWrite, -SSLRead, -SSLWrite) is det
- Once a connection is established and a read/write stream pair is
available, (PlainRead and PlainWrite), this predicate can be
called to negotiate an SSL session over the streams. If the
negotiation is successful, SSLRead and SSLWrite are returned.
After a successful handshake and finishing the communication the user must close SSLRead and SSLWrite, for example using
call_cleanup(close(SSLWrite), close(SSLRead))
. If the SSL context (created with ssl_context/3 has the optionclose_parent(true)
(defaultfalse
), closing SSLRead and SSLWrite also closes the original PlainRead and PlainWrite streams. Otherwise these must be closed explicitly by the user.- Errors
- -
ssl_error(Code, LibName, FuncName, Reason)
is raised if the negotiation fails. The streams PlainRead and PlainWrite are not closed, but an unknown amount of data may have been read and written.