/usr/lib/swipl/library/ssl.pl
AllApplicationManualNameSummaryHelp

  • swipl
    • library
      • error.pl
      • apply.pl
      • lists.pl
      • debug.pl
      • broadcast.pl
      • socket.pl
      • predicate_options.pl
      • shlib.pl
      • option.pl
      • uid.pl
      • unix.pl
      • syslog.pl
      • thread_pool.pl -- Resource bounded thread management
      • gensym.pl
      • settings.pl -- Setting management
      • arithmetic.pl
      • main.pl
      • readutil.pl
      • 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
      • pldoc.pl -- Process source documentation
      • operators.pl -- Manage operators
      • pairs.pl -- Operations on key-value lists
      • prolog_source.pl -- Examine Prolog source-files
      • pengines.pl -- Pengines: Web Logic Programming Made Easy
      • record.pl -- Access compound arguments by name
      • memfile.pl
      • sgml.pl -- SGML, XML and HTML parser
      • quasi_quotations.pl -- Define Quasi Quotation syntax
      • pure_input.pl -- Pure Input from files and streams
      • time.pl -- Time and alarm library
      • uri.pl -- Process URIs
      • solution_sequences.pl -- Modify solution sequences
      • uuid.pl -- Universally Unique Identifier (UUID) Library
      • ordsets.pl -- Ordered set manipulation
      • random.pl -- Random numbers
      • base64.pl -- Base64 encoding and decoding
      • aggregate.pl -- Aggregation operators on backtrackable predicates
      • pcre.pl -- Perl compatible regular expression matching for SWI-Prolog
      • pengines_io.pl -- Provide Prolog I/O for HTML clients
      • sandbox.pl -- Sandboxed Prolog code
      • apply_macros.pl -- Goal expansion rules to avoid meta-calling
      • assoc.pl -- Binary associations
      • prolog_format.pl -- Analyse format specifications
      • yall.pl -- Lambda expressions
      • sha.pl -- SHA secure hashes
      • process.pl -- Create processes and redirect I/O
      • filesex.pl -- Extended operations on files
      • zlib.pl -- Zlib wrapper for SWI-Prolog
      • bdb.pl -- Berkeley DB interface
      • hash_stream.pl -- Maintain a hash on a stream
      • md5.pl -- MD5 hashes
      • porter_stem.pl
      • csv.pl -- Process CSV (Comma-Separated Values) data
      • pprint.pl -- Pretty Print Prolog terms
      • atom.pl -- Operations on atoms
      • ctypes.pl -- Character code classification
      • modules.pl -- Module utility predicates
      • occurs.pl -- Finding and counting sub-terms
      • prolog_xref.pl -- Prolog cross-referencer data collection
      • prolog_colour.pl
      • lazy_lists.pl -- Lazy list handling
      • prolog_code.pl -- Utilities for reasoning about code
      • ugraphs.pl -- Graph manipulation library
      • xpath.pl -- Select nodes in an XML DOM
      • iostream.pl -- Utilities to deal with streams
      • doc_http.pl -- Documentation server
      • url.pl -- Analysing and constructing URL
      • www_browser.pl -- Open a URL in the users browser
      • prolog_pack.pl -- A package manager for Prolog
      • prolog_config.pl -- Provide configuration information
      • git.pl -- Run GIT commands
      • strings.pl -- String utilities
      • dif.pl -- The dif/2 constraint
      • dialect.pl -- Support multiple Prolog dialects
      • edinburgh.pl -- Some traditional Edinburgh predicates
      • ansi_term.pl -- Print decorated text to ANSI consoles
      • terms.pl -- Term manipulation
      • listing.pl -- List programs and pretty print clauses
      • persistency.pl -- Provide persistent dynamic predicates
      • pengines_sandbox.pl -- Declare Pengine interaction sandbox-safe
      • term_to_json.pl
      • prolog_stack.pl -- Examine the Prolog stack
      • prolog_clause.pl -- Get detailed source-information about a clause
      • prolog_breakpoints.pl -- Manage Prolog break-points
      • wfs.pl -- Well Founded Semantics interface
      • mallocinfo.pl -- Memory allocation details
      • chr.pl
      • sort.pl
      • dicts.pl -- Dict utilities
      • varnumbers.pl -- Utilities for numbered terms
      • nb_set.pl -- Non-backtrackable sets
      • rbtrees.pl -- Red black trees
      • prolog_stream.pl -- A stream with Prolog callbacks
      • backcomp.pl -- Backward compatibility
      • charsio.pl -- I/O on Lists of Character Codes
      • redis.pl -- Redis client
      • increval.pl -- Incremental dynamic predicate modification
      • tables.pl -- XSB interface to tables
      • stomp.pl -- STOMP client.
      • files.pl
      • date.pl -- Process dates and times
      • doc_latex.pl -- PlDoc LaTeX backend
      • heaps.pl -- heaps/priority queues
      • base32.pl -- Base32 encoding and decoding
      • codesio.pl -- I/O on Lists of Character Codes
      • statistics.pl -- Get information about resource usage
      • check.pl -- Consistency checking
      • coinduction.pl -- Co-Logic Programming
      • when.pl -- Conditional coroutining
      • udp_broadcast.pl -- A UDP broadcast proxy
      • thread.pl -- High level thread primitives
      • sgml_write.pl -- XML/SGML writer module
      • odbc.pl
      • table.pl
      • double_metaphone.pl -- Phonetic string matching
      • edit.pl -- Editor interface
      • qsave.pl -- Save current program as a state or executable
      • zip.pl -- Access resource ZIP archives
      • archive.pl -- Access several archive formats
      • editline.pl -- BSD libedit based command line editing
      • unicode.pl -- Unicode string handling
      • mqi.pl
      • make.pl -- Reload modified source files
      • c14n2.pl -- C14n2 canonical XML documents
      • snowball.pl -- The Snowball multi-lingual stemmer library
      • help.pl -- Text based manual
      • plunit.pl -- Unit Testing
      • threadutil.pl -- Interactive thread utilities
 ssl_session(+Stream, -Session) is det
Retrieves (debugging) properties from the SSL context associated with Stream. If Stream is not an SSL stream, the predicate raises a domain error. Session is a list of properties, containing the members described below. Except for Version, all information are byte arrays that are represented as Prolog strings holding characters in the range 0..255.
ssl_version(Version)
The negotiated version of the session as an integer.
cipher(Cipher)
The negotiated cipher for this connection.
session_key(Key)
The key material used in SSLv2 connections (if present).
master_key(Key)
The key material comprising the master secret. This is generated from the server_random, client_random and pre-master key.
client_random(Random)
The random data selected by the client during handshaking.
server_random(Random)
The random data selected by the server during handshaking.
session_id(SessionId)
The SSLv3 session ID. Note that if ECDHE is being used (which is the default for newer versions of OpenSSL), this data will not actually be sent to the server.
alpn_protocol(Protocol)
The negotiated ALPN protocol, if supported. If no protocol was negotiated, this will be an empty string.