8#ifndef BOTAN_CREDENTIALS_MANAGER_H_
9#define BOTAN_CREDENTIALS_MANAGER_H_
11#include <botan/symkey.h>
12#include <botan/tls_magic.h>
54 const std::string& context);
78 const std::vector<std::string>& cert_key_types,
79 const std::vector<AlgorithmIdentifier>& cert_signature_schemes,
80 const std::vector<X509_DN>& acceptable_CAs,
81 const std::string& type,
82 const std::string& context);
97 virtual std::shared_ptr<Public_Key>
find_raw_public_key(
const std::vector<std::string>& key_types,
98 const std::string& type,
99 const std::string& context);
123 const std::
string& type,
124 const std::
string& context);
154 const std::
string& cert_key_type,
156 const std::
string& type,
157 const std::
string& context);
171 const std::
string& type,
172 const std::
string& context);
183 const std::
string& type,
184 const std::
string& context);
214 virtual std::
string psk_identity_hint(const std::
string& type, const std::
string& context);
226 virtual std::
string psk_identity(const std::
string& type,
227 const std::
string& context,
228 const std::
string& identity_hint);
252 virtual
SymmetricKey psk(const std::
string& type, const std::
string& context, const std::
string& identity);
278 TLS::Connection_Side whoami,
279 const std::vector<std::
string>& identities = {},
280 const std::optional<std::string>& prf = std::nullopt);
306 virtual std::optional<TLS::ExternalPSK> choose_preshared_key(
307 std::string_view host,
309 const std::vector<std::string>& identities,
310 const std::optional<std::string>& prf = std::nullopt);
#define BOTAN_PUBLIC_API(maj, min)
#define BOTAN_DEPRECATED(msg)
virtual secure_vector< uint8_t > dtls_cookie_secret()
virtual std::vector< TLS::ExternalPSK > find_preshared_keys(std::string_view host, TLS::Connection_Side whoami, const std::vector< std::string > &identities={}, const std::optional< std::string > &prf=std::nullopt)
virtual std::vector< X509_Certificate > cert_chain(const std::vector< std::string > &cert_key_types, const std::vector< AlgorithmIdentifier > &cert_signature_schemes, const std::string &type, const std::string &context)
virtual std::string psk_identity(const std::string &type, const std::string &context, const std::string &identity_hint)
virtual std::string psk_identity_hint(const std::string &type, const std::string &context)
virtual ~Credentials_Manager()=default
virtual std::vector< Certificate_Store * > trusted_certificate_authorities(const std::string &type, const std::string &context)
virtual std::vector< X509_Certificate > find_cert_chain(const std::vector< std::string > &cert_key_types, const std::vector< AlgorithmIdentifier > &cert_signature_schemes, const std::vector< X509_DN > &acceptable_CAs, const std::string &type, const std::string &context)
virtual std::shared_ptr< Public_Key > find_raw_public_key(const std::vector< std::string > &key_types, const std::string &type, const std::string &context)
virtual SymmetricKey psk(const std::string &type, const std::string &context, const std::string &identity)
virtual std::shared_ptr< Private_Key > private_key_for(const X509_Certificate &cert, const std::string &type, const std::string &context)
virtual secure_vector< uint8_t > session_ticket_key()
std::vector< X509_Certificate > cert_chain_single_type(const std::string &cert_key_type, const std::vector< AlgorithmIdentifier > &cert_signature_schemes, const std::string &type, const std::string &context)
std::vector< T, secure_allocator< T > > secure_vector