Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

CURLOPT_SSLKEYTYPE (3)

Name

CURLOPT_SSLKEYTYPE - type of the private key file

Synopsis

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLKEYTYPE, char *type);

Description

CURLOPT_SSLKEYTYPE(3)      curl_easy_setopt options      CURLOPT_SSLKEYTYPE(3)



NAME
       CURLOPT_SSLKEYTYPE - type of the private key file

SYNOPSIS
       #include <curl/curl.h>

       CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLKEYTYPE, char *type);

DESCRIPTION
       Pass  a  pointer  to  a null-terminated string as parameter. The string
       should be the format of your private key. Supported formats are  "PEM",
       "DER" and "ENG".

       The  format  "ENG"  enables  you  to load the private key from a crypto
       engine. In this case CURLOPT_SSLKEY(3) is used as an identifier  passed
       to   the   engine.  You  have  to  set  the  crypto  engine  with  CUR-
       LOPT_SSLENGINE(3).  "DER" format  key  file  currently  does  not  work
       because of a bug in OpenSSL.

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

DEFAULT
       "PEM"

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

EXAMPLE
       CURL *curl = curl_easy_init();
       if(curl) {
         curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
         curl_easy_setopt(curl, CURLOPT_SSLCERT, "client.pem");
         curl_easy_setopt(curl, CURLOPT_SSLKEY, "key.pem");
         curl_easy_setopt(curl, CURLOPT_SSLKEYTYPE, "PEM");
         curl_easy_setopt(curl, CURLOPT_KEYPASSWD, "s3cret");
         ret = curl_easy_perform(curl);
         curl_easy_cleanup(curl);
       }

AVAILABILITY
       If built TLS enabled.

RETURN VALUE
       Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if  not,  or
       CURLE_OUT_OF_MEMORY if there was insufficient heap space.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | web/curl         |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

SEE ALSO
       CURLOPT_SSLKEY(3), CURLOPT_SSLCERT(3),



NOTES
       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source       was       downloaded      from       https://curl.se/down-
       load/curl-7.83.1.tar.bz2.

       Further information about this software can be found on the open source
       community website at http://curl.haxx.se/.



libcurl 7.83.1                 November 26, 2021         CURLOPT_SSLKEYTYPE(3)