Skip to content

botan deprecations with botan 3 #2362

@dkg

Description

@dkg

Building 0.18.0 with Botan 3, i see these noisy deprecations:

In file included from […]/src/lib/crypto/exdsa_ecdhkem.cpp:27:
[…]/src/lib/crypto/exdsa_ecdhkem.h:95:52: warning: ‘Botan::Curve25519_PublicKey’ is deprecated: Use X25519_PublicKey [-Wdeprecated-declarations]
   95 |     Botan::Curve25519_PublicKey botan_key_x25519() const;
      |                                                    ^~~~~
In file included from […]/src/lib/crypto/exdsa_ecdhkem.h:41:
/usr/include/botan-3/botan/curve25519.h:17:67: note: declared here
   17 | BOTAN_DEPRECATED("Use X25519_PublicKey") typedef X25519_PublicKey Curve25519_PublicKey;
      |                                                                   ^~~~~~~~~~~~~~~~~~~~
[…]/src/lib/crypto/exdsa_ecdhkem.h:122:53: warning: ‘Botan::Curve25519_PrivateKey’ is deprecated: Use X25519_PrivateKey [-Wdeprecated-declarations]
  122 |     Botan::Curve25519_PrivateKey botan_key_x25519() const;
      |                                                     ^~~~~
/usr/include/botan-3/botan/curve25519.h:18:69: note: declared here
   18 | BOTAN_DEPRECATED("Use X25519_PrivateKey") typedef X25519_PrivateKey Curve25519_PrivateKey;
      |                                                                     ^~~~~~~~~~~~~~~~~~~~~
[…]/src/lib/crypto/exdsa_ecdhkem.cpp: In member function ‘Botan::ECDH_PrivateKey ecdh_kem_private_key_t::botan_key_ecdh(rnp::RNG*) const’:
[…]/src/lib/crypto/exdsa_ecdhkem.cpp:74:57: warning: ‘Botan::EC_Group::EC_Group(std::string_view)’ is deprecated: Use EC_Group::from_{name,OID,PEM} [-Wdeprecated-declarations]
   74 |       *(rng->obj()), Botan::EC_Group(ec_desc->botan_name), Botan::BigInt(key_));
      |                                                         ^
In file included from /usr/include/botan-3/botan/ecc_key.h:13,
                 from /usr/include/botan-3/botan/ecdsa.h:13,
                 from […]/src/lib/crypto/exdsa_ecdhkem.h:38:
/usr/include/botan-3/botan/ec_group.h:200:70: note: declared here
  200 |       BOTAN_DEPRECATED("Use EC_Group::from_{name,OID,PEM}") explicit EC_Group(std::string_view pem_or_oid);
      |                                                                      ^~~~~~~~
[…]/src/lib/crypto/exdsa_ecdhkem.cpp:74:79: warning: ‘Botan::ECDH_PrivateKey::ECDH_PrivateKey(Botan::RandomNumberGenerator&, const Botan::EC_Group&, const Botan::BigInt&)’ is deprecated: Use one of the other constructors [-Wdeprecated-declarations]
   74 |       *(rng->obj()), Botan::EC_Group(ec_desc->botan_name), Botan::BigInt(key_));
      |                                                                               ^
In file included from […]/src/lib/crypto/exdsa_ecdhkem.h:39:
/usr/include/botan-3/botan/ecdh.h:110:7: note: declared here
  110 |       ECDH_PrivateKey(RandomNumberGenerator& rng, const EC_Group& group, const BigInt& x) :
      |       ^~~~~~~~~~~~~~~
[…]/src/lib/crypto/exdsa_ecdhkem.cpp: In member function ‘Botan::ECDH_PublicKey ecdh_kem_public_key_t::botan_key_ecdh(rnp::RNG*) const’:
[…]/src/lib/crypto/exdsa_ecdhkem.cpp:83:46: warning: ‘Botan::EC_Group::EC_Group(std::string_view)’ is deprecated: Use EC_Group::from_{name,OID,PEM} [-Wdeprecated-declarations]
   83 |     Botan::EC_Group group(ec_desc->botan_name);
      |                                              ^
/usr/include/botan-3/botan/ec_group.h:200:70: note: declared here
  200 |       BOTAN_DEPRECATED("Use EC_Group::from_{name,OID,PEM}") explicit EC_Group(std::string_view pem_or_oid);
      |                                                                      ^~~~~~~~
[…]/src/lib/crypto/exdsa_ecdhkem.cpp:87:52: warning: ‘Botan::EC_Point Botan::EC_Group::point(const Botan::BigInt&, const Botan::BigInt&) const’ is deprecated: Deprecated - use EC_AffinePoint [-Wdeprecated-declarations]
   87 |     return Botan::ECDH_PublicKey(group, group.point(x, y));
      |                                         ~~~~~~~~~~~^~~~~~
/usr/include/botan-3/botan/ec_group.h:617:68: note: declared here
  617 |       BOTAN_DEPRECATED("Deprecated - use EC_AffinePoint") EC_Point point(const BigInt& x, const BigInt& y) const {
      |                                                                    ^~~~~
[…]/src/lib/crypto/exdsa_ecdhkem.cpp: At global scope:
[…]/src/lib/crypto/exdsa_ecdhkem.cpp:91:44: warning: ‘Botan::Curve25519_PrivateKey’ is deprecated: Use X25519_PrivateKey [-Wdeprecated-declarations]
   91 | ecdh_kem_private_key_t::botan_key_x25519() const
      |                                            ^~~~~
/usr/include/botan-3/botan/curve25519.h:18:69: note: declared here
   18 | BOTAN_DEPRECATED("Use X25519_PrivateKey") typedef X25519_PrivateKey Curve25519_PrivateKey;
      |                                                                     ^~~~~~~~~~~~~~~~~~~~~
[…]/src/lib/crypto/exdsa_ecdhkem.cpp:98:43: warning: ‘Botan::Curve25519_PublicKey’ is deprecated: Use X25519_PublicKey [-Wdeprecated-declarations]
   98 | ecdh_kem_public_key_t::botan_key_x25519() const
      |                                           ^~~~~
/usr/include/botan-3/botan/curve25519.h:17:67: note: declared here
   17 | BOTAN_DEPRECATED("Use X25519_PublicKey") typedef X25519_PublicKey Curve25519_PublicKey;
      |                                                                   ^~~~~~~~~~~~~~~~~~~~
[…]/src/lib/crypto/exdsa_ecdhkem.cpp: In member function ‘rnp_result_t ecdh_kem_public_key_t::encapsulate(rnp::RNG*, std::vector<unsigned char>&, std::vector<unsigned char>&) const’:
[…]/src/lib/crypto/exdsa_ecdhkem.cpp:122:49: warning: ‘Botan::Curve25519_PrivateKey’ is deprecated: Use X25519_PrivateKey [-Wdeprecated-declarations]
  122 |         Botan::Curve25519_PrivateKey eph_prv_key(*(rng->obj()));
      |                                                 ^
/usr/include/botan-3/botan/curve25519.h:18:69: note: declared here
   18 | BOTAN_DEPRECATED("Use X25519_PrivateKey") typedef X25519_PrivateKey Curve25519_PrivateKey;
      |                                                                     ^~~~~~~~~~~~~~~~~~~~~
[…]/src/lib/crypto/exdsa_ecdhkem.cpp:133:62: warning: ‘Botan::EC_Group::EC_Group(std::string_view)’ is deprecated: Use EC_Group::from_{name,OID,PEM} [-Wdeprecated-declarations]
  133 |         Botan::EC_Group         domain(curve_desc->botan_name);
      |                                                              ^
/usr/include/botan-3/botan/ec_group.h:200:70: note: declared here
  200 |       BOTAN_DEPRECATED("Use EC_Group::from_{name,OID,PEM}") explicit EC_Group(std::string_view pem_or_oid);
      |                                                                      ^~~~~~~~
[…]/src/lib/crypto/exdsa_ecdhkem.cpp: In member function ‘rnp_result_t ecdh_kem_private_key_t::decapsulate(rnp::RNG*, const std::vector<unsigned char>&, std::vector<unsigned char>&)’:
[…]/src/lib/crypto/exdsa_ecdhkem.cpp:148:38: warning: ‘Botan::Curve25519_PrivateKey’ is deprecated: Use X25519_PrivateKey [-Wdeprecated-declarations]
  148 |         Botan::Curve25519_PrivateKey priv_key = botan_key_x25519();
      |                                      ^~~~~~~~
/usr/include/botan-3/botan/curve25519.h:18:69: note: declared here
   18 | BOTAN_DEPRECATED("Use X25519_PrivateKey") typedef X25519_PrivateKey Curve25519_PrivateKey;
      |                                                                     ^~~~~~~~~~~~~~~~~~~~~
[…]/src/lib/crypto/exdsa_ecdhkem.cpp: In member function ‘Botan::ECDSA_PrivateKey exdsa_private_key_t::botan_key(rnp::RNG*) const’:
[…]/src/lib/crypto/exdsa_ecdhkem.cpp:216:57: warning: ‘Botan::EC_Group::EC_Group(std::string_view)’ is deprecated: Use EC_Group::from_{name,OID,PEM} [-Wdeprecated-declarations]
  216 |       *(rng->obj()), Botan::EC_Group(ec_desc->botan_name), Botan::BigInt(key_));
      |                                                         ^
/usr/include/botan-3/botan/ec_group.h:200:70: note: declared here
  200 |       BOTAN_DEPRECATED("Use EC_Group::from_{name,OID,PEM}") explicit EC_Group(std::string_view pem_or_oid);
      |                                                                      ^~~~~~~~
[…]/src/lib/crypto/exdsa_ecdhkem.cpp:216:79: warning: ‘Botan::ECDSA_PrivateKey::ECDSA_PrivateKey(Botan::RandomNumberGenerator&, const Botan::EC_Group&, const Botan::BigInt&)’ is deprecated: Use one of the other constructors [-Wdeprecated-declarations]
  216 |       *(rng->obj()), Botan::EC_Group(ec_desc->botan_name), Botan::BigInt(key_));
      |                                                                               ^
/usr/include/botan-3/botan/ecdsa.h:123:7: note: declared here
  123 |       ECDSA_PrivateKey(RandomNumberGenerator& rng, const EC_Group& group, const BigInt& x) :
      |       ^~~~~~~~~~~~~~~~
[…]/src/lib/crypto/exdsa_ecdhkem.cpp: In member function ‘Botan::ECDSA_PublicKey exdsa_public_key_t::botan_key() const’:
[…]/src/lib/crypto/exdsa_ecdhkem.cpp:225:46: warning: ‘Botan::EC_Group::EC_Group(std::string_view)’ is deprecated: Use EC_Group::from_{name,OID,PEM} [-Wdeprecated-declarations]
  225 |     Botan::EC_Group group(ec_desc->botan_name);
      |                                              ^
/usr/include/botan-3/botan/ec_group.h:200:70: note: declared here
  200 |       BOTAN_DEPRECATED("Use EC_Group::from_{name,OID,PEM}") explicit EC_Group(std::string_view pem_or_oid);
      |                                                                      ^~~~~~~~
[…]/src/lib/crypto/exdsa_ecdhkem.cpp:229:53: warning: ‘Botan::EC_Point Botan::EC_Group::point(const Botan::BigInt&, const Botan::BigInt&) const’ is deprecated: Deprecated - use EC_AffinePoint [-Wdeprecated-declarations]
  229 |     return Botan::ECDSA_PublicKey(group, group.point(x, y));
      |                                          ~~~~~~~~~~~^~~~~~
/usr/include/botan-3/botan/ec_group.h:617:68: note: declared here
  617 |       BOTAN_DEPRECATED("Deprecated - use EC_AffinePoint") EC_Point point(const BigInt& x, const BigInt& y) const {
      |                                                                    ^~~~~
[ 38%] Building CXX object src/lib/CMakeFiles/librnp-obj.dir/sig_material.cpp.o
cd […]/build/src/lib && /usr/bin/c++ -D_GNU_SOURCE -Dlibrnp_EXPORTS -I[…]/build/src/lib -I[…]/src/common -I[…]/include -I[…]/src/lib -I[…]/src -isystem /usr/include/json-c -isystem /usr/include/botan-3 -g -O2 -ffile-prefix-map=[…]=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DS2K_MINIMUM_TUNING_RATIO=4 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++20 -fPIC -fvisibility=hidden -Wall -Wextra -Wunreachable-code -Wpointer-arith -Wmissing-declarations -Wno-pedantic -Wno-ignored-qualifiers -Wno-unused-parameter -Wno-missing-field-initializers -MD -MT src/lib/CMakeFiles/librnp-obj.dir/sig_material.cpp.o -MF CMakeFiles/librnp-obj.dir/sig_material.cpp.o.d -o CMakeFiles/librnp-obj.dir/sig_material.cpp.o -c […]/src/lib/sig_material.cpp
[…]/src/lib/crypto/hkdf_botan.cpp: In member function ‘virtual void rnp::Hkdf_Botan::extract_expand(const uint8_t*, size_t, const uint8_t*, size_t, const uint8_t*, size_t, uint8_t*, size_t)’:
[…]/src/lib/crypto/hkdf_botan.cpp:65:26: warning: ‘T Botan::KDF::derive_key(std::size_t, const uint8_t*, std::size_t, const uint8_t*, std::size_t, const uint8_t*, std::size_t) const [with T = std::vector<unsigned char, Botan::secure_allocator<unsigned char> >; std::size_t = long unsigned int; uint8_t = unsigned char]’ is deprecated: Use std::span or std::string_view overloads [-Wdeprecated-declarations]
   65 |     OKM = kdf->derive_key(output_length, ikm, ikm_len, salt, salt_len, info, info_len);
      |           ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from […]/src/lib/crypto/x25519.cpp:30:
[…]/src/lib/crypto/exdsa_ecdhkem.h:95:52: warning: ‘Botan::Curve25519_PublicKey’ is deprecated: Use X25519_PublicKey [-Wdeprecated-declarations]
   95 |     Botan::Curve25519_PublicKey botan_key_x25519() const;
      |                                                    ^~~~~
In file included from […]/src/lib/crypto/hkdf_botan.hpp:35,
                 from […]/src/lib/crypto/hkdf_botan.cpp:31:
/usr/include/botan-3/botan/kdf.h:91:9: note: declared here
   91 |       T derive_key(size_t key_len,
      |         ^~~~~~~~~~
In file included from […]/src/lib/crypto/x25519.cpp:28:
/usr/include/botan-3/botan/curve25519.h:17:67: note: declared here
   17 | BOTAN_DEPRECATED("Use X25519_PublicKey") typedef X25519_PublicKey Curve25519_PublicKey;
      |                                                                   ^~~~~~~~~~~~~~~~~~~~
[…]/src/lib/crypto/exdsa_ecdhkem.h:122:53: warning: ‘Botan::Curve25519_PrivateKey’ is deprecated: Use X25519_PrivateKey [-Wdeprecated-declarations]
  122 |     Botan::Curve25519_PrivateKey botan_key_x25519() const;
      |                                                     ^~~~~
/usr/include/botan-3/botan/curve25519.h:18:69: note: declared here
   18 | BOTAN_DEPRECATED("Use X25519_PrivateKey") typedef X25519_PrivateKey Curve25519_PrivateKey;
      |                                                                     ^~~~~~~~~~~~~~~~~~~~~
[…]/src/lib/crypto/x25519.cpp: In function ‘rnp_result_t x25519_validate_key_native(rnp::RNG*, const pgp_x25519_key_t*, bool)’:
[…]/src/lib/crypto/x25519.cpp:158:41: warning: ‘Botan::Curve25519_PublicKey’ is deprecated: Use X25519_PublicKey [-Wdeprecated-declarations]
  158 |     Botan::Curve25519_PublicKey pub_key(key->priv);
      |                                         ^~~
/usr/include/botan-3/botan/curve25519.h:17:67: note: declared here
   17 | BOTAN_DEPRECATED("Use X25519_PublicKey") typedef X25519_PublicKey Curve25519_PublicKey;
      |                                                                   ^~~~~~~~~~~~~~~~~~~~
[…]/src/lib/crypto/x25519.cpp:163:41: warning: ‘Botan::Curve25519_PrivateKey’ is deprecated: Use X25519_PrivateKey [-Wdeprecated-declarations]
  163 |           Botan::secure_vector<uint8_t>(key->priv.begin(), key->priv.end()));
      |                                         ^~~
/usr/include/botan-3/botan/curve25519.h:18:69: note: declared here
   18 | BOTAN_DEPRECATED("Use X25519_PrivateKey") typedef X25519_PrivateKey Curve25519_PrivateKey;
      |                                                                     ^~~~~~~~~~~~~~~~~~~~~
[…]/src/lib/crypto/x25519.cpp: In function ‘rnp_result_t generate_x25519_native(rnp::RNG*, std::vector<unsigned char>&, std::vector<unsigned char>&)’:
[…]/src/lib/crypto/x25519.cpp:180:42: warning: ‘Botan::Curve25519_PrivateKey’ is deprecated: Use X25519_PrivateKey [-Wdeprecated-declarations]
  180 |     Botan::Curve25519_PrivateKey priv_key(*(rng->obj()));
      |                                          ^
/usr/include/botan-3/botan/curve25519.h:18:69: note: declared here
   18 | BOTAN_DEPRECATED("Use X25519_PrivateKey") typedef X25519_PrivateKey Curve25519_PrivateKey;
      |                                                                     ^~~~~~~~~~~~~~~~~~~~~

It would be good to move to the newer Botan API so that these warnings don't flood out other warning messages.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions