Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecation warnings from OpenSSL 3 #72

Open
duncanmmacleod opened this issue Nov 19, 2021 · 7 comments
Open

Deprecation warnings from OpenSSL 3 #72

duncanmmacleod opened this issue Nov 19, 2021 · 7 comments

Comments

@duncanmmacleod
Copy link
Contributor

Conda-forge is attempting to rebuild packages against openssl v3. The scitokens-cpp build fails out-of-the-box because of a host of deprecated-declarations warnings treated as errors:

$ mamba create -q -y -n scitokens-cpp c-compiler cmake make pkg-config openssl=3 picojson libcurl libuuid sqlite=3
  Package                         Version  Build          Channel                    Size
───────────────────────────────────────────────────────────────────────────────────────────
  Install:
───────────────────────────────────────────────────────────────────────────────────────────

  + _libgcc_mutex                     0.1  conda_forge    conda-forge/linux-64     Cached
  + _openmp_mutex                     4.5  1_gnu          conda-forge/linux-64     Cached
  + binutils                       2.36.1  hdd6e379_2     conda-forge/linux-64     Cached
  + binutils_impl_linux-64         2.36.1  h193b22a_2     conda-forge/linux-64     Cached
  + binutils_linux-64                2.36  hf3e587d_1     conda-forge/linux-64     Cached
  + bzip2                           1.0.8  h7f98852_4     conda-forge/linux-64     Cached
  + c-ares                         1.18.1  h7f98852_0     conda-forge/linux-64     Cached
  + c-compiler                      1.3.0  h7f98852_0     conda-forge/linux-64     Cached
  + ca-certificates             2021.10.8  ha878542_0     conda-forge/linux-64     Cached
  + cmake                          3.21.3  h8897547_0     conda-forge/linux-64     Cached
  + expat                           2.4.1  h9c3ff4c_0     conda-forge/linux-64     Cached
  + gcc                             9.4.0  h192d537_1     conda-forge/linux-64     Cached
  + gcc_impl_linux-64               9.4.0  h03d3576_11    conda-forge/linux-64     Cached
  + gcc_linux-64                    9.4.0  h391b98a_1     conda-forge/linux-64     Cached
  + kernel-headers_linux-64        2.6.32  he073ed8_15    conda-forge/noarch       Cached
  + krb5                           1.19.2  h48eae69_3     conda-forge/linux-64     Cached
  + ld_impl_linux-64               2.36.1  hea4e1c9_2     conda-forge/linux-64     Cached
  + libcurl                        7.80.0  h494985f_0     conda-forge/linux-64     Cached
  + libedit                  3.1.20191231  he28a2e2_2     conda-forge/linux-64     Cached
  + libev                            4.33  h516909a_1     conda-forge/linux-64     Cached
  + libgcc-devel_linux-64           9.4.0  hd854feb_11    conda-forge/linux-64     Cached
  + libgcc-ng                      11.2.0  h1d223b6_11    conda-forge/linux-64     Cached
  + libgomp                        11.2.0  h1d223b6_11    conda-forge/linux-64     Cached
  + libnghttp2                     1.43.0  ha19adfc_1     conda-forge/linux-64     Cached
  + libsanitizer                    9.4.0  h79bfe98_11    conda-forge/linux-64     Cached
  + libssh2                        1.10.0  ha35d2d1_2     conda-forge/linux-64     Cached
  + libstdcxx-ng                   11.2.0  he4da1e4_11    conda-forge/linux-64     Cached
  + libuuid                        2.32.1  h7f98852_1000  conda-forge/linux-64     Cached
  + libuv                          1.42.0  h7f98852_0     conda-forge/linux-64     Cached
  + libzlib                        1.2.11  h36c2ea0_1013  conda-forge/linux-64     Cached
  + lz4-c                           1.9.3  h9c3ff4c_1     conda-forge/linux-64     Cached
  + make                              4.3  hd18ef5c_1     conda-forge/linux-64     Cached
  + ncurses                           6.2  h58526e2_4     conda-forge/linux-64     Cached
  + openssl                         3.0.0  h7f98852_2     conda-forge/linux-64     Cached
  + picojson                        1.3.0  ha770c72_0     conda-forge/linux-64     Cached
  + pkg-config                     0.29.2  h36c2ea0_1008  conda-forge/linux-64     Cached
  + readline                          8.1  h46c0cb4_0     conda-forge/linux-64     Cached
  + rhash                           1.4.1  h7f98852_0     conda-forge/linux-64     Cached
  + sqlite                         3.36.0  h9cd32fc_2     conda-forge/linux-64     Cached
  + sysroot_linux-64                 2.12  he073ed8_15    conda-forge/noarch       Cached
  + tk                             8.6.11  h27826a3_1     conda-forge/linux-64     Cached
  + xz                              5.2.5  h516909a_1     conda-forge/linux-64     Cached
  + zlib                           1.2.11  h36c2ea0_1013  conda-forge/linux-64     Cached
  + zstd                            1.5.0  ha95c52a_0     conda-forge/linux-64     Cached

  Summary:

  Install: 44 packages

  Total download: 0  B

───────────────────────────────────────────────────────────────────────────────────────────

Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
$ cmake .
CMake Deprecation Warning at CMakeLists.txt:2 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- Found UUID : /home/duncan/opt/mambaforge/envs/scitokens-cpp/lib/libuuid.so
-- Checking for module 'sqlite3'
--   Found sqlite3, version 3.36.0
-- Configuring done
-- Generating done
-- Build files have been written to: /home/duncan/git/scitokens-cpp
$ cmake --build .
[  7%] Building CXX object CMakeFiles/SciTokens.dir/src/scitokens.cpp.o
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h: In constructor ‘jwt::algorithm::ecdsa::ecdsa(const string&, const string&, const string&, const string&, const EVP_MD* (*)(), const string&, size_t)’:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:360:110: error: ‘EC_KEY* PEM_read_bio_EC_PUBKEY(BIO*, EC_KEY**, int (*)(char*, int, int, void*), void*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 _bio_EC_PUBKEY(pubkey_bio.get(), nullptr, nullptr, (void*)public_key_password.c_str()), EC_KEY_free);
                                                                                      ^

In file included from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:463:1: note: declared here
 DECLARE_PEM_rw_attr(OSSL_DEPRECATEDIN_3_0, EC_PUBKEY, EC_KEY)
 ^~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:360:110: error: ‘EC_KEY* PEM_read_bio_EC_PUBKEY(BIO*, EC_KEY**, int (*)(char*, int, int, void*), void*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 _bio_EC_PUBKEY(pubkey_bio.get(), nullptr, nullptr, (void*)public_key_password.c_str()), EC_KEY_free);
                                                                                      ^

In file included from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:463:1: note: declared here
 DECLARE_PEM_rw_attr(OSSL_DEPRECATEDIN_3_0, EC_PUBKEY, EC_KEY)
 ^~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:360:113: error: ‘void EC_KEY_free(EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 o_EC_PUBKEY(pubkey_bio.get(), nullptr, nullptr, (void*)public_key_password.c_str()), EC_KEY_fre
);
                                                                                      ^~~~~~~~~~

In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:33,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/ec.h:1001:28: note: declared here
 OSSL_DEPRECATEDIN_3_0 void EC_KEY_free(EC_KEY *key);
                            ^~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:363:71: error: ‘const EC_GROUP* EC_KEY_get0_group(const EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
      size_t keysize = EC_GROUP_get_degree(EC_KEY_get0_group(pkey.get()));
                                                                       ^
In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:33,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/ec.h:1032:39: note: declared here
 OSSL_DEPRECATEDIN_3_0 const EC_GROUP *EC_KEY_get0_group(const EC_KEY *key);
                                       ^~~~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:363:71: error: ‘const EC_GROUP* EC_KEY_get0_group(const EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
      size_t keysize = EC_GROUP_get_degree(EC_KEY_get0_group(pkey.get()));
                                                                       ^
In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:33,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/ec.h:1032:39: note: declared here
 OSSL_DEPRECATEDIN_3_0 const EC_GROUP *EC_KEY_get0_group(const EC_KEY *key);
                                       ^~~~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:373:127: error: ‘EC_KEY* PEM_read_bio_ECPrivateKey(BIO*, EC_KEY**, int (*)(char*, int, int, void*), void*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 (privkey_bio.get(), nullptr, nullptr, const_cast<char*>(private_key_password.c_str())), EC_KEY_free);
                                                                                      ^

In file included from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:462:1: note: declared here
 DECLARE_PEM_rw_cb_attr(OSSL_DEPRECATEDIN_3_0, ECPrivateKey, EC_KEY)
 ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:373:127: error: ‘EC_KEY* PEM_read_bio_ECPrivateKey(BIO*, EC_KEY**, int (*)(char*, int, int, void*), void*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 (privkey_bio.get(), nullptr, nullptr, const_cast<char*>(private_key_password.c_str())), EC_KEY_free);
                                                                                      ^

In file included from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:462:1: note: declared here
 DECLARE_PEM_rw_cb_attr(OSSL_DEPRECATEDIN_3_0, ECPrivateKey, EC_KEY)
 ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:373:130: error: ‘void EC_KEY_free(EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 ivkey_bio.get(), nullptr, nullptr, const_cast<char*>(private_key_password.c_str())), EC_KEY_fre
);
                                                                                      ^~~~~~~~~~

In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:33,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/ec.h:1001:28: note: declared here
 OSSL_DEPRECATEDIN_3_0 void EC_KEY_free(EC_KEY *key);
                            ^~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:376:71: error: ‘const EC_GROUP* EC_KEY_get0_group(const EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
      size_t keysize = EC_GROUP_get_degree(EC_KEY_get0_group(pkey.get()));
                                                                       ^
In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:33,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/ec.h:1032:39: note: declared here
 OSSL_DEPRECATEDIN_3_0 const EC_GROUP *EC_KEY_get0_group(const EC_KEY *key);
                                       ^~~~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:376:71: error: ‘const EC_GROUP* EC_KEY_get0_group(const EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
      size_t keysize = EC_GROUP_get_degree(EC_KEY_get0_group(pkey.get()));
                                                                       ^
In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:33,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/ec.h:1032:39: note: declared here
 OSSL_DEPRECATEDIN_3_0 const EC_GROUP *EC_KEY_get0_group(const EC_KEY *key);
                                       ^~~~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:383:35: error: ‘int EC_KEY_check_key(const EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
     if(EC_KEY_check_key(pkey.get()) == 0)
                                   ^
In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:33,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/ec.h:1105:27: note: declared here
 OSSL_DEPRECATEDIN_3_0 int EC_KEY_check_key(const EC_KEY *key);
                           ^~~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:383:35: error: ‘int EC_KEY_check_key(const EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
     if(EC_KEY_check_key(pkey.get()) == 0)
                                   ^
In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:33,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/ec.h:1105:27: note: declared here
 OSSL_DEPRECATEDIN_3_0 int EC_KEY_check_key(const EC_KEY *key);
                           ^~~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h: In member function ‘std::__cxx11::string jwt::algorithm::ecdsa::sign(const string&) const’:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:396:100: error: ‘ECDSA_SIG* ECDSA_do_sign(const unsigned char*, int, EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 _do_sign((const unsigned char*)hash.data(), static_cast<int>(hash.size()), pkey.get()), ECDSA_SIG_free);
                                                                                      ^

In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:33,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/ec.h:1363:34: note: declared here
 OSSL_DEPRECATEDIN_3_0 ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst,
                                  ^~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:396:100: error: ‘ECDSA_SIG* ECDSA_do_sign(const unsigned char*, int, EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 _do_sign((const unsigned char*)hash.data(), static_cast<int>(hash.size()), pkey.get()), ECDSA_SIG_free);
                                                                                      ^

In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:33,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/ec.h:1363:34: note: declared here
 OSSL_DEPRECATEDIN_3_0 ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst,
                                  ^~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h: In member function ‘void jwt::algorithm::ecdsa::verify(const string&, const string&) const’:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:440:111: error: ‘int ECDSA_do_verify(const unsigned char*, int, const ECDSA_SIG*, EC_KEY*)’ is deprecated: Since OpenSSL 3.0
-Werror=deprecated-declarations]
 y((const unsigned char*)hash.data(), static_cast<int>(hash.size()), sig.get(), pkey.get()) != 1)
                                                                                          ^

In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:33,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/ec.h:1389:27: note: declared here
 OSSL_DEPRECATEDIN_3_0 int ECDSA_do_verify(const unsigned char *dgst, int dgst_len,
                           ^~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:440:111: error: ‘int ECDSA_do_verify(const unsigned char*, int, const ECDSA_SIG*, EC_KEY*)’ is deprecated: Since OpenSSL 3.0
-Werror=deprecated-declarations]
 y((const unsigned char*)hash.data(), static_cast<int>(hash.size()), sig.get(), pkey.get()) != 1)
                                                                                          ^

In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:33,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/ec.h:1389:27: note: declared here
 OSSL_DEPRECATEDIN_3_0 int ECDSA_do_verify(const unsigned char *dgst, int dgst_len,
                           ^~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h: In member function ‘std::__cxx11::string jwt::algorithm::pss::sign(const string&) const’:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:518:36: error: ‘void RSA_free(RSA*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
     std::unique_ptr<RSA, decltype(&RSA_free)> key(EVP_PKEY_get1_RSA(pkey.get()), RSA_free);
                                    ^~~~~~~~
In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:36,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/rsa.h:293:28: note: declared here
 OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
                            ^~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:518:36: error: ‘void RSA_free(RSA*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
     std::unique_ptr<RSA, decltype(&RSA_free)> key(EVP_PKEY_get1_RSA(pkey.get()), RSA_free);
                                    ^~~~~~~~
In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:36,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/rsa.h:293:28: note: declared here
 OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
                            ^~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:518:79: error: ‘rsa_st* EVP_PKEY_get1_RSA(EVP_PKEY*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
     std::unique_ptr<RSA, decltype(&RSA_free)> key(EVP_PKEY_get1_RSA(pkey.get()), RSA_free);
                                                                               ^
In file included from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:9,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/evp.h:1348:16: note: declared here
 struct rsa_st *EVP_PKEY_get1_RSA(EVP_PKEY *pkey);
                ^~~~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:518:79: error: ‘rsa_st* EVP_PKEY_get1_RSA(EVP_PKEY*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
     std::unique_ptr<RSA, decltype(&RSA_free)> key(EVP_PKEY_get1_RSA(pkey.get()), RSA_free);
                                                                               ^
In file included from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:9,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/evp.h:1348:16: note: declared here
 struct rsa_st *EVP_PKEY_get1_RSA(EVP_PKEY *pkey);
                ^~~~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:518:82: error: ‘void RSA_free(RSA*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
     std::unique_ptr<RSA, decltype(&RSA_free)> key(EVP_PKEY_get1_RSA(pkey.get()), RSA_free);
                                                                                  ^~~~~~~~
In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:36,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/rsa.h:293:28: note: declared here
 OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
                            ^~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:518:90: error: ‘void RSA_free(RSA*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
     std::unique_ptr<RSA, decltype(&RSA_free)> key(EVP_PKEY_get1_RSA(pkey.get()), RSA_free);
                                                                                          ^
In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:36,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/rsa.h:293:28: note: declared here
 OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
                            ^~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:519:40: error: ‘int RSA_size(const RSA*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
     const int size = RSA_size(key.get());
                                        ^
In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:36,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/rsa.h:204:27: note: declared here
 OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
                           ^~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:519:40: error: ‘int RSA_size(const RSA*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
     const int size = RSA_size(key.get());
                                        ^
In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:36,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/rsa.h:204:27: note: declared here
 OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
                           ^~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:522:132: error: ‘int RSA_padding_add_PKCS1_PSS_mgf1(RSA*, unsigned char*, const unsigned char*, const EVP_MD*, const EVP_MD*, int)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 (key.get(), (unsigned char*)padded.data(), (const unsigned char*)hash.data(), md(), md(), -1))
                                                                                             ^

In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:36,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/rsa.h:438:5: note: declared here
 int RSA_padding_add_PKCS1_PSS_mgf1(RSA *rsa, unsigned char *EM,
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:522:132: error: ‘int RSA_padding_add_PKCS1_PSS_mgf1(RSA*, unsigned char*, const unsigned char*, const EVP_MD*, const EVP_MD*, int)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 (key.get(), (unsigned char*)padded.data(), (const unsigned char*)hash.data(), md(), md(), -1))
                                                                                             ^

In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:36,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/rsa.h:438:5: note: declared here
 int RSA_padding_add_PKCS1_PSS_mgf1(RSA *rsa, unsigned char *EM,
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:526:125: error: ‘int RSA_private_encrypt(int, const unsigned char*, unsigned char*, RSA*, int)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 (const unsigned char*)padded.data(), (unsigned char*)res.data(), key.get(), RSA_NO_PADDING) < 0)
                                                                                           ^

In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:36,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/rsa.h:285:5: note: declared here
 int RSA_private_encrypt(int flen, const unsigned char *from, unsigned char *to,
     ^~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:526:125: error: ‘int RSA_private_encrypt(int, const unsigned char*, unsigned char*, RSA*, int)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 (const unsigned char*)padded.data(), (unsigned char*)res.data(), key.get(), RSA_NO_PADDING) < 0)
                                                                                           ^

In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:36,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/rsa.h:285:5: note: declared here
 int RSA_private_encrypt(int flen, const unsigned char *from, unsigned char *to,
     ^~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h: In member function ‘void jwt::algorithm::pss::verify(const string&, const string&) const’:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:539:36: error: ‘void RSA_free(RSA*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
     std::unique_ptr<RSA, decltype(&RSA_free)> key(EVP_PKEY_get1_RSA(pkey.get()), RSA_free);
                                    ^~~~~~~~
In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:36,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/rsa.h:293:28: note: declared here
 OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
                            ^~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:539:36: error: ‘void RSA_free(RSA*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
     std::unique_ptr<RSA, decltype(&RSA_free)> key(EVP_PKEY_get1_RSA(pkey.get()), RSA_free);
                                    ^~~~~~~~
In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:36,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/rsa.h:293:28: note: declared here
 OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
                            ^~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:539:79: error: ‘rsa_st* EVP_PKEY_get1_RSA(EVP_PKEY*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
     std::unique_ptr<RSA, decltype(&RSA_free)> key(EVP_PKEY_get1_RSA(pkey.get()), RSA_free);
                                                                               ^
In file included from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:9,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/evp.h:1348:16: note: declared here
 struct rsa_st *EVP_PKEY_get1_RSA(EVP_PKEY *pkey);
                ^~~~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:539:79: error: ‘rsa_st* EVP_PKEY_get1_RSA(EVP_PKEY*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
     std::unique_ptr<RSA, decltype(&RSA_free)> key(EVP_PKEY_get1_RSA(pkey.get()), RSA_free);
                                                                               ^
In file included from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:9,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/evp.h:1348:16: note: declared here
 struct rsa_st *EVP_PKEY_get1_RSA(EVP_PKEY *pkey);
                ^~~~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:539:82: error: ‘void RSA_free(RSA*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
     std::unique_ptr<RSA, decltype(&RSA_free)> key(EVP_PKEY_get1_RSA(pkey.get()), RSA_free);
                                                                                  ^~~~~~~~
In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:36,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/rsa.h:293:28: note: declared here
 OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
                            ^~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:539:90: error: ‘void RSA_free(RSA*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
     std::unique_ptr<RSA, decltype(&RSA_free)> key(EVP_PKEY_get1_RSA(pkey.get()), RSA_free);
                                                                                          ^
In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:36,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/rsa.h:293:28: note: declared here
 OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
                            ^~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:540:40: error: ‘int RSA_size(const RSA*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
     const int size = RSA_size(key.get());
                                        ^
In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:36,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/rsa.h:204:27: note: declared here
 OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
                           ^~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:540:40: error: ‘int RSA_size(const RSA*)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
     const int size = RSA_size(key.get());
                                        ^
In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:36,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/rsa.h:204:27: note: declared here
 OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
                           ^~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:543:157: error: ‘int RSA_public_decrypt(int, const unsigned char*, unsigned char*, RSA*, int)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
  (const unsigned char*)signature.data(), (unsigned char*)sig.data(), key.get(), RSA_NO_PADDING))
                                                                                               ^

In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:36,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/rsa.h:288:5: note: declared here
 int RSA_public_decrypt(int flen, const unsigned char *from, unsigned char *to,
     ^~~~~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:543:157: error: ‘int RSA_public_decrypt(int, const unsigned char*, unsigned char*, RSA*, int)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
  (const unsigned char*)signature.data(), (unsigned char*)sig.data(), key.get(), RSA_NO_PADDING))
                                                                                               ^

In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:36,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/rsa.h:288:5: note: declared here
 int RSA_public_decrypt(int flen, const unsigned char *from, unsigned char *to,
     ^~~~~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:546:129: error: ‘int RSA_verify_PKCS1_PSS_mgf1(RSA*, const unsigned char*, const EVP_MD*, const EVP_MD*, const unsigned char*, int)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 key.get(), (const unsigned char*)hash.data(), md(), md(), (const unsigned char*)sig.data(), -1))
                                                                                               ^

In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:36,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/rsa.h:433:5: note: declared here
 int RSA_verify_PKCS1_PSS_mgf1(RSA *rsa, const unsigned char *mHash,
     ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:546:129: error: ‘int RSA_verify_PKCS1_PSS_mgf1(RSA*, const unsigned char*, const EVP_MD*, const EVP_MD*, const unsigned char*, int)’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 key.get(), (const unsigned char*)hash.data(), md(), md(), (const unsigned char*)sig.data(), -1))
                                                                                               ^

In file included from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/x509.h:36,
                 from /home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/pem.h:23,
                 from /home/duncan/git/scitokens-cpp/vendor/jwt-cpp/include/jwt-cpp/jwt.h:11,
                 from /home/duncan/git/scitokens-cpp/src/scitokens_internal.h:6,
                 from /home/duncan/git/scitokens-cpp/src/scitokens.cpp:7:
/home/duncan/opt/mambaforge/envs/scitokens-cpp/include/openssl/rsa.h:433:5: note: declared here
 int RSA_verify_PKCS1_PSS_mgf1(RSA *rsa, const unsigned char *mHash,
     ^~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [CMakeFiles/SciTokens.dir/build.make:76: CMakeFiles/SciTokens.dir/src/scitokens.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:223: CMakeFiles/SciTokens.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
duncanmmacleod added a commit to regro-cf-autotick-bot/scitokens-cpp-feedstock that referenced this issue Nov 19, 2021
@duncanmmacleod
Copy link
Contributor Author

For the record, the build passes fine if the -Werror flag is removed from CMakeLists.txt, but I presume that this will become a real problem before too long.

@djw8605
Copy link
Contributor

djw8605 commented Nov 19, 2021

Indeed, fedora already tried and failed to build scitokens-cpp for openssl3. We will have to figure these things out.

@duncanmmacleod
Copy link
Contributor Author

In conda-forge I just added a patch to remove the -Werror flag, that seems like a developer option that should be used for production builds anyway.

@djw8605
Copy link
Contributor

djw8605 commented Nov 19, 2021

I think we need to update the vendor'd jwt-cpp, which claims openssl 3.0 compatibility: https://github.com/Thalhammer/jwt-cpp#ssl-compatibility

@duncanmmacleod
Copy link
Contributor Author

...or don't vendor jwt-cpp at all and rely on pinned versions of the upstream package.

@DrDaveD
Copy link
Contributor

DrDaveD commented Nov 19, 2021

Related to #61

@ColeBollig
Copy link

I was just curious if anyone has made progress on updating the scitoken code to Openssl 3.0. I saw in the related #61 that updating jwt-cpp to 0.6.0 didn't remove all warnings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants