• 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]system_root_certificates(-List)
List is a list of trusted root certificates as provided by the OS. This is the list used by ssl_context/3 when using the option system(root_certificates). The list is obtained using an OS specific process. The current implementation is as follows:

  • On Windows, CertOpenSystemStore() is used to import the "ROOT" certificates from the OS.
  • On MacOSX, the trusted keys are loaded from the SystemRootCertificates key chain. The Apple API for this requires the SSL interface to be compiled with an XCode compiler, i.e., not with native gcc.
  • Otherwise, certificates are loaded from a file defined by the Prolog flag system_cacert_filename. The initial value of this flag is operating system dependent. For security reasons, the flag can only be set prior to using the SSL library. For example:
    :- use_module(library(ssl)).
    :- set_prolog_flag(system_cacert_filename,
                       '/home/jan/ssl/ca-bundle.crt').

ClioPatria (version V3.1.1-51-ga0b30a5)