How to fix SSL cert issues in Pkg

It seems like there is a clash between the SSL environment variable set by miniconda and the one that Julia is using.

I’ve tried setting JULIA_SSL_CA_ROOTS_PATH="" as suggested however the error persists.

❯ $env:SSL_CERT_FILE
C:\Users\Mus\miniconda3\Library\ssl\cacert.pem


❯ julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.10.4 (2024-06-04)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

(@v1.10) pkg> up
┌ Error: curl_easy_setopt: 4
└ @ Downloads.Curl C:\Users\Mus\.julia\juliaup\julia-1.10.4+0.x64.w64.mingw32\share\julia\stdlib\v1.10\Downloads\src\Curl\utils.jl:50
    Updating registry at `C:\Users\Mus\.julia\registries\General.toml`
┌ Error: curl_easy_setopt: 4
└ @ Downloads.Curl C:\Users\Mus\.julia\juliaup\julia-1.10.4+0.x64.w64.mingw32\share\julia\stdlib\v1.10\Downloads\src\Curl\utils.jl:50
  No Changes to `C:\Users\Mus\.julia\environments\v1.10\Project.toml`
  No Changes to `C:\Users\Mus\.julia\environments\v1.10\Manifest.toml`

(@v1.10) pkg> add MATLAB#Master
     Cloning git-repo `https://github.com/JuliaInterop/MATLAB.jl.git`
ERROR: failed to clone from https://github.com/JuliaInterop/MATLAB.jl.git, error: GitError(Code:ERROR, Class:SSL, Your Julia is built with a SSL/TLS engine that libgit2 doesn't know how to configure to use a file or directory of certificate authority roots, but your environment specifies one via the SSL_CERT_FILE variable. If you believe your system's root certificates are safe to use, you can `export JULIA_SSL_CA_ROOTS_PATH=""` in your environment to use those instead.)
2 Likes

I think the issue might be that miniconda sets:

❯ $env:SSL_CERT_FILE
C:\Users\Mus\miniconda3\Library\ssl\cacert.pem

Is there a way to get Julia to ignore the SSL_CERT_DIR/SSL_CERT_FILE environment variables?

EDIT: still failing even after upsetting that environment variable

I struggled with this for a while, and found that removing environment variables:

  • SSL_CERT_FILE
  • JULIA_SSL_CA_ROOTS_PATH
    made things work. At the windows powershell prompt, these can be removed manually (and temporarily, for testing) with:
    Remove-Item Env:SSL_CERT_FILE
    Remove-Item Env:JULIA_SSL_CA_ROOTS_PATH
    If you find this works, you can then remove them from your personal environment variables.