curl / libcurl / API / curl_easy_setopt / CURLOPT_TLSAUTH_TYPE

CURLOPT_TLSAUTH_TYPE explained

Name

CURLOPT_TLSAUTH_TYPE - TLS authentication methods

Synopsis

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLSAUTH_TYPE, char *type);

Description

Pass a pointer to a null-terminated string as parameter. The string should be the method of the TLS authentication. Supported method is "SRP".

SRP

TLS-SRP authentication. Secure Remote Password authentication for TLS is defined in RFC 5054 and provides mutual authentication if both sides have a shared secret. To use TLS-SRP, you must also set the CURLOPT_TLSAUTH_USERNAME and CURLOPT_TLSAUTH_PASSWORD options.

The application does not have to keep the string around after setting this option.

TLS SRP does not work with TLS 1.3.

Default

blank

Protocols

All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.

This option works only with the following TLS backends: GnuTLS and OpenSSL

Example

int main(void)
{
  CURL *curl = curl_easy_init();
  if(curl) {
    CURLcode res;
    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
    curl_easy_setopt(curl, CURLOPT_TLSAUTH_TYPE, "SRP");
    curl_easy_setopt(curl, CURLOPT_TLSAUTH_USERNAME, "user");
    curl_easy_setopt(curl, CURLOPT_TLSAUTH_PASSWORD, "secret");
    res = curl_easy_perform(curl);
    curl_easy_cleanup(curl);
  }
}

Availability

You need to build libcurl with GnuTLS or OpenSSL with TLS-SRP support for this to work. Added in 7.21.4

Return value

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

See also

CURLOPT_TLSAUTH_PASSWORD(3), CURLOPT_TLSAUTH_USERNAME(3)

This HTML page was made with roffit.