19 #ifndef MIR_COOKIE_COOKIE_FACTORY_H_
20 #define MIR_COOKIE_COOKIE_FACTORY_H_
113 #endif // MIR_COOKIE_COOKIE_FACTORY_H_
All things Mir.
Definition: atomic_callback.h:25
virtual MirCookie timestamp_to_cookie(uint64_t const ×tamp)=0
Turns a timestamp into a MAC and returns a MirCookie.
static size_t optimal_secret_size()
Optimal size for the provided Secret.
Definition: cookie_factory.cpp:145
virtual bool attest_timestamp(MirCookie const &cookie)=0
Checks that a MirCookie is a valid MirCookie.
A source of moderately-difficult-to-spoof cookies.
Definition: cookie_factory.h:44
virtual ~CookieFactory() noexcept=default
static std::unique_ptr< CookieFactory > create_saving_secret(Secret &save_secret)
Construction function used to create a CookieFactory as well as a secret.
Definition: cookie_factory.cpp:158
CookieFactory & operator=(CookieFactory const &factory)=delete
static unsigned const minimum_secret_size
Absolute minimum size of secret key the CookieFactory will accept.
Definition: cookie_factory.h:106
static std::unique_ptr< CookieFactory > create_from_secret(Secret const &secret)
Construction function used to create a CookieFactory.
Definition: cookie_factory.cpp:153
std::vector< uint8_t > Secret
Definition: cookie_factory.h:31
static std::unique_ptr< CookieFactory > create_keeping_secret()
Construction function used to create a CookieFactory and a secret which it keeps internally.
Definition: cookie_factory.cpp:164