curl / libcurl / API / TLS options

TLS related options and the backends they work with

libcurl can use different TLS backends, selected at both build-time and runtime. This table shows all TLS related options and details the set of TLS backends that work with it.

The OpenSSL column also covers BoringSSL, libressl, quictls, AWS-LC and AmiSSL.

option OpenSSLGnuTLSwolfSSLmbedTLSSchannelRustls
CURLINFO_CAINFO✔✔✔✔✔✔
CURLINFO_CAPATH✔✔✔✔  
CURLINFO_CERTINFO✔✔  ✔✔
CURLINFO_EARLYDATA_SENT_T ✔    
CURLINFO_PROXY_SSL_VERIFYRESULT✔✔    
CURLINFO_SSL_ENGINES✔     
CURLINFO_SSL_VERIFYRESULT✔✔    
CURLINFO_TLS_SESSION✔✔    
CURLINFO_TLS_SSL_PTR✔✔✔✔✔ 
CURLOPT_CAINFO✔✔✔✔✔✔
CURLOPT_CAINFO_BLOB✔✔✔✔✔✔
CURLOPT_CAPATH✔✔✔✔  
CURLOPT_CA_CACHE_TIMEOUT✔✔✔ ✔ 
CURLOPT_CERTINFO✔✔  ✔✔
CURLOPT_CRLFILE✔✔ ✔ ✔
CURLOPT_DOH_SSL_VERIFYHOST✔✔✔✔✔✔
CURLOPT_DOH_SSL_VERIFYPEER✔✔✔✔✔✔
CURLOPT_DOH_SSL_VERIFYSTATUS✔✔    
CURLOPT_ECH✔ ✔  ✔
CURLOPT_EGDSOCKET✔     
CURLOPT_ISSUERCERT✔✔    
CURLOPT_ISSUERCERT_BLOB✔     
CURLOPT_KEYPASSWD✔ ✔✔✔ 
CURLOPT_PINNEDPUBLICKEY✔✔✔✔✔ 
CURLOPT_PROXY_CAINFO✔✔✔✔✔✔
CURLOPT_PROXY_CAINFO_BLOB✔   ✔✔
CURLOPT_PROXY_CAPATH✔✔ ✔  
CURLOPT_PROXY_CRLFILE✔✔ ✔  
CURLOPT_PROXY_ISSUERCERT✔✔    
CURLOPT_PROXY_ISSUERCERT_BLOB✔     
CURLOPT_PROXY_KEYPASSWD✔ ✔✔✔ 
CURLOPT_PROXY_PINNEDPUBLICKEY✔✔✔✔  
CURLOPT_PROXY_SSLCERT✔✔✔✔✔ 
CURLOPT_PROXY_SSLCERTTYPE✔✔✔✔✔ 
CURLOPT_PROXY_SSLCERT_BLOB✔   ✔✔
CURLOPT_PROXY_SSLKEY✔ ✔✔✔ 
CURLOPT_PROXY_SSLKEYTYPE✔ ✔   
CURLOPT_PROXY_SSLKEY_BLOB✔    ✔
CURLOPT_PROXY_SSLVERSION✔✔✔✔✔✔
CURLOPT_PROXY_SSL_CIPHER_LIST✔ ✔✔✔✔
CURLOPT_PROXY_SSL_OPTIONS✔✔✔✔✔✔
CURLOPT_PROXY_SSL_VERIFYHOST✔✔✔✔✔✔
CURLOPT_PROXY_SSL_VERIFYPEER✔✔✔✔✔✔
CURLOPT_PROXY_TLS13_CIPHERS✔ ✔✔ ✔
CURLOPT_PROXY_TLSAUTH_PASSWORD✔✔    
CURLOPT_PROXY_TLSAUTH_TYPE✔✔    
CURLOPT_PROXY_TLSAUTH_USERNAME✔✔    
CURLOPT_RANDOM_FILE✔     
CURLOPT_SSLCERT✔✔✔✔✔✔
CURLOPT_SSLCERTTYPE✔✔✔✔✔ 
CURLOPT_SSLCERT_BLOB✔ ✔✔✔✔
CURLOPT_SSLENGINE✔     
CURLOPT_SSLENGINE_DEFAULT✔     
CURLOPT_SSLKEY✔ ✔✔✔✔
CURLOPT_SSLKEYTYPE✔ ✔   
CURLOPT_SSLKEY_BLOB✔ ✔  ✔
CURLOPT_SSLVERSION✔✔✔✔✔✔
CURLOPT_SSL_CIPHER_LIST✔✔✔✔✔✔
CURLOPT_SSL_CTX_DATA✔ ✔✔  
CURLOPT_SSL_CTX_FUNCTION✔ ✔✔  
CURLOPT_SSL_EC_CURVES✔ ✔   
CURLOPT_SSL_ENABLE_ALPN✔✔✔✔✔✔
CURLOPT_SSL_ENABLE_NPN✔✔✔✔✔✔
CURLOPT_SSL_FALSESTART      
CURLOPT_SSL_OPTIONS✔✔✔✔✔✔
CURLOPT_SSL_SESSIONID_CACHE✔✔✔✔✔✔
CURLOPT_SSL_SIGNATURE_ALGORITHMS✔     
CURLOPT_SSL_VERIFYHOST✔✔✔✔✔✔
CURLOPT_SSL_VERIFYPEER✔✔✔✔✔✔
CURLOPT_SSL_VERIFYSTATUS✔✔    
CURLOPT_TLS13_CIPHERS✔ ✔✔ ✔
CURLOPT_TLSAUTH_PASSWORD✔✔    
CURLOPT_TLSAUTH_TYPE✔✔    
CURLOPT_TLSAUTH_USERNAME✔✔    
counter724743403532