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, std::string_view raw_signature)
const = 0;
38 void Verify(std::initializer_list<std::string_view> data, std::string_view raw_signature)
const override;
47 ~HmacShaVerifier()
override;
50 void Verify(std::initializer_list<std::string_view> data, std::string_view raw_signature)
const override;
58using VerifierHs1 = HmacShaVerifier<
DigestSize::k160>;
59using VerifierHs256 = HmacShaVerifier<
DigestSize::k256>;
60using VerifierHs384 = HmacShaVerifier<
DigestSize::k384>;
61using VerifierHs512 = HmacShaVerifier<
DigestSize::k512>;
75 void Verify(std::initializer_list<std::string_view> data, std::string_view raw_signature)
const override;
81 void VerifyDigest(std::string_view digest, std::string_view raw_signature)
const;
125 enum class InForm { kDer, kPem, kSMime };
130 ~CmsVerifier()
override;