7#include <initializer_list>
12#include <userver/crypto/basic_types.hpp>
13#include <userver/crypto/certificate.hpp>
14#include <userver/crypto/exception.hpp>
15#include <userver/crypto/public_key.hpp>
16#include <userver/utils/flags.hpp>
18USERVER_NAMESPACE_BEGIN
25 explicit Verifier(
const std::string& name);
29 virtual void Verify(std::initializer_list<std::string_view> data,
30 std::string_view raw_signature)
const = 0;
39 void Verify(std::initializer_list<std::string_view> data,
40 std::string_view raw_signature)
const override;
49 ~HmacShaVerifier()
override;
52 void Verify(std::initializer_list<std::string_view> data,
53 std::string_view raw_signature)
const override;
61using VerifierHs1 = HmacShaVerifier<
DigestSize::k160>;
62using VerifierHs256 = HmacShaVerifier<
DigestSize::k256>;
63using VerifierHs384 = HmacShaVerifier<
DigestSize::k384>;
64using VerifierHs512 = HmacShaVerifier<
DigestSize::k512>;
78 void Verify(std::initializer_list<std::string_view> data,
79 std::string_view raw_signature)
const override;
86 std::string_view raw_signature)
const;
130 enum class InForm { kDer, kPem, kSMime };
135 ~CmsVerifier()
override;
138 void Verify(std::initializer_list<std::string_view> data,