- 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
- library(ssl): Secure Socket Layer (SSL) library
- SWI-Prolog SSL Interface
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').