Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old

CURL.UseSystemCertificates

Read certificate from system and installs them in CURL session,.

Component Version macOS Windows Linux Server iOS SDK
CURL 7.2 ✅ Yes ✅ Yes ❌ No ✅ Yes, on macOS and Windows ❌ No
MBS( "CURL.UseSystemCertificates"; curl )   More

Parameters

Parameter Description Example
curl The CURL session handle. $curl

Result

Returns number or error.

Description

Read certificate from system and installs them in CURL session,.
For macOS and Windows we load the available certificates from keychain or Windows Certificate Store and pass them to CURL. This is better than having no certificates at all.
Even better is normally to provide a cacert.pem file with only the expected certificates.
Returns number of certificates loaded.

Examples

Enable system certificates:

Set Variable [$result; Value:MBS("CURL.UseSystemCertificates"; $curl)]
Set Variable [$result; Value:MBS("CURL.SetOptionSSLVerifyPeer"; $curl; 1)]
Set Variable [$result; Value:MBS("CURL.SetOptionSSLVerifyHost"; $curl; 2 )]

Do download with TLS and system certificates:

# Start new session
Set Variable [ $curl ; Value: MBS("CURL.New") ]
# Set URL to load (HTTP, HTTPS, FTP, FTPS, SFTP, etc.)
Set Variable [ $result ; Value: MBS("CURL.SetOptionURL"; $curl; CURL Test::URL) ]
# Use system certificate store for TLS
Set Variable [ $result ; Value: MBS( "CURL.UseSystemCertificates"; $curl ) ]
# RUN now
Set Field [ CURL Test::Result ; MBS("CURL.Perform"; $curl) ]
# Check result
Set Field [ CURL Test::Text ; MBS("CURL.GetResultAsText"; $curl; "UTF8") ]
Set Field [ CURL Test::debug ; MBS("CURL.GetDebugMessages"; $curl) ]
# Cleanup
Set Variable [ $result ; Value: MBS("CURL.Release"; $curl) ]

See also

Release notes

Blog Entries

This function checks for a license.

Created 19th March 2017, last changed 3th January 2023


CURL.Upkeep - CURL.Version

💬 Ask a question or report a problem