GNURLOPT_CERTINFO(3)

πŸ“¦ version 7.72.0, in nixos 26.05, nixpkgs unstable

πŸ’– GNURLOPT_CERTINFO(3) πŸ’–

okay bestie, welcome to the curl_easy_setopt options manual page for this one β€” it's giving β€œcertificate-chain tea, but make it optional.” ✨


🌸 NAME 🌸

  • CURLOPT_CERTINFO β€” request SSL certificate information

✨ SYNOPSIS ✨

#include <gnurl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CERTINFO, long certinfo);

πŸŽ€ DESCRIPTION πŸŽ€

Pass a long set to 1 to enable libcurl's certificate chain info gatherer. slay. With this enabled, libcurl will extract lots of information and data about the certificates in the certificate chain used in the SSL connection. This data may then be retrieved after a transfer using curl_easy_getinfo(3) and its option CURLINFO_CERTINFO(3).

literally all the cert-chain receipts, gathered up so you can look at them after the transfer. πŸ‘‘

πŸ¦‹ DEFAULT πŸ¦‹

The default is 0.

🌈 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 supported by the OpenSSL, GnuTLS, Schannel, NSS and GSKit backends.

🫢 RETURN VALUE 🫢

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

πŸ‘‘ SEE ALSO πŸ‘‘

the SEE ALSO crew is literally CURLOPT_CAINFO(3), CURLOPT_SSL_VERIFYPEER(3), β€” go peek, iykyk πŸ’–


sending u a 🫢 from libcurl 7.37.0, dated 19 Jun 2014 β€” that's the version/date tea, bestie, periodt. πŸ’€βœ¨

πŸ“¦ where this page comes from