# OpenSSL v3 Support Released

**URL:** <https://discourse.julialang.org/t/openssl-v3-support-released/97710>\
**Category:** Web Stack\
**Created:** [April 20, 2023, 3:15pm UTC](https://discourse.julialang.org/t/openssl-v3-support-released/97710 "2023-04-20T15:15:25Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)\
**Post date:** [April 20, 2023, 3:15pm UTC](https://discourse.julialang.org/t/openssl-v3-support-released/97710/1 "2023-04-20T15:15:25Z")

</div>

I recently introduced OpenSSL\_jll v3.0.8. Before doing so, we added a version cap to existing packages that use OpenSSL.

> **[Release OpenSSL-v3.0.8+0 · JuliaBinaryWrappers/OpenSSL\_jll.jl](https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl/releases/tag/OpenSSL-v3.0.8%2B0)**
>
> Contribute to JuliaBinaryWrappers/OpenSSL\_jll.jl development by creating an account on GitHub.

Support in OpenSSL.jl for OpenSSL v3 is now under review. Support for OpenSSL v1.1 is maintained within this package. Please test.

> <https://github.com/JuliaWeb/OpenSSL.jl/pull/22>
>
> This adds support for OpenSSL v3.0 via OpenSSL\_jll v3.0.8
> 
> We should configure… CI to test against both OpenSSL v1.1 and OpenSSL v3

---

<div class="post-metadata">

**Author:** ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)\
**Post date:** [April 20, 2023, 9:48pm UTC](https://discourse.julialang.org/t/openssl-v3-support-released/97710/2 "2023-04-20T21:48:08Z")

</div>

Update. @quinnj has merged the OpenSSL v3 support into the master branch of OpenSSL.jl. It’s not been released yet though (no rush).

You can test the package(s) via the following commands.

```julia
using Pkg
Pkg.activate(; temp = true)
Pkg.add(url="https://github.com/JuliaWeb/OpenSSL.jl")
Pkg.status("OpenSSL_jll"; mode=PKGMODE_MANIFEST)

```

The status command should report OpenSSL\_jll v3:

```julia
  [458c3c95] OpenSSL_jll v3.0.8+0

```

---

<div class="post-metadata">

**Author:** ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)\
**Post date:** [April 26, 2023, 5:38am UTC](https://discourse.julialang.org/t/openssl-v3-support-released/97710/3 "2023-04-26T05:38:47Z")

</div>

Thanks to Jacob Quinn, [OpenSSL.jl v1.4.0 has been released](https://github.com/JuliaWeb/OpenSSL.jl/releases/tag/v1.4.0) with support for OpenSSL\_jll v3.0.8.

Just adding `OpenSSL` to your environment by itself will result in the automatic installation of OpenSSL\_jll v3.0.8

```julia
(jl_mclBnN) pkg> add OpenSSL
...
  [4d8831e6] + OpenSSL v1.4.0
  [458c3c95] + OpenSSL_jll v3.0.8+0

```

However, it is also possible to use OpenSSL v1.4.0 with OpenSSL\_jll v1.1.x:

```julia
(jl_mclBnN) pkg> add OpenSSL OpenSSL_jll@1.1
   Resolving package versions...
    Updating `/tmp/jl_mclBnN/Project.toml`
⌃ [458c3c95] + OpenSSL_jll v1.1.20+0
    Updating `/tmp/jl_mclBnN/Manifest.toml`
⌃ [458c3c95] ↓ OpenSSL_jll v3.0.8+0 ⇒ v1.1.20+0

```

---

<div class="post-metadata">

**Author:** ![DaveMacMahon](https://avatars.discourse-cdn.com/v4/letter/d/9f8e36/32.png) [@DaveMacMahon](https://discourse.julialang.org/u/DaveMacMahon)\
**Post date:** [May 9, 2023, 1:02am UTC](https://discourse.julialang.org/t/openssl-v3-support-released/97710/4 "2023-05-09T01:02:38Z")

</div>

Just following up here from a Slack thread regarding some self-inflicted problems I encountered related to this update. I had slightly different problems on two different systems (why have one when you can have two?), but both were related to have old `registries` in various directories of `DEPOT_PATH`.

On the first system, I had an old-but-renamed copy of the `General` registry in my `~/.julia/registries` directory. That was easily cleared by by removing that old, unwanted clone.

In the second system, it turns out I had old `General.toml` and `General.tar.gz` files in one of the system-wide `DEPOT_PATH` directories. This was causing some confusion (for both me and `Pkg` apparently) such that the OpenSSL\_jll version caps were not being recognized/honored so packages like `FFMPEG_jll` couldn’t load (which broke Plots!). Part of the confusion was caused because `]registry status` only showed one `General` registry even though I had two different sets of `General.toml` and `General.tar.gz` files on `DEPOT_PATH`. Removing the older set of files (from the system-wide depot directory) resolved the problem.

Thanks go to @mkitti and @giordano for helping me get to the bottom of it! ❤

---

<div class="post-metadata">

**Author:** ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)\
**Post date:** [May 9, 2023, 1:06am UTC](https://discourse.julialang.org/t/openssl-v3-support-released/97710/5 "2023-05-09T01:06:50Z")

</div>

A useful diagnostic may be to run the following.

```julia
julia> for path in joinpath.(DEPOT_PATH, "registries")
           if isdir(path)
               println.(joinpath.(path, readdir(path)))
           end
       end

```

Only a single General.tar.gz and General.toml should be present.
