>   > That's odd, because I did not specify anything on iOS (in code or when
>   > building libcurl); I do on Android, but I have no idea where the
system
>   > certificates are located on iOS. Do I disable that by explicitly
setting
>   > CURLOPT_CAINFO to the empty string?
>
> Yes, try setting it to NULL.

So I tried this like so:

curl_easy_setopt(curl_handle, CURLOPT_CAPATH, nullptr);
curl_easy_setopt(curl_handle, CURLOPT_CAINFO, nullptr);

but I still get this:

  Trying [redacted]:443...
Connected to [redacted] ([redacted]) port 443 (#0)
ALPN, offering http/1.1
TLSv1.2 (OUT), TLS handshake, Client hello (1):
TLSv1.2 (IN), TLS handshake, Server hello (2):
TLSv1.2 (IN), TLS handshake, Certificate (11):
TLSv1.2 (OUT), TLS alert, unknown CA (560):
SSL certificate problem: self signed certificate in certificate chain
Closing connection 0

I tried setting it to the empty string in case that was what you meant:

curl_easy_setopt(curl_handle, CURLOPT_CAPATH, "");
curl_easy_setopt(curl_handle, CURLOPT_CAINFO, "");

But that results in this:

Debug:   Trying  [redacted]:443...
Debug: Connected to  [redacted] ([redacted]) port 443 (#0)
Debug: ALPN, offering http/1.1
Debug: error setting certificate verify locations:  CAfile:  CApath:
Debug: Closing connection 0

So I assume you really meant NULL! Unfortunately, setting them both to NULL
doesn't work, though at least it looks more like it's trying. The error I
get in that case -- "self signed certificate in certificate chain" is the
same error I was getting on Android before I was able to point it at the
right location so I assume that means libcurl isn't finding the iOS
certificates? Maybe it's falling back on build defaults (e.g. /etc/ssl/)?

I appreciate the help so far, I'm willing to try any further suggestions!

Sincerely,
Andrew Patterson
-- 
Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library
Etiquette:   https://curl.se/mail/etiquette.html

Reply via email to