---
name: "CURLOPT_USE_SSL"
section: "3"
platform: "macos"
package: "curl"
version: "166.0.0.0.1"
release: "macOS 26.5"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/CURLOPT_USE_SSL"
---

# CURLOPT\_USE\_SSL(3)

request using SSL / TLS for the transfer

## NAME

CURLOPT\_USE\_SSL - request using SSL / TLS for the transfer

## SYNOPSIS

```
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USE_SSL, long level);
```

## DESCRIPTION

Pass a long using one of the values from below, to make libcurl use your desired *level* of SSL for the transfer.

These are all protocols that start out plain text and get "upgraded" to SSL using the STARTTLS command.

This is for enabling SSL/TLS when you use FTP, SMTP, POP3, IMAP etc.

- CURLUSESSL\_NONE

  do not attempt to use SSL.

- CURLUSESSL\_TRY

  Try using SSL, proceed as normal otherwise. Note that server may close the connection if the negotiation does not succeed.

- CURLUSESSL\_CONTROL

  Require SSL for the control connection or fail with *CURLE\_USE\_SSL\_FAILED*.

- CURLUSESSL\_ALL

  Require SSL for all communication or fail with *CURLE\_USE\_SSL\_FAILED*.

## DEFAULT

CURLUSESSL\_NONE

## PROTOCOLS

FTP, SMTP, POP3, IMAP, LDAP

## EXAMPLE

```
int main(void)
{
  CURL *curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/dir/file.ext");
    /* require use of SSL for this, or fail */
    curl_easy_setopt(curl, CURLOPT_USE_SSL, (long)CURLUSESSL_ALL);
    /* Perform the request */
    curl_easy_perform(curl);
  }
}
```

## AVAILABILITY

Added in 7.11.0. This option was known as CURLOPT\_FTP\_SSL up to 7.16.4, and the constants were known as CURLFTPSSL\_\* Handled by LDAP since 7.81.0. Fully supported by the OpenLDAP backend only.

## RETURN VALUE

Returns CURLE\_OK if the option is supported, and CURLE\_UNKNOWN\_OPTION if not.

## SEE ALSO

[**CURLOPT\_PROXY\_SSLVERSION**(3)](/CURLOPT_PROXY_SSLVERSION/3.md), [**CURLOPT\_SSLVERSION**(3)](/CURLOPT_SSLVERSION/3.md), [**CURLOPT\_SSL\_OPTIONS**(3)](/CURLOPT_SSL_OPTIONS/3.md)
