This is for downloading files from web servers. It is a client, HTTPS.
Specifically it is for downloading the latest cacert.pem file which comes from here: https://curl.se/docs/caextract.html (https://curl.se/docs/caextract.html)
I'd use a web server under my own control. It would cache the cacert.pem, and serve it using a server configured to return it in a HTTP/1.0 -compatible form, i.e.
HTTP/1.1 200 OK\r\n
Connection: close\r\n
Content-Length: 221470\r\n
Content-Type: application/x-pem-file\r\n
Date: Tue, 29 Aug 2023 08:30:45 GMT\r\n
Last-Modified: Tue, 22 Aug 2023 03:12:04 GMT\r\n
Cache-Control: max-age=1800\r\n
Expires: Tue, 22 Aug 2023 04:07:46 GMT\r\n
\r\n
... 221470 byte PEM file omitted for brevity...
That way, if the URL changes, only the web server configuration needs to be updated. And you won't annoy curl.se either.
Many existing web hosts that cost only a couple of euros per month (I happen to use OVH, with a Lets Encrypt HTTPS sertificate) can be used for this. Just configure the particular URI used in your clients, say https://www.yourserver.domain/ca-certificates.pem, to be provided by a CGI script (or better yet, served as an as-is file, ie. including its own headers), and have that CGI script emit the contents of the local file as above. Then, set up the local file to be updated (atomically, i.e. using the low-level link() or rename() method to replace the file when complete) at regular intervals.
I'd also let my users reconfigure that URI to something else if they so want, as well as the interval at which to re-read the root certificate chain.