Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CURLINFO_CERTINFO(3)	   curl_easy_getinfo options	  CURLINFO_CERTINFO(3)

NAME
       CURLINFO_CERTINFO - get the TLS certificate chain

SYNOPSIS
       #include	<curl/curl.h>

       CURLcode	curl_easy_getinfo(CURL *handle,	CURLINFO_CERTINFO,
				  struct curl_certinfo **chainp);

DESCRIPTION
       Pass  a	pointer	to a 'struct curl_certinfo *' and you'll get it	set to
       point to	a struct that holds a number of	linked lists with  info	 about
       the  certificate	 chain,	 assuming  you had CURLOPT_CERTINFO(3) enabled
       when the	request	was made. The struct reports how many certs  it	 found
       and  then you can extract info for each of those	certs by following the
       linked lists. The info chain is provided	in a series  of	 data  in  the
       format "name:content" where the content is for the specific named data.
       See also	the certinfo.c example.

PROTOCOLS
       All TLS-based

EXAMPLE
       curl = curl_easy_init();
       if(curl)	{
	 curl_easy_setopt(curl,	CURLOPT_URL, "https://www.example.com/");

	 /* connect to any HTTPS site, trusted or not */
	 curl_easy_setopt(curl,	CURLOPT_SSL_VERIFYPEER,	0L);
	 curl_easy_setopt(curl,	CURLOPT_SSL_VERIFYHOST,	0L);

	 curl_easy_setopt(curl,	CURLOPT_CERTINFO, 1L);

	 res = curl_easy_perform(curl);

	 if (!res) {
	   struct curl_certinfo	*ci;
	   res = curl_easy_getinfo(curl, CURLINFO_CERTINFO, &ci);

	   if (!res) {
	     printf("%d	certs!\n", ci->num_of_certs);

	     for(i = 0;	i < ci->num_of_certs; i++) {
	       struct curl_slist *slist;

	       for(slist = ci->certinfo[i]; slist; slist = slist->next)
		 printf("%s\n",	slist->data);
	     }
	   }
	 }
	 curl_easy_cleanup(curl);
       }

AVAILABILITY
       This option is only working in libcurl built with OpenSSL, NSS,	Schan-
       nel or GSKit support. Schannel support added in 7.50.0

       Added in	7.19.1

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

SEE ALSO
       curl_easy_getinfo(3), curl_easy_setopt(3),

libcurl	7.72.0			 July 04, 2020		  CURLINFO_CERTINFO(3)

NAME | SYNOPSIS | DESCRIPTION | PROTOCOLS | EXAMPLE | AVAILABILITY | RETURN VALUE | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=CURLINFO_CERTINFO&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help