diff options
author | Florent Le Coz <louiz@louiz.org> | 2015-11-02 03:26:13 +0100 |
---|---|---|
committer | Florent Le Coz <louiz@louiz.org> | 2015-11-02 03:26:13 +0100 |
commit | f928f7627247ceaafcf3538066ac17609b652aac (patch) | |
tree | 4f5740fb8150876a9eaad16c2339f3a338899ebf /louloulibs/network/credentials_manager.hpp | |
parent | 7e07a17420117758ca319b5beab6440ff1d634f7 (diff) | |
download | biboumi-f928f7627247ceaafcf3538066ac17609b652aac.tar.gz biboumi-f928f7627247ceaafcf3538066ac17609b652aac.tar.bz2 biboumi-f928f7627247ceaafcf3538066ac17609b652aac.tar.xz biboumi-f928f7627247ceaafcf3538066ac17609b652aac.zip |
Verify the remote TLS certificates using the system-wide trusted CAs
Diffstat (limited to 'louloulibs/network/credentials_manager.hpp')
-rw-r--r-- | louloulibs/network/credentials_manager.hpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/louloulibs/network/credentials_manager.hpp b/louloulibs/network/credentials_manager.hpp new file mode 100644 index 0000000..ea89eca --- /dev/null +++ b/louloulibs/network/credentials_manager.hpp @@ -0,0 +1,22 @@ +#ifndef BIBOUMI_CREDENTIALS_MANAGER_HPP +#define BIBOUMI_CREDENTIALS_MANAGER_HPP + +#include <botan/botan.h> +#include <botan/tls_client.h> + +class Basic_Credentials_Manager: public Botan::Credentials_Manager +{ +public: + Basic_Credentials_Manager(); + void verify_certificate_chain(const std::string& type, + const std::string& purported_hostname, + const std::vector<Botan::X509_Certificate>&) override final; + std::vector<Botan::Certificate_Store*> trusted_certificate_authorities(const std::string& type, + const std::string& context) override final; + +private: + void load_certs(); + Botan::Certificate_Store_In_Memory certificate_store; +}; + +#endif //BIBOUMI_CREDENTIALS_MANAGER_HPP |