/usr/lib/swipl/library/ext/ssl/ssl.pl
All Application Manual Name SummaryHelp

  • 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
      • xmlenc.pl -- XML encryption library
      • xmldsig.pl -- XML Digital signature
 ssl_add_certificate_key(+SSL0, +Certificate, +Key, -SSL)
Add an additional certificate/key pair to SSL0, yielding SSL. Certificate and Key are either strings or atoms that hold the PEM-encoded certificate plus certificate chain and private key, respectively. Using strings is preferred for security reasons.

This predicate allows dual-stack RSA and ECDSA servers (for example), and is an alternative for using the certificate_key_pairs/1 option. As of OpenSSL 1.0.2, multiple certificate types with completely independent certificate chains are supported. If a certificate of the same type is added repeatedly to a context, the result is undefined. Currently, up to 12 additional certificates of different types are admissible.