[gdal-dev] GDAL, Proj and cacert
Even Rouault
even.rouault at spatialys.com
Fri Feb 11 09:38:30 PST 2022
Le 11/02/2022 à 18:24, Paul Harwood a écrit :
> I have an application that uses GDAL with Proj Networking set on.
>
> This is a cross platform application. It works on some platforms but
> on mac (for instance) I get runtime errors like this
>
> GDAL failure (1) PROJ: Cannot open
> https://cdn.proj.org/us_nga_egm96_15.tif: error setting certificate
> file: xxx/cacert.pem
>
> Proj is looking in the wrong place for the cacert file - which is in
> the proj search path. I would rather avoid using environment
> variables (complicated). Is there a programmatic way to set the Proj
> cacert location or a default location?
>
> currently - the following are set
>
>
> Gdal.SetConfigOption("CURL_CA_BUNDLE", Path.Combine(gdalData,
> "cacert.pem"));
The logic in PROJ is:
// Custom path to SSL certificates.
if (ca_bundle_path == nullptr) {
ca_bundle_path = getenv("PROJ_CURL_CA_BUNDLE");
}
if (ca_bundle_path == nullptr) {
// Name of environment variable used by the curl binary
ca_bundle_path = getenv("CURL_CA_BUNDLE");
}
if (ca_bundle_path == nullptr) {
// Name of environment variable used by the curl binary (tested
// after CURL_CA_BUNDLE
ca_bundle_path = getenv("SSL_CERT_FILE");
}
if (ca_bundle_path != nullptr) {
CHECK_RET(ctx,
curl_easy_setopt(handle, CURLOPT_CAINFO,
ca_bundle_path));
}
There's no programmatic way, at least currently. You need to set a real
environment variable . CPLSetConfigOption() has no effect on PROJ, only
on GDAL
> Osr.SetPROJSearchPath(projData);
> Osr.SetPROJEnableNetwork(true);
>
>
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/gdal-dev
--
http://www.spatialys.com
My software is free, but my time generally not.
More information about the gdal-dev
mailing list