19 #ifndef GRPCPP_SECURITY_SERVER_CREDENTIALS_H
20 #define GRPCPP_SECURITY_SERVER_CREDENTIALS_H
35 class ServerCredentials;
36 class SecureServerCredentials;
63 namespace experimental {
66 const std::shared_ptr<ServerCredentials>& fallback_credentials);
78 const std::shared_ptr<grpc::AuthMetadataProcessor>& processor) = 0;
86 friend std::shared_ptr<ServerCredentials>
88 const std::shared_ptr<ServerCredentials>& fallback_credentials);
95 virtual int AddPortToServer(
const std::string& addr,
grpc_server* server) = 0;
100 virtual bool IsInsecure()
const {
return false; }
104 virtual SecureServerCredentials* AsSecureServerCredentials() {
115 namespace experimental {
Classes that require gRPC to be initialized should inherit from this class.
Definition: grpc_library.h:38
Wrapper around grpc_server_credentials, a way to authenticate a server.
Definition: server_credentials.h:70
~ServerCredentials() override
virtual void SetAuthMetadataProcessor(const std::shared_ptr< grpc::AuthMetadataProcessor > &processor)=0
This method is not thread-safe and has to be called before the server is started.
Represents a gRPC server.
Definition: server.h:59
Definition: tls_credentials_options.h:224
grpc_ssl_client_certificate_request_type
Definition: grpc_security_constants.h:77
@ GRPC_SSL_DONT_REQUEST_CLIENT_CERTIFICATE
Server does not request client certificate.
Definition: grpc_security_constants.h:82
grpc_local_connect_type
Type of local connections for which local channel/server credentials will be applied.
Definition: grpc_security_constants.h:155
struct grpc_server grpc_server
A server listens to some port and responds to request calls.
Definition: grpc_types.h:65
std::shared_ptr< ServerCredentials > LocalServerCredentials(grpc_local_connect_type type)
std::shared_ptr< ServerCredentials > XdsServerCredentials(const std::shared_ptr< ServerCredentials > &fallback_credentials)
Builds Xds ServerCredentials given fallback credentials.
std::shared_ptr< ServerCredentials > AltsServerCredentials(const AltsServerCredentialsOptions &options)
Builds ALTS ServerCredentials given ALTS specific options.
std::shared_ptr< ServerCredentials > TlsServerCredentials(const experimental::TlsServerCredentialsOptions &options)
Builds TLS ServerCredentials given TLS options.
An Alarm posts the user-provided tag to its associated completion queue or invokes the user-provided ...
Definition: alarm.h:33
std::shared_ptr< ServerCredentials > SslServerCredentials(const grpc::SslServerCredentialsOptions &options)
Builds SSL ServerCredentials given SSL specific options.
std::shared_ptr< ServerCredentials > InsecureServerCredentials()
Definition: server_credentials.h:47
std::string cert_chain
Definition: server_credentials.h:49
std::string private_key
Definition: server_credentials.h:48
Options to create ServerCredentials with SSL.
Definition: server_credentials.h:38
SslServerCredentialsOptions(grpc_ssl_client_certificate_request_type request_type)
Definition: server_credentials.h:43
std::vector< PemKeyCertPair > pem_key_cert_pairs
Definition: server_credentials.h:52
grpc_ssl_client_certificate_request_type client_certificate_request
If both force_client_auth and client_certificate_request fields are set, force_client_auth takes effe...
Definition: server_credentials.h:60
bool force_client_auth
Definition: server_credentials.h:54
std::string pem_root_certs
Definition: server_credentials.h:51
SslServerCredentialsOptions()
Definition: server_credentials.h:40
Options to create ServerCredentials with ALTS.
Definition: server_credentials.h:118