19 #ifndef GRPC_CORE_LIB_SECURITY_CREDENTIALS_TLS_GRPC_TLS_CREDENTIALS_OPTIONS_H
20 #define GRPC_CORE_LIB_SECURITY_CREDENTIALS_TLS_GRPC_TLS_CREDENTIALS_OPTIONS_H
26 #include "absl/container/inlined_vector.h"
38 error_details_ = err_details;
43 std::string error_details_;
51 const void* config_user_data,
52 int (*schedule)(
void* config_user_data,
54 void (*cancel)(
void* config_user_data,
56 void (*destruct)(
void* config_user_data));
59 void*
context()
const {
return context_; }
72 void* context_ =
nullptr;
75 void* config_user_data_;
86 int (*schedule_)(
void* config_user_data,
90 void (*cancel_)(
void* config_user_data,
95 void (*destruct_)(
void* config_user_data);
108 return cert_request_type_;
111 return server_verification_option_;
117 return server_authorization_check_config_.
get();
132 cert_request_type_ =
type;
147 server_authorization_check_config_ = std::move(
config);
152 provider_ = std::move(provider);
185 server_authorization_check_config_;
187 bool watch_root_cert_ =
false;
188 std::string root_cert_name_;
189 bool watch_identity_pair_ =
false;
190 std::string identity_cert_name_;
Definition: ref_counted.h:282
T * get() const
Definition: ref_counted_ptr.h:147
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_tls_server_verification_option
Definition: grpc_security_constants.h:137
@ GRPC_TLS_SERVER_VERIFICATION
Default option: performs server certificate verification and hostname verification.
Definition: grpc_security_constants.h:140
grpc_tls_version
The TLS versions that are supported by the SSL stack.
Definition: grpc_security_constants.h:158
@ TLS1_2
Definition: grpc_security_constants.h:158
@ TLS1_3
Definition: grpc_security_constants.h:158
RefCountedPtr< LoadBalancingPolicy::Config > config
Definition: priority.cc:60
Definition: grpc_tls_certificate_distributor.h:37
virtual grpc_core::RefCountedPtr< grpc_tls_certificate_distributor > distributor() const =0
Definition: grpc_tls_credentials_options.h:102
grpc_tls_server_verification_option server_verification_option() const
Definition: grpc_tls_credentials_options.h:110
void set_server_authorization_check_config(grpc_core::RefCountedPtr< grpc_tls_server_authorization_check_config > config)
Definition: grpc_tls_credentials_options.h:144
void set_root_cert_name(std::string root_cert_name)
Definition: grpc_tls_credentials_options.h:161
grpc_ssl_client_certificate_request_type cert_request_type() const
Definition: grpc_tls_credentials_options.h:107
void set_server_verification_option(const grpc_tls_server_verification_option server_verification_option)
Definition: grpc_tls_credentials_options.h:134
void set_max_tls_version(grpc_tls_version max_tls_version)
Definition: grpc_tls_credentials_options.h:141
bool watch_identity_pair()
Definition: grpc_tls_credentials_options.h:126
grpc_tls_version min_tls_version() const
Definition: grpc_tls_credentials_options.h:113
void set_cert_request_type(const grpc_ssl_client_certificate_request_type type)
Definition: grpc_tls_credentials_options.h:130
grpc_tls_server_authorization_check_config * server_authorization_check_config() const
Definition: grpc_tls_credentials_options.h:116
~grpc_tls_credentials_options() override=default
void set_watch_root_cert(bool watch)
Definition: grpc_tls_credentials_options.h:158
grpc_tls_certificate_distributor * certificate_distributor()
Definition: grpc_tls_credentials_options.h:120
grpc_tls_version max_tls_version() const
Definition: grpc_tls_credentials_options.h:114
void set_certificate_provider(grpc_core::RefCountedPtr< grpc_tls_certificate_provider > provider)
Definition: grpc_tls_credentials_options.h:150
const std::string & root_cert_name()
Definition: grpc_tls_credentials_options.h:125
const std::string & identity_cert_name()
Definition: grpc_tls_credentials_options.h:127
bool watch_root_cert()
Definition: grpc_tls_credentials_options.h:124
void set_identity_cert_name(std::string identity_cert_name)
Definition: grpc_tls_credentials_options.h:173
void set_min_tls_version(grpc_tls_version min_tls_version)
Definition: grpc_tls_credentials_options.h:138
void set_watch_identity_pair(bool watch)
Definition: grpc_tls_credentials_options.h:169
Definition: grpc_tls_credentials_options.h:34
grpc_tls_error_details()
Definition: grpc_tls_credentials_options.h:36
void set_error_details(const char *err_details)
Definition: grpc_tls_credentials_options.h:37
const std::string & error_details()
Definition: grpc_tls_credentials_options.h:40
A struct containing all information necessary to schedule/cancel a server authorization check request...
Definition: grpc_security.h:972
TLS server authorization check config.
Definition: grpc_tls_credentials_options.h:48
void * context() const
Definition: grpc_tls_credentials_options.h:59
void Cancel(grpc_tls_server_authorization_check_arg *arg) const
Definition: grpc_tls_credentials_options.cc:70
int Schedule(grpc_tls_server_authorization_check_arg *arg) const
Definition: grpc_tls_credentials_options.cc:53
~grpc_tls_server_authorization_check_config() override
Definition: grpc_tls_credentials_options.cc:47
grpc_tls_server_authorization_check_config(const void *config_user_data, int(*schedule)(void *config_user_data, grpc_tls_server_authorization_check_arg *arg), void(*cancel)(void *config_user_data, grpc_tls_server_authorization_check_arg *arg), void(*destruct)(void *config_user_data))
– gRPC TLS server authorization check API implementation.
Definition: grpc_tls_credentials_options.cc:34
void set_context(void *context)
Definition: grpc_tls_credentials_options.h:61
DiscoveryMechanismType type
Definition: xds_cluster_resolver.cc:73