CURLOPT_SSL_EC_CURVES(3)
CURLOPT_SSL_EC_CURVES(3) π
okay so bestie, welcome to this page from the Library Functions Manual β¨ this one is all about CURLOPT_SSL_EC_CURVES, and it's lowkey iconic for TLS vibes π¦
π NAME π
CURLOPT_SSL_EC_CURVES β key exchange curves
β¨ SYNOPSIS β¨
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_EC_CURVES, char *list);
π DESCRIPTION π
So here's the tea: you pass a string as the parameter, and that string is a colon delimited list of Elliptic curve (EC) algorithms. This option defines the client's key exchange algorithms in the SSL handshake β but only if the SSL backend libcurl is built to use supports it, iykyk π
The application does <strong>not</strong> have to keep the string around after setting this option, so no need to cling to it like a group-chat screenshot π
Using this option multiple times makes the last set string override the previous ones. Set it to NULL to restore back to internal default.
π DEFAULT π
"", embedded in SSL backend
π PROTOCOLS π
This functionality affects all TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. πΈ
This option works only with the following TLS backends: OpenSSL and wolfSSL β no cap, those are the only two listed here π«Ά
π§ EXAMPLE π§
Look at this little cutie go:
int main(void)
{
CURL *curl = curl_easy_init();
if(curl) {
CURLcode result;
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
curl_easy_setopt(curl, CURLOPT_SSL_EC_CURVES, "X25519:P-521");
result = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
}
β AVAILABILITY β
Added in curl 7.73.0 β¨
π¦ RETURN VALUE π¦
curl_easy_setopt(3) returns a CURLcode indicating success or error.
CURLE_OK (0) means everything was OK, non-zero means an error occurred, see libcurl-errors(3).
π SEE ALSO π
mwah π this page is brought to you by libcurl, dated 2026-10-12, and filed under CURLOPT_SSL_EC_CURVES(3) π«Ά
π¦ where this page comes from
- fedora 44: libcurl-devel 8.18.0-14.fc44 Β· curl
- fedora 44: libcurl-devel 8.18.0-14.fc44 Β· curl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms