Line data Source code
1 : #pragma once 2 : 3 : #include "envoy/common/crypto/crypto.h" 4 : 5 : #include "openssl/base.h" 6 : #include "openssl/evp.h" 7 : 8 : namespace Envoy { 9 : namespace Common { 10 : namespace Crypto { 11 : 12 : class PublicKeyObject : public Envoy::Common::Crypto::CryptoObject { 13 : public: 14 : PublicKeyObject() = default; 15 183 : PublicKeyObject(EVP_PKEY* pkey) : pkey_(pkey) {} 16 : PublicKeyObject(const PublicKeyObject& pkey_wrapper); 17 : EVP_PKEY* getEVP_PKEY() const; 18 : void setEVP_PKEY(EVP_PKEY* pkey); 19 : 20 : private: 21 : bssl::UniquePtr<EVP_PKEY> pkey_; 22 : }; 23 : 24 : } // namespace Crypto 25 : } // namespace Common 26 : } // namespace Envoy