8#include <botan/credentials_manager.h>
10#include <botan/pkix_types.h>
11#include <botan/internal/fmt.h>
21 const std::string& ) {
26 const std::string& context,
27 const std::string& identity) {
29 if(type ==
"tls-client") {
31 }
else if(type ==
"tls-server") {
55 return SymmetricKey(psks.front().extract_master_secret());
64 const std::vector<std::string>& ,
65 const std::optional<std::string>& ) {
71 const std::vector<std::string>& identities,
72 const std::optional<std::string>& prf) {
77 return std::move(psks.front());
82 const std::vector<std::string>& key_types,
83 const std::vector<AlgorithmIdentifier>& cert_signature_schemes,
84 const std::vector<X509_DN>& ,
85 const std::string& type,
86 const std::string& context) {
87 return cert_chain(key_types, cert_signature_schemes, type, context);
92 const std::string& ) {
97 const std::vector<AlgorithmIdentifier>& ,
99 const std::string& ) {
100 return std::vector<X509_Certificate>();
104 const std::string& cert_key_type,
105 const std::vector<AlgorithmIdentifier>& cert_signature_schemes,
106 const std::string& type,
107 const std::string& context) {
108 return find_cert_chain({cert_key_type}, cert_signature_schemes, std::vector<X509_DN>(), type, context);
113 const std::string& ) {
119 const std::string& ) {
132 const std::string& ) {
133 return std::vector<Certificate_Store*>();
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 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::optional< TLS::ExternalPSK > choose_preshared_key(std::string_view host, TLS::Connection_Side whoami, const std::vector< std::string > &identities, const std::optional< std::string > &prf=std::nullopt)
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::string fmt(std::string_view format, const T &... args)
std::vector< T, secure_allocator< T > > secure_vector