Line data Source code
1 : #include "source/extensions/transport_sockets/tls/config.h" 2 : 3 : #include "envoy/extensions/transport_sockets/tls/v3/cert.pb.h" 4 : #include "envoy/extensions/transport_sockets/tls/v3/tls.pb.validate.h" 5 : 6 : #include "source/common/protobuf/utility.h" 7 : #include "source/extensions/transport_sockets/tls/context_config_impl.h" 8 : #include "source/extensions/transport_sockets/tls/ssl_socket.h" 9 : 10 : namespace Envoy { 11 : namespace Extensions { 12 : namespace TransportSockets { 13 : namespace Tls { 14 : 15 : Network::UpstreamTransportSocketFactoryPtr UpstreamSslSocketFactory::createTransportSocketFactory( 16 : const Protobuf::Message& message, 17 0 : Server::Configuration::TransportSocketFactoryContext& context) { 18 0 : auto client_config = std::make_unique<ClientContextConfigImpl>( 19 0 : MessageUtil::downcastAndValidate< 20 0 : const envoy::extensions::transport_sockets::tls::v3::UpstreamTlsContext&>( 21 0 : message, context.messageValidationVisitor()), 22 0 : context); 23 0 : return std::make_unique<ClientSslSocketFactory>( 24 0 : std::move(client_config), context.sslContextManager(), context.statsScope()); 25 0 : } 26 : 27 24 : ProtobufTypes::MessagePtr UpstreamSslSocketFactory::createEmptyConfigProto() { 28 24 : return std::make_unique<envoy::extensions::transport_sockets::tls::v3::UpstreamTlsContext>(); 29 24 : } 30 : 31 : LEGACY_REGISTER_FACTORY(UpstreamSslSocketFactory, 32 : Server::Configuration::UpstreamTransportSocketConfigFactory, "tls"); 33 : 34 : Network::DownstreamTransportSocketFactoryPtr 35 : DownstreamSslSocketFactory::createTransportSocketFactory( 36 : const Protobuf::Message& message, Server::Configuration::TransportSocketFactoryContext& context, 37 0 : const std::vector<std::string>& server_names) { 38 0 : auto server_config = std::make_unique<ServerContextConfigImpl>( 39 0 : MessageUtil::downcastAndValidate< 40 0 : const envoy::extensions::transport_sockets::tls::v3::DownstreamTlsContext&>( 41 0 : message, context.messageValidationVisitor()), 42 0 : context); 43 0 : return std::make_unique<ServerSslSocketFactory>( 44 0 : std::move(server_config), context.sslContextManager(), context.statsScope(), server_names); 45 0 : } 46 : 47 24 : ProtobufTypes::MessagePtr DownstreamSslSocketFactory::createEmptyConfigProto() { 48 24 : return std::make_unique<envoy::extensions::transport_sockets::tls::v3::DownstreamTlsContext>(); 49 24 : } 50 : 51 : LEGACY_REGISTER_FACTORY(DownstreamSslSocketFactory, 52 : Server::Configuration::DownstreamTransportSocketConfigFactory, "tls"); 53 : 54 131 : Ssl::ContextManagerPtr SslContextManagerFactory::createContextManager(TimeSource& time_source) { 55 131 : return std::make_unique<ContextManagerImpl>(time_source); 56 131 : } 57 : 58 : static Envoy::Registry::RegisterInternalFactory<SslContextManagerFactory, 59 : Ssl::ContextManagerFactory> 60 : ssl_manager_registered; 61 : 62 : } // namespace Tls 63 : } // namespace TransportSockets 64 : } // namespace Extensions 65 : } // namespace Envoy