• Places
    • Home
    • Graphs
    • Prefixes
  • Admin
    • Users
    • Settings
    • Plugins
    • Statistics
  • CPACK
    • Home
    • List packs
    • Submit pack
  • Repository
    • Load local file
    • Load from HTTP
    • Load from library
    • Remove triples
    • Clear repository
  • Query
    • YASGUI SPARQL Editor
    • Simple Form
    • SWISH Prolog shell
  • Help
    • Documentation
    • Tutorial
    • Roadmap
    • HTTP Services
  • Login

2 library(ssl): Secure Socket Layer (SSL) library
All Application Manual Name SummaryHelp

  • Documentation
    • Reference manual
    • Packages
      • SWI-Prolog SSL Interface
        • library(ssl): 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
Availability::- use_module(library(ssl)).(can be autoloaded)
Source[det]ssl_negotiate(+SSL, +PlainRead, +PlainWrite, -SSLRead, -SSLWrite)
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 option close_parent(true) (default false), 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.
ClioPatria (version V3.1.1-51-ga0b30a5)