9#include <userver/crypto/basic_types.hpp>
10#include <userver/utils/strong_typedef.hpp>
12USERVER_NAMESPACE_BEGIN
23 using NativeType = EVP_PKEY;
38 PublicKey() =
default;
40 NativeType* GetNative()
const noexcept {
return pkey_.get(); }
41 explicit operator
bool()
const noexcept {
return !!pkey_; }
59 ExponentView exponent);
68 explicit PublicKey(std::shared_ptr<NativeType> pkey)
69 : pkey_(std::move(pkey)) {}
71 std::shared_ptr<NativeType> pkey_;