1
#pragma once
2

            
3
#include "envoy/extensions/transport_sockets/tls/v3/cert.pb.h"
4
#include "envoy/ssl/private_key/private_key.h"
5
#include "envoy/ssl/private_key/private_key_config.h"
6

            
7
namespace Envoy {
8
namespace Extensions {
9
namespace TransportSockets {
10
namespace Tls {
11

            
12
class PrivateKeyMethodManagerImpl : public virtual Ssl::PrivateKeyMethodManager {
13
public:
14
  // Ssl::PrivateKeyMethodManager
15
  Ssl::PrivateKeyMethodProviderSharedPtr createPrivateKeyMethodProvider(
16
      const envoy::extensions::transport_sockets::tls::v3::PrivateKeyProvider& config,
17
      Server::Configuration::TransportSocketFactoryContext& factory_context) override;
18
};
19

            
20
} // namespace Tls
21
} // namespace TransportSockets
22
} // namespace Extensions
23
} // namespace Envoy